{"info":{"_postman_id":"b3cbddbd-6c11-4452-8e3f-07fd4418eedc","name":"Paysecure API Documentation - Live","description":"<html><head></head><body><h1 id=\"overview\">Overview</h1>\n<hr>\n<p>Paysecure 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 Paysecure but if you have any questions, please do not hesitate to reach out to us via email at <a href=\"mailto:info@paysecure.net\">info@paysecure.net</a></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://\">https://api.paysecure.net/api/v1</a></td>\n</tr>\n<tr>\n<td>Sandbox</td>\n<td><a href=\"https://\">https://api.paysecure.net/api/v1</a>  <br><code>Note: set the Sandbox flag true (checked) in your merchant account. As shown in the image below</code></td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"authentication\">Authentication</h1>\n<hr>\n<p>To access the API, you must acquire your unique API key from the merchant dashboard -&gt; API Keys section in your account. Make sure to use this key as a <strong>bearer token</strong> in the Authorization header for every request you send.</p>\n<p><code>AUTHORIZATION: Bearer Token</code></p>\n<p><code>Token: {{APIKey}} .</code></p>\n<p>Access your sandbox API key credentials by navigating to your merchant login and checking the 'is sandbox' option, located in the top right corner under merchant profile.</p>\n<img src=\"https://content.pstmn.io/dfe64a66-8699-45c8-9f10-b00f7df380b7/U2NyZWVuc2hvdCAyMDIzLTA5LTE1IGF0IDE2LjU2LjQyLnBuZw==\">\n\n<p>To get to the live API key, uncheck the <strong>'Is Sandbox'</strong> option in the top right corner of your merchant dashboard. After unchecking, the page will refresh, and you can generate an API key for live transactions in this environment.\"</p>\n<img src=\"https://content.pstmn.io/afa2574d-8438-4a63-9b29-81feb0f755e5/U2NyZWVuc2hvdCAyMDIzLTA5LTE1IGF0IDE3LjE0LjI4LnBuZw==\">\n\n<p>Reiterating, the API keys in Sandbox mode are for testing (when 'is sandbox' is CHECKED in the top right corner under merchant profile). The live API key credentials are for processing actual card transactions in Live mode (when 'is sandbox' is UNCHECKED in the same location)</p>\n<h1 id=\"request-headers\">Request Headers</h1>\n<hr>\n<p>Use these headers on every API call unless noted.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Required</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Content-Type</code></td>\n<td><code>application/json</code></td>\n<td>Yes</td>\n<td>All endpoints. Send JSON payloads.</td>\n</tr>\n<tr>\n<td><code>Authorization</code></td>\n<td><code>Bearer {MERCHANT_API_KEY}</code></td>\n<td>Yes</td>\n<td>All endpoints.  <br>Replace with your merchant API key.</td>\n</tr>\n<tr>\n<td><code>BrandId</code></td>\n<td><code>{YOUR_BRAND_ID}</code></td>\n<td>Conditional</td>\n<td><strong>Session</strong> and <strong>Customer</strong>APIs.  <br>optional in customer APIs but Mandatory in Session APIs</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"},{"content":"Authentication","slug":"authentication"},{"content":"Request Headers","slug":"request-headers"}],"owner":"48350069","collectionId":"b3cbddbd-6c11-4452-8e3f-07fd4418eedc","publishedId":"2sBY4VJcdT","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"5223BC"},"publishDate":"2026-08-06T06:51:21.000Z"},"item":[{"name":"⚙️ Integration Steps","item":[],"id":"b81b7d5e-d4a8-48a1-ac5c-048c30aea8c7","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-details\">1. Setup &amp; check merchant details</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 Account Manager.</p>\n<p>Start with sandbox mode (see top right-hand corner on your merchant portal to toggle between modes) and generate API Key, Brand ID and Public Key and also set up the callback URLs for subscribing to webhooks.</p>\n<ol>\n<li><p><strong>API Key</strong> - necessary to send transactions via API</p>\n</li>\n<li><p><strong>Brand ID</strong> - needed to send transaction. Use different brand IDs for different shops or brands.</p>\n</li>\n<li><p><strong>Public Key -</strong> needed to signature verification received in headers of the webhook</p>\n</li>\n<li><p><strong>Webhook</strong> - 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 sandbox environment.</p>\n<p>Test cards and Testing simulators can be found at the end of this document.</p>\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, set up your production environment by turning off the sandbox mode from merchant dashboard and following the same steps mentioned in step one. Test the integration using small amounts to ensure everything is working.</p>\n<h1 id=\"4-go-live\">4. Go live!</h1>\n<p>Inform your Account Manager when the setup is done to get started with processing live traffic.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"a5e33c7d-52dd-4538-a5bb-9c3cabd2dd4e"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"825e6242-95df-450f-9fa7-8c7b1a26fd86"}}],"_postman_id":"b81b7d5e-d4a8-48a1-ac5c-048c30aea8c7"},{"name":"🔌 Webhooks","item":[{"name":"PayIn","item":[],"id":"99961dcb-0f63-457f-a1b2-e9bdf48a5e5b","description":"<h2 id=\"overview\"><strong>Overview</strong></h2>\n<p>When a transaction status changes to a terminal state (e.g., paid, refunded, expired), our payment gateway sends a server-to-server POST callback to the merchant's configured Webhook URL.</p>\n<p>The callback includes full transaction details so the merchant can update order status in real time.</p>\n<h3 id=\"webhook-events-for-payins\"><strong>Webhook Events for Payins</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Event type</strong></th>\n<th><strong>Status</strong></th>\n<th><strong>When is the event triggered</strong></th>\n<th><strong>Is this a terminal event?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>purchase created</strong></td>\n<td><code>created</code></td>\n<td>Triggered when a new purchase request is initialized and recorded in the system.</td>\n<td>❌ No</td>\n</tr>\n<tr>\n<td><strong>payment in process</strong></td>\n<td><code>payment_in_process</code></td>\n<td>Triggered when the payment is initiated and awaiting confirmation from the PSP/bank.</td>\n<td>❌ No</td>\n</tr>\n<tr>\n<td><strong>purchase overdue</strong></td>\n<td><code>overdue</code></td>\n<td>Triggered when a purchase remains in the CREATED state and the configured <em>Transaction Overdue Hours</em> (from Admin Settings) have elapsed, the system automatically updates the purchase status to OVERDUE</td>\n<td>❌ No (may lead to failed/expired/paid later)</td>\n</tr>\n<tr>\n<td><strong>purchase paid</strong></td>\n<td><code>paid</code></td>\n<td>Triggered when the payment is successfully completed and confirmed.</td>\n<td>✅ Yes</td>\n</tr>\n<tr>\n<td><strong>purchase failed</strong></td>\n<td><code>error</code></td>\n<td>Triggered when the payment attempt fails due to technical error, insufficient funds, or rejection by PSP/bank.</td>\n<td>✅ Yes</td>\n</tr>\n<tr>\n<td><strong>purchase cancelled</strong></td>\n<td><code>cancelled</code></td>\n<td>Triggered when the customer or system cancels the purchase before completion.</td>\n<td>✅ Yes</td>\n</tr>\n<tr>\n<td><strong>purchase expired</strong></td>\n<td><code>expired</code></td>\n<td>Triggered when the purchase is not paid within the allowed expiry time.</td>\n<td>✅ Yes</td>\n</tr>\n<tr>\n<td><strong>refund in process</strong></td>\n<td><code>refund_in_process</code></td>\n<td>Triggered when a refund has been initiated but is not yet completed/settled.</td>\n<td>❌ No</td>\n</tr>\n<tr>\n<td><strong>payment refund</strong></td>\n<td><code>refunded</code> / <code>fraud_refunded</code></td>\n<td>Triggered when the completed payment is refunded, refunded due to fraud, or reversed via chargeback.</td>\n<td>✅ Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"webhook-payload-specification\"><strong>Webhook Payload Specification</strong></h4>\n<p><strong>Fields Description</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>message.purchaseId</td>\n<td>Unique identifier of the purchase generated by Paysecure.</td>\n</tr>\n<tr>\n<td>message.client</td>\n<td>Customer’s ID in merchant’s system (if available), otherwise \"NA\".</td>\n</tr>\n<tr>\n<td>message.client.email</td>\n<td>Customer’s email address.</td>\n</tr>\n<tr>\n<td>message.client.phone</td>\n<td>Customer’s phone number (with country code).</td>\n</tr>\n<tr>\n<td>message.client.full_name</td>\n<td>Full name of the customer.</td>\n</tr>\n<tr>\n<td>message.client.date_of_birth</td>\n<td>Customer’s date of birth in YYYY-MM-DD format.</td>\n</tr>\n<tr>\n<td>message.client.street_address</td>\n<td>Customer’s full street address.</td>\n</tr>\n<tr>\n<td>message.client.country</td>\n<td>ISO 2-letter country code of the customer.</td>\n</tr>\n<tr>\n<td>message.client.city</td>\n<td>City name (and state, if applicable).</td>\n</tr>\n<tr>\n<td>message.client.zip_code</td>\n<td>Postal / ZIP code.</td>\n</tr>\n<tr>\n<td>message.client.stateCode</td>\n<td>ISO 2-letter state code.</td>\n</tr>\n<tr>\n<td>message.updated_on</td>\n<td>UNIX timestamp of the last update to the transaction.</td>\n</tr>\n<tr>\n<td>message.type</td>\n<td>Type of transaction (e.g., \"purchase\").</td>\n</tr>\n<tr>\n<td>message.paymentMethod</td>\n<td>Comma-separated list of payment methods used (e.g., \"MASTER,VISA,JCB\").</td>\n</tr>\n<tr>\n<td>message.amountUnit</td>\n<td>Unit of amount — \"MAJOR\" for full currency unit, \"MINOR\" for subunits.</td>\n</tr>\n<tr>\n<td>message.errorMsg</td>\n<td>Message describing the transaction result — success message or error details.</td>\n</tr>\n<tr>\n<td>message.created_on</td>\n<td>UNIX timestamp when the purchase was created.</td>\n</tr>\n<tr>\n<td>message.merchantRef</td>\n<td>Unique transaction reference from the merchant.</td>\n</tr>\n<tr>\n<td>message.merchantName</td>\n<td>Registered merchant name in PaySecure.</td>\n</tr>\n<tr>\n<td>message.purchase.currency</td>\n<td>Currency code (ISO 4217).</td>\n</tr>\n<tr>\n<td>message.purchase.products</td>\n<td>Array of product details (name, quantity, price, discount, tax).</td>\n</tr>\n<tr>\n<td>message.purchase.total</td>\n<td>Total amount for all products (in amount unit).</td>\n</tr>\n<tr>\n<td>message.purchase.language</td>\n<td>Language code for the transaction (ISO 639-1).</td>\n</tr>\n<tr>\n<td>message.payment.payment_type</td>\n<td>Type of payment (e.g., \"PURCHASE\").</td>\n</tr>\n<tr>\n<td>message.payment.amount</td>\n<td>Payment amount.</td>\n</tr>\n<tr>\n<td>message.payment.currency</td>\n<td>Payment currency.</td>\n</tr>\n<tr>\n<td>message.payment.paid_on</td>\n<td>UNIX timestamp when the payment was completed.</td>\n</tr>\n<tr>\n<td>message.status</td>\n<td>Current transaction status.</td>\n</tr>\n<tr>\n<td>message.status_history</td>\n<td>Array of all past statuses with timestamps.</td>\n</tr>\n<tr>\n<td>message.reference</td>\n<td>PaySecure’s unique transaction reference.</td>\n</tr>\n<tr>\n<td>status (root-level)</td>\n<td>Duplicate of current status for quick access.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"possible-status-values\"><strong>Possible Status Values</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>status</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>error</td>\n<td>purchase failed due to an error.</td>\n</tr>\n<tr>\n<td>cancelled</td>\n<td>purchase was cancelled by the user or system.</td>\n</tr>\n<tr>\n<td>created</td>\n<td>purchase record created but not paid yet.</td>\n</tr>\n<tr>\n<td>expired</td>\n<td>payment link or session expired.</td>\n</tr>\n<tr>\n<td>overdue</td>\n<td>payment overdue.</td>\n</tr>\n<tr>\n<td>paid</td>\n<td>payment completed successfully.</td>\n</tr>\n<tr>\n<td>refunded</td>\n<td>payment refunded.</td>\n</tr>\n<tr>\n<td>fraud_refunded</td>\n<td>refunded due to fraud detection.</td>\n</tr>\n<tr>\n<td>chargeback</td>\n<td>reversed due to chargeback.</td>\n</tr>\n<tr>\n<td>payment_in_process</td>\n<td>payment is in progress.</td>\n</tr>\n<tr>\n<td>refund_in_process</td>\n<td>refund process started but not completed.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"🔐-key-pair-generation\"><strong>🔐 Key Pair Generation</strong></h2>\n<p><strong>Paysecure uses RSA key pairs to digitally sign webhooks, ensuring all notifications are both secure and authentic.</strong></p>\n<hr />\n<p><strong>1. Generate Your Keys</strong></p>\n<img src=\"https://content.pstmn.io/6e17a656-3d35-471b-9eb3-9b4e22306c02/U2NyZWVuc2hvdCAyMDI1LTExLTE3IGF0IDguMzIuNDTigK9BTS5wbmc=\" />\n\n<ul>\n<li><p>Click “Generate Key Pair” in the dashboard.</p>\n</li>\n<li><p>A unique RSA private key and public key are created for your merchant ID.</p>\n</li>\n</ul>\n<p><strong>2. Key Storage</strong></p>\n<img src=\"https://content.pstmn.io/336ed3b4-84ad-4df2-bfbb-d59ac9427185/U2NyZWVuc2hvdCAyMDI1LTExLTE3IGF0IDguMzUuMDLigK9BTS5wbmc=\" />\n\n<ul>\n<li><p>Private Key → Stored securely by Paysecure (never exposed).</p>\n</li>\n<li><p>Public Key → Displayed to you once on the screen. Copy and save it for verifying signatures.</p>\n</li>\n</ul>\n<p><strong>3. Webhook Signing</strong></p>\n<ul>\n<li><p>Every webhook payload is signed using Paysecure’s private key.</p>\n</li>\n<li><p>The signature is included in webhook headers:</p>\n<ul>\n<li>paysecure-sign or paysecure_sign</li>\n</ul>\n</li>\n</ul>\n<p><strong>4. Verification</strong></p>\n<ul>\n<li><p>Use your public key to verify the paysecure-sign header against the webhook body.</p>\n</li>\n<li><p>This ensures the webhook came from Paysecure and was not tampered with.</p>\n</li>\n</ul>\n<h2 id=\"🔏-signature-paysecure-sign-or-paysecure_sign\"><strong>🔏 Signature: paysecure-sign (or paysecure_sign)</strong></h2>\n<p><strong>The paysecure-sign header is a Base64-encoded digital signature generated using your merchant-specific RSA private key.</strong></p>\n<hr />\n<h3 id=\"🔨-how-the-signature-is-generated\"><strong>🔨 How the Signature is Generated</strong></h3>\n<ol>\n<li>Message Construction</li>\n</ol>\n<p>Concatenate the following fields in order:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{purchaseId}|{message.status}|{brandId}\n\n</code></pre>\n<p>Example</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>1234567890|PAID|BRAND_001\n\n</code></pre><p>2. Signing Algorithm</p>\n<ul>\n<li><p>Algorithm: SHA256withRSA</p>\n</li>\n<li><p>Output: Base64-encoded signature (sent in the paysecure-sign header).</p>\n</li>\n</ul>\n<h3 id=\"✅-how-to-verify-the-signature\"><strong>✅ How to Verify the Signature</strong></h3>\n<ol>\n<li>Rebuild the Message</li>\n</ol>\n<p>From the webhook JSON body, extract:</p>\n<ul>\n<li><p>purchaseId</p>\n</li>\n<li><p>status (convert to uppercase)</p>\n</li>\n<li><p>brandId</p>\n</li>\n</ul>\n<p>Reconstruct the string in the same format:<br />{purchaseId}|{message.status}|{brandId}</p>\n<p>2. Verification Steps</p>\n<ul>\n<li><p>Use your stored public key.</p>\n</li>\n<li><p>Decode the paysecure-sign header from Base64.</p>\n</li>\n<li><p>Verify using SHA256withRSA.</p>\n</li>\n<li><p>If verification succeeds, the webhook is authentic and untampered.</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"💻-java-verification-example\"><strong>💻 Java Verification Example</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-java\">public static boolean verifySignature(String message, String signatureBase64, PublicKey publicKey) throws Exception {\n    Signature signature = Signature.getInstance(\"SHA256withRSA\");\n    signature.initVerify(publicKey);\n    signature.update(message.getBytes());\n    byte[] signatureBytes = Base64.getDecoder().decode(signatureBase64);\n    return signature.verify(signatureBytes);\n}\n\n</code></pre>\n<ul>\n<li><p>message → The reconstructed string (purchaseId|STATUS|brandId)</p>\n</li>\n<li><p>signatureBase64 → Value from paysecure-sign header</p>\n</li>\n<li><p>publicKey → Your saved Paysecure public key</p>\n</li>\n</ul>\n<p><strong>Sample Webhook</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": {\n    \"purchaseId\": \"6808127876673d75156df3e6\",\n    \"client\": {\n      \"customerId\": \"NA\",\n      \"email\": \"user6091@example.com\",\n      \"phone\": \"+17808752869\",\n      \"full_name\": \"Dale Richardson\",\n      \"date_of_birth\": \"1800-01-01\",\n      \"street_address\": \"48 AVE , ALBERTA BEACH\",\n      \"country\": \"CA\",\n      \"city\": \"ALBERTA\",\n      \"zip_code\": \"T0E 0A0\",\n      \"shipping_street_address\": \" \",\n      \"shipping_country\": \"\",\n      \"shipping_city\": \"\",\n      \"shipping_zip_code\": \"\",\n      \"cc\": [],\n      \"bcc\": [],\n      \"stateCode\": \"AB\"\n    },\n    \"updated_on\": 1745359929,\n    \"type\": \"purchase\",\n    \"isFraud\": \"NO\",\n    \"paymentMethod\": \"INTERAC,MASTER,VISA,JCB\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"Transaction succeeded-APPROVED\",\n    \"detailedMsg\": \"Transaction succeeded-APPROVED\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1745359481,\n    \"merchantRef\": \"7235\",\n    \"merchantName\": \"firstinvestacademy\",\n    \"pspReference\": \"pKlSYNsPOdOL2FCmSAjXEOHzDDpSP5\",\n    \"bankmid\": \"waverlite\",\n    \"bankname\": \"waverlite\",\n    \"purchase\": {\n      \"currency\": \"CAD\",\n      \"products\": [\n        {\n          \"name\": \"Payment\",\n          \"quantity\": 1,\n          \"price\": 294,\n          \"discount\": 0,\n          \"tax_percent\": \"0.00\"\n        }\n      ],\n      \"total\": 294,\n      \"language\": \"en\",\n      \"notes\": \"Micro+ Plan\",\n      \"debt\": 0,\n      \"total_formatted\": 1,\n      \"expireInMin\": \"43800\",\n      \"taxAmount\": 0,\n      \"taxPercent\": 0,\n      \"request_client_details\": [],\n      \"email_message\": \"\"\n    },\n    \"payment\": {\n      \"is_outgoing\": false,\n      \"payment_type\": \"PURCHASE\",\n      \"amount\": 294,\n      \"currency\": \"CAD\",\n      \"net_amount\": 294,\n      \"fee_amount\": 0,\n      \"pending_amount\": 0,\n      \"pending_unfreeze_on\": null,\n      \"description\": \"\",\n      \"paid_on\": 1745359487,\n      \"remote_paid_on\": 1745359487\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\": \"FISCOM\",\n      \"brand_name\": \"FISCOM\",\n      \"registration_number\": \"\",\n      \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n      \"payment_method\": \"\",\n      \"flow\": \"payform\",\n      \"extra\": {\n        \"amount\": 294,\n        \"masked_pan\": \"INTERAC\"\n      },\n      \"country\": \"\",\n      \"attempts\": [\n        {\n          \"client_ip\": \"203.0.113.119\",\n          \"type\": \"execute\",\n          \"payment_method\": \"INTERAC\",\n          \"flow\": \"payform\",\n          \"successful\": true,\n          \"country\": \"INTERAC\",\n          \"processing_time\": 1745359487,\n          \"extra\": {\n            \"amount\": 294,\n            \"masked_pan\": \"INTERAC\"\n          }\n        }\n      ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n      {\n        \"status\": \"created\",\n        \"timestamp\": 1745359481\n      },\n      {\n        \"status\": \"pending_execute\",\n        \"timestamp\": 1745359487\n      },\n      {\n        \"status\": \"payment_in_process\",\n        \"timestamp\": 1745359491\n      },\n      {\n        \"status\": \"viewed\",\n        \"timestamp\": 1745359500\n      },\n      {\n        \"status\": \"paid 294.0\",\n        \"timestamp\": 1745359929\n      }\n    ],\n    \"viewedOn\": 1745359932,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS4754\",\n    \"reference\": \"7235\",\n    \"issued\": \"2025-04-22\",\n    \"due\": 1745359481,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"Africhange Technologies\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"fx_Currency\": \"CAD\",\n    \"fx_Amount\": \"294.00\",\n    \"transFees\": \"0.44\",\n    \"refundFee\": \"NA\",\n    \"chargeBackFee\": \"NA\",\n    \"rollingReserve\": \"0.00\",\n    \"cascade_Num\": \"NA\",\n    \"debitOrcredit\": \"NA\",\n    \"conversionRiskFactorApplied\": \"0\",\n    \"payInDetails\": {\n      \"name\": \"INTERAC E-TRANSFER\",\n      \"emailAddress\": \"user9999@example.com\",\n      \"secretQA\": \"q4754199\",\n      \"secretAnswer\": \"a4754199\"\n    },\n    \"paidOn\": 1745359929,\n    \"receivedAmt\": 294,\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\": \"https://firstinvestschool.com/?wc-api=wc_gateway_paysecure_payments&amp;id=7235&amp;action=cancel\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\",\n    \"creator_agent\": \"PaySecure Payments for WooCommerce: v1.2.3\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.13, 203.0.113.137, 203.0.113.122\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6808127876673d75156df3e6/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6808127876673d75156df3e6/\",\n    \"mdr\": \"13.52\",\n    \"payoutProcess\": false\n  },\n  \"status\": \"paid\"\n}\n\n</code></pre>\n","_postman_id":"99961dcb-0f63-457f-a1b2-e9bdf48a5e5b"},{"name":"Payout","item":[],"id":"78fa6239-ee23-46a1-9fe7-59c1ae53a9f6","description":"<h3 id=\"overview\">Overview</h3>\n<p>When a transaction status changes to a terminal state (e.g., paid, pending_review (in development)), our payment gateway sends a server-to-server POST callback to the merchant's configured Webhook URL.</p>\n<p>The callback includes full transaction details so the merchant can update order status in real time.</p>\n<h3 id=\"webhook-events-for-payouts\">Webhook Events for Payouts</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Event type (Condition applied in code)</th>\n<th>Status</th>\n<th>When is the event triggered</th>\n<th>Is this a terminal event</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Payout – Created</td>\n<td>created</td>\n<td>When the payout request is created</td>\n<td>No</td>\n</tr>\n<tr>\n<td>Payout – in Process</td>\n<td>payout_in_process</td>\n<td>When the Payout request is triggered to the bank, and the status is in pending</td>\n<td>No</td>\n</tr>\n<tr>\n<td>Payout – Pending Review</td>\n<td>pending_review</td>\n<td>When the payout request needs manual review from the merchant</td>\n<td>No</td>\n</tr>\n<tr>\n<td>payout – failure</td>\n<td>error</td>\n<td>Triggered when the payout request fails (system/PSP error, rejection, etc.).</td>\n<td>✅ Yes</td>\n</tr>\n<tr>\n<td>payout – success</td>\n<td>paid</td>\n<td>Triggered when the payout is processed successfully and funds are released.</td>\n<td>✅ Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"webhook-payload-specification\"><strong>Webhook Payload Specification</strong></h2>\n<h3 id=\"fields-description\"><strong>Fields Description</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>payload.payoutId</td>\n<td>Unique identifier of the payout generated by Paysecure.</td>\n</tr>\n<tr>\n<td>payload.client.customerId</td>\n<td>Customer’s ID in the merchant’s system (if available), otherwise \"NA\".</td>\n</tr>\n<tr>\n<td>payload.client.email</td>\n<td>Customer’s email address.</td>\n</tr>\n<tr>\n<td>payload.client.phone</td>\n<td>Customer’s phone number (with country code).</td>\n</tr>\n<tr>\n<td>payload.client.full_name</td>\n<td>Full name of the customer.</td>\n</tr>\n<tr>\n<td>payload.client.country</td>\n<td>ISO 2-letter country code of the customer.</td>\n</tr>\n<tr>\n<td>payload.updated_on</td>\n<td>UNIX timestamp of the last update to the payout transaction.</td>\n</tr>\n<tr>\n<td>payload.payoutMethod</td>\n<td>Payout method used (e.g., \"PAYOUT-INTERAC\").</td>\n</tr>\n<tr>\n<td>payload.amountUnit</td>\n<td>Unit of amount — \"MAJOR\" for full currency unit, \"MINOR\" for subunits.</td>\n</tr>\n<tr>\n<td>payload.amount</td>\n<td>Total payout amount.</td>\n</tr>\n<tr>\n<td>payload.errorMsg</td>\n<td>Message describing the payout result — success message or error details.</td>\n</tr>\n<tr>\n<td>payload.purpose</td>\n<td>Purpose/description of the payout.</td>\n</tr>\n<tr>\n<td>payload.created_on</td>\n<td>UNIX timestamp when the payout was created.</td>\n</tr>\n<tr>\n<td>payload.merchantRef</td>\n<td>Unique transaction reference from the merchant.</td>\n</tr>\n<tr>\n<td>payload.merchantName</td>\n<td>Registered merchant name in Paysecure.</td>\n</tr>\n<tr>\n<td>payload.currency</td>\n<td>Currency code of the payout (ISO 4217).</td>\n</tr>\n<tr>\n<td>payload.fx_Currency</td>\n<td>FX (foreign exchange) currency used (if applicable).</td>\n</tr>\n<tr>\n<td>payload.fx_Amount</td>\n<td>FX-adjusted payout amount.</td>\n</tr>\n<tr>\n<td>payload.transFees</td>\n<td>Transaction fee amount.</td>\n</tr>\n<tr>\n<td>payload.paymentOn</td>\n<td>UNIX timestamp when the payout was completed/paid.</td>\n</tr>\n<tr>\n<td>payload.payOutDetails.name</td>\n<td>Payout instrument name (e.g., \"INTERAC E-TRANSFER\").</td>\n</tr>\n<tr>\n<td>payload.payOutDetails.emailAddress</td>\n<td>Payout recipient email address.</td>\n</tr>\n<tr>\n<td>payload.payOutDetails.secretQA</td>\n<td>Security question used for payout (if applicable).</td>\n</tr>\n<tr>\n<td>payload.payOutDetails.secretAnswer</td>\n<td>Security answer used for payout (if applicable).</td>\n</tr>\n<tr>\n<td>payload.taxAmount</td>\n<td>Tax amount applied to the payout.</td>\n</tr>\n<tr>\n<td>payload.taxPercent</td>\n<td>Tax percentage applied to the payout.</td>\n</tr>\n<tr>\n<td>payload.redirectType</td>\n<td>Redirect method after payout completion (e.g., \"POST\").</td>\n</tr>\n<tr>\n<td>payload.pendingReview</td>\n<td>Indicates if the payout is under review (\"Yes\"/\"No\").</td>\n</tr>\n<tr>\n<td>payload.surcharge</td>\n<td>Surcharge amount applied (if any).</td>\n</tr>\n<tr>\n<td>payload.success_callback</td>\n<td>Callback URL invoked on payout success.</td>\n</tr>\n<tr>\n<td>payload.failure_callback</td>\n<td>Callback URL invoked on payout failure.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"possible-status-values\"><strong>Possible Status Values</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>status</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>error</td>\n<td>Payout failed due to an error.</td>\n</tr>\n<tr>\n<td>created</td>\n<td>Payout record created but not paid yet.</td>\n</tr>\n<tr>\n<td>paid</td>\n<td>payment completed successfully.</td>\n</tr>\n<tr>\n<td>payout_in_process</td>\n<td>Payout is in progress.</td>\n</tr>\n<tr>\n<td>pending_review</td>\n<td>Payout needs to be reviewed</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"🔐-key-pair-generation\"><strong>🔐 Key Pair Generation</strong></h2>\n<p><strong>Paysecure uses RSA key pairs to digitally sign webhooks, ensuring all notifications are both secure and authentic.</strong></p>\n<hr />\n<h3 id=\"1-generate-your-keys\"><strong>1. Generate Your Keys</strong></h3>\n<img src=\"https://content.pstmn.io/7518adf1-d6ec-4b0e-b1bb-b6710a5173f1/U2NyZWVuc2hvdCAyMDI1LTExLTE3IGF0IDExLjM4LjIw4oCvQU0ucG5n\" />\n\n<ul>\n<li><p>Click “Generate Key Pair” in the dashboard.</p>\n</li>\n<li><p>A unique RSA private key and public key are created for your merchant ID</p>\n</li>\n</ul>\n<h3 id=\"2-key-storage\"><strong>2. Key Storage</strong></h3>\n<img src=\"https://content.pstmn.io/0a39578e-0796-4671-80f6-d68ca391bdef/U2NyZWVuc2hvdCAyMDI1LTExLTE3IGF0IDExLjM4LjMw4oCvQU0ucG5n\" />\n\n<ul>\n<li><p>Private Key → Stored securely by Paysecure (never exposed).</p>\n</li>\n<li><p>Public Key → Displayed to you once on the screen. Copy and save it for verifying signatures.</p>\n</li>\n</ul>\n<h3 id=\"3-webhook-signing\"><strong>3. Webhook Signing</strong></h3>\n<ul>\n<li><p>Every webhook payload is signed using Paysecure’s private key.</p>\n</li>\n<li><p>The signature is included in webhook headers:</p>\n<ul>\n<li>paysecure-sign or paysecure_sign</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"4-verification\"><strong>4. Verification</strong></h3>\n<ul>\n<li><p>Use your public key to verify the paysecure-sign header against the webhook body.</p>\n</li>\n<li><p>This ensures the webhook came from Paysecure and was not tampered with.</p>\n</li>\n</ul>\n<h2 id=\"🔏-signature-paysecure-sign-or-paysecure_sign\"><strong>🔏 Signature: paysecure-sign (or paysecure_sign)</strong></h2>\n<p><strong>The paysecure-sign header is a Base64-encoded digital signature generated using your merchant-specific RSA private key.</strong></p>\n<h3 id=\"🔨-how-the-signature-is-generated\"><strong>🔨 How the Signature is Generated</strong></h3>\n<ol>\n<li><strong>Message Construction</strong></li>\n</ol>\n<p>Concatenate the following fields in order:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{payoutId}|{payload.status}\n\n</code></pre><p><strong>Example:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>1234567890|paid\n\n</code></pre><p><strong>2. Signing Algorithm</strong></p>\n<ol>\n<li><p>Algorithm: SHA256withRSA</p>\n</li>\n<li><p>Output: Base64-encoded signature (sent in the paysecure-sign header).</p>\n</li>\n</ol>\n<h3 id=\"✅-how-to-verify-the-signature\"><strong>✅ How to Verify the Signature</strong></h3>\n<ol>\n<li><strong>Rebuild the Message</strong></li>\n</ol>\n<p>From the webhook JSON body, extract:</p>\n<ul>\n<li><p>payoutId</p>\n</li>\n<li><p>payload.status (convert to lowercase)</p>\n</li>\n</ul>\n<p>Reconstruct the string in the same format:<br />{payoutId}|{payload.status}</p>\n<p><strong>2. Verification Steps</strong></p>\n<ul>\n<li><p>Use your stored public key.</p>\n</li>\n<li><p>Decode the paysecure-sign header from Base64.</p>\n</li>\n<li><p>Verify using SHA256withRSA.</p>\n</li>\n<li><p>If verification succeeds, the webhook is authentic and untampered.</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-java\">public static boolean verifySignature(String message, String signatureBase64, PublicKey publicKey) throws Exception {\n    Signature signature = Signature.getInstance(\"SHA256withRSA\");\n    signature.initVerify(publicKey);\n    signature.update(message.getBytes());\n    byte[] signatureBytes = Base64.getDecoder().decode(signatureBase64);\n    return signature.verify(signatureBytes);\n}\n\n</code></pre>\n<ul>\n<li><p>message → The reconstructed string (payoutId|status)</p>\n</li>\n<li><p>signatureBase64 → Value from paysecure-sign header</p>\n</li>\n<li><p>publicKey → Your saved Paysecure public key</p>\n</li>\n</ul>\n<p><strong>Sample Webhook:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"payload\": {\n    \"payoutId\": \"68b02af16c4f71530ae1d73b\",\n    \"client\": {\n      \"customerId\": \"NA\",\n      \"email\": \"user5890@example.com\",\n      \"phone\": \"+14377717874\",\n      \"full_name\": \"Blake Mensah\",\n      \"country\": \"CA\"\n    },\n    \"updated_on\": 1756375793,\n    \"payoutMethod\": \"PAYOUT-INTERAC-ETRANSFER\",\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 6,\n    \"errorMsg\": \"\",\n    \"purpose\": \"test payout\",\n    \"created_on\": 1756375793,\n    \"merchantRef\": \"68b02af16c4f71530ae1d73b\",\n    \"merchantName\": \"Skyler Nakamurasinghal\",\n    \"status\": \"PAID\",\n    \"status_history\": [\n      {\n        \"status\": \"created\",\n        \"timestamp\": 1756375793\n      },\n      {\n        \"status\": \"paid\",\n        \"timestamp\": 1756375810\n      }\n    ],\n    \"currency\": \"CAD\",\n    \"fx_Currency\": \"CAD\",\n    \"fx_Amount\": \"6.00\",\n    \"transFees\": \"0.3\",\n    \"paymentOn\": 1756375810,\n    \"payOutDetails\": {\n      \"name\": \"INTERAC E-TRANSFER\",\n      \"emailAddress\": \"user5890@example.com\",\n      \"secretQA\": \"q680216471530173202\",\n      \"secretAnswer\": \"a680216471530173202\"\n    },\n    \"taxAmount\": 0,\n    \"taxPercent\": 0,\n    \"redirectType\": \"POST\",\n    \"pendingReview\": \"No\",\n    \"surcharge\": 0,\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\",\n    \"mdr\": \"0.00\"\n  },\n  \"status\": \"paid\"\n}\n\n</code></pre>\n","_postman_id":"78fa6239-ee23-46a1-9fe7-59c1ae53a9f6"}],"id":"c68850cd-cf18-43cc-84ec-dcfd7660fc31","description":"<p>To receive information about various transaction status and events, you will need to set up an endpoint which accepts payloads sent by Paysecure. Your endpoint will receive <strong>POST</strong> requests with <strong>content-type: application/json</strong>.</p>\n<h3 id=\"configuring-the-webhook-endpoint\">Configuring the webhook endpoint</h3>\n<p>The webhook endpoint can be set up on <code>Partner Dashboard -&gt; Webhooks -&gt; New Webhook</code>.</p>\n<img src=\"https://content.pstmn.io/3b411aa7-0e42-44bd-985e-9c1f1155a729/U2NyZWVuc2hvdCAyMDI1LTExLTE2IGF0IDkuNDcuMDnigK9QTS5wbmc=\" />\n\n<p>Make sure you save the endpoint by clicking \"Create\".</p>\n<p>Paysecure will post all payloads to the specified URLs. Please note that if merchant face any issues with accepting the webhook, it will not be resent. Alternatively the merchant can call Paysecure get status API to verify the status of a purchase.</p>\n<h3 id=\"steps-to-configure-a-webhook\"><strong>Steps to Configure a Webhook</strong></h3>\n<img src=\"https://content.pstmn.io/3cd636a8-4106-48ed-a66b-ae591c3daf1f/U2NyZWVuc2hvdCAyMDI1LTExLTE2IGF0IDEwLjU3LjAz4oCvUE0ucG5n\" />\n\n<p><strong>1.Add a New Webhook:</strong></p>\n<ul>\n<li>Click on the “New Webhook” button.</li>\n</ul>\n<p><strong>2. Provide Details:</strong></p>\n<ul>\n<li><p>Name: Give the webhook a descriptive name.</p>\n</li>\n<li><p>Payment Method Selection:</p>\n</li>\n</ul>\n<p>a. Choose a specific payment method or select “All” for universal callbacks.</p>\n<ul>\n<li>Enter URL:</li>\n</ul>\n<p>a. Provide the callback URL where the event notifications will be sent.</p>\n<p><strong>3. Select Event Triggers:</strong></p>\n<p>a. Choose from a list of available events (Note: Depending on the payment method, not all events may be available.)</p>\n<p><strong>4. Save configuration:</strong></p>\n<p>a. Click “Save” to store the webhook settings.**</p>\n<h2 id=\"notes\">Notes:</h2>\n<ol>\n<li><p>You can setup one URL for all the events or individual URLs for each of the events. Paysecure 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</li>\n<li><p>In case of 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. This object is the same as the one you will get in the <code>/getStatus</code> API call <code>https://api.paysecure.net/api/v1/purchases/{purchaseId}/</code></p>\n</li>\n</ol>\n<h2 id=\"available-event-for-subscription\">Available Event for subscription</h2>\n<p>When a transaction status changes to a terminal state (e.g., paid, refunded, expired), our payment gateway sends a server-to-server POST callback to the merchant's configured Webhook URL.</p>\n<p>The callback includes full transaction details so the merchant can update order status in real time.</p>\n<h2 id=\"http-method--headers\"><strong>HTTP Method &amp; Headers</strong></h2>\n<p><strong>Method: POST</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Header</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Content-Type</td>\n<td><strong>application/json; charset=utf-8 — Indicates the payload format is JSON in UTF-8 encoding.</strong></td>\n</tr>\n<tr>\n<td>User-Agent</td>\n<td>Always set to \"PaySecure\" — Identifies the request origin as PaySecure.</td>\n</tr>\n<tr>\n<td>paysecure_sign</td>\n<td><strong>Present only if a signature value (paysecure_sign) is generated(</strong><a href=\"https://docs.google.com/document/d/1qgsO7_jxMOXASnezEw-RU70WNddCfKrXWCwPGJLmqUs/edit?tab=t.nwoa2ohizyre#heading=h.rlwjz036ocez\"><b>see the logic below</b></a><strong>). This is used for validating the authenticity of the callback.</strong></td>\n</tr>\n<tr>\n<td>paysecure-sign</td>\n<td><strong>Same signature value as paysecure_sign but provided in an alternate header name for better compatibility.</strong></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"webhook-structure\"><strong>Webhook structure</strong></h3>\n<p>We add a signature as “<strong>paysecure_sign</strong>” or <strong>\"paysecure-sign\"</strong> in the webhook header for verifying the payload, If you have already created a <strong>public key</strong> from your merchant dashboard.</p>\n<p>To verify this signature, decrypt the signature with your public key. Compare this with the values which you received in your payload.</p>\n<p>Use the following method (in Java) for signature verification.</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<ol>\n<li><p>Where the <strong>message</strong> is the combination of values which you received in the payload:</p>\n<ol>\n<li><p>For Payins: the message is a combination of <strong><code>purchaseId+\"|\"+status(uppercase)+\"|\"+brandId</code></strong></p>\n</li>\n<li><p>Payouts: this message is a combination of p**<code>ayoutId+\"|\"+status(lowercase)</code>**</p>\n</li>\n</ol>\n</li>\n<li><p>The signature is the value of the “<strong>paysecure_sign</strong>” or <strong>\"paysecure-sign\"</strong> you received in webhook.</p>\n</li>\n<li><p>You can obtain the <strong>Public Key</strong> from your merchant dashboard.</p>\n</li>\n</ol>\n","_postman_id":"c68850cd-cf18-43cc-84ec-dcfd7660fc31"},{"name":"🖥️ Status Code","item":[{"name":"Transaction Status and Their Meaning","item":[],"id":"f63d3ddd-92cd-4de8-87ba-1973fddae179","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 <strong>\"PAID\"</strong> status can become <strong>\"REFUND IN PROCESS\"</strong>.</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: <strong>\"PENDING EXECUTE\"</strong>, <strong>\"PAYMENT IN PROCESS\"</strong>, <strong>\"PAYOUT IN PROCESS\"</strong> or <strong>\"REFUND IN PROCESS\"</strong> 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><p><strong>Note:</strong></p>\n<p>If you want a more detailed error message, please rely on the <strong>\"errorMsg\"</strong> field in the responses or webhook payload.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"965d7e98-0a38-4dff-97ed-85c397e4abbd"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"7cd1360e-6e4b-4000-aec2-be42fb387c2d"}}],"_postman_id":"f63d3ddd-92cd-4de8-87ba-1973fddae179"}],"id":"1545f9ae-e6ed-4b95-aca9-c479494ceca8","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 additional 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-code-400-404-401-405-415\">with http code (400, 404, 401, 405, 415)</h3>\n<p>Below is the list of possible error codes and the corresponding messages from Paysecure 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":"09d538fe-5c6e-452b-8aa1-7ff3cb4a82d3"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"82233cc4-5456-4eff-994c-6eb43affeba3"}}],"_postman_id":"1545f9ae-e6ed-4b95-aca9-c479494ceca8"},{"name":"Payment Methods","item":[{"name":"💳 Card Payments","item":[{"name":"Concepts","item":[],"id":"9bd5e5d2-53a1-4799-8478-3f0678c56d05","description":"<h1 id=\"paysecure-card-payments\">Paysecure Card Payments</h1>\n<h1 id=\"get-started\"><strong>Get started</strong></h1>\n<p>Paysecure’s Server-to-Server (S2S) integration allows merchants to process card payments entirely from their backend systems.</p>\n<p>In this integration model, all payment initiation and sensitive card operations are performed from the merchant backend. However, during 3D Secure authentication flows, the customer browser may be redirected to the issuing bank’s authentication page to complete verification.  </p>\n<p>This integration is recommended for merchants who require:</p>\n<ul>\n<li><p>Full control over the checkout experience</p>\n</li>\n<li><p>Reduced exposure of platform endpoints</p>\n</li>\n<li><p>A secure and compliant payment architecture</p>\n</li>\n</ul>\n<h1 id=\"how-it-works\"><strong>How it works</strong></h1>\n<p>The S2S card payment flow follows a three-step process:</p>\n<ol>\n<li><p>Create a purchase - Register the transaction and generate a unique purchaseId.</p>\n</li>\n<li><p>Submit card details (S2S) - Send card and device details securely from your server.</p>\n</li>\n<li><p>Handle callbacks and redirects - Complete the transaction using 2D or 3D Secure flows.</p>\n</li>\n</ol>\n<p><strong>Note:</strong><br />callback_url is used only to continue the authentication or processing flow.</p>\n<p>success_redirect, pending_redirect, and failure_redirect are final outcome URLs where the customer is redirected after transaction completion.</p>\n<p><strong>This integration supports:</strong></p>\n<ul>\n<li><p>2D (non-3DS) transactions</p>\n</li>\n<li><p>3D Secure Frictionless transactions</p>\n</li>\n<li><p>3D Secure Challenge transactions</p>\n</li>\n</ul>\n<h1 id=\"before-you-begin\"><strong>Before you begin</strong></h1>\n<p>Before starting the integration, ensure the following prerequisites are met:</p>\n<ul>\n<li><p>You have received your API credentials from Paysecure</p>\n</li>\n<li><p>Your server can make secure HTTPS requests</p>\n</li>\n<li><p>Since card details are collected and transmitted from the merchant server, merchants are fully responsible for PCI-DSS compliance and secure handling of sensitive cardholder data.</p>\n</li>\n<li><p>You have configured the following redirect URLs:</p>\n<ul>\n<li><p>success_redirect</p>\n</li>\n<li><p>pending_redirect</p>\n</li>\n<li><p>failure_redirect</p>\n</li>\n</ul>\n</li>\n<li><p>You have a valid brand_id provided by Paysecure</p>\n</li>\n</ul>\n<h1 id=\"create-a-new-payment-session\"><strong>Create a New Payment Session</strong></h1>\n<p>A payment session is created when a purchase is initialized in the Paysecure system. This session represents the starting point of a transaction and is required before submitting any payment details or initiating authentication flows.</p>\n<p>Creating a payment session registers the transaction details, configures redirect URLs, and generates a unique identifier (purchaseId) that is used in all subsequent Server-to-Server (S2S) payment operations.</p>\n<h2 id=\"when-to-create-a-payment-session\"><strong>When to create a payment session</strong></h2>\n<p>You must create a new payment session when:</p>\n<ul>\n<li><p>A customer initiates a new checkout</p>\n</li>\n<li><p>A new payment attempt is required</p>\n</li>\n<li><p>You want to process a card payment using S2S integration</p>\n</li>\n<li><p>You need to support 2D or 3D Secure payment flows</p>\n</li>\n</ul>\n<p>Each payment session corresponds to one transaction attempt.</p>\n<h2 id=\"payment-session-flow\"><strong>Payment Session Flow</strong></h2>\n<ol>\n<li><p>Your server sends a request to the Create Purchase API with customer, product, and redirect details.</p>\n</li>\n<li><p>Paysecure validates the request and creates a new payment session.</p>\n</li>\n<li><p>A unique purchaseId is generated for the session.</p>\n</li>\n<li><p>The payment session remains in the CREATED state until payment details are submitted.</p>\n</li>\n<li><p>The purchaseId is used to continue the payment flow via S2S APIs.</p>\n</li>\n</ol>\n<h1 id=\"card-payments\"><strong>Card Payments</strong></h1>\n<p>Card payments enable customers to pay online using debit or credit cards issued by card networks such as Visa, Mastercard, and others. During a card payment , the customer’s card details are submitted securely and sent through the payment processor , card network, and issuing bank to determine whether the transaction can be authorized.</p>\n<h3 id=\"card-payment-checks-include\">Card payment checks include:</h3>\n<ul>\n<li><p>Card validity and available balance</p>\n</li>\n<li><p>Risk and fraud assessment</p>\n</li>\n<li><p>Authorization by the issuing bank</p>\n</li>\n</ul>\n<p>Depending on the security requirements, region, and risk profile, a card payment can be processed as either:</p>\n<ul>\n<li><p><strong>2D (Non-3DS) payment</strong></p>\n</li>\n<li><p><strong>3D Secure (3DS) payment</strong></p>\n</li>\n</ul>\n<h2 id=\"2d-non-3ds-payments\"><strong>2D (non-3DS) Payments</strong></h2>\n<p>2D payments are standard card transactions that do not include an additional cardholder authentication step by issuing bank. Authorization is based on the card details and internal risk checks performed by the payment processor and issuer.</p>\n<h3 id=\"2d-payment-flow\"><strong>2D Payment Flow</strong></h3>\n<ul>\n<li><p>The customer provide card details (card number, expiry, cvv).</p>\n</li>\n<li><p>The transaction is authorized or declined by the issuing bank.</p>\n</li>\n<li><p>The customer is directly redirected to the final outcome URL.</p>\n</li>\n</ul>\n<h3 id=\"characteristics\">Characteristics</h3>\n<ul>\n<li><p>Faster checkout experience.</p>\n</li>\n<li><p>Lower protection against fraud and chargebacks.</p>\n</li>\n<li><p>Typically, no callback_url is required for standard 2D transactions.</p>\n</li>\n<li><p>No 3D Secure authentication.</p>\n</li>\n</ul>\n<h3 id=\"typical-use-case\"><strong>Typical Use Case</strong></h3>\n<ul>\n<li><p>Low-risk transactions.</p>\n</li>\n<li><p>Trusted customers.</p>\n</li>\n<li><p>Regions or scenarios where 3DS is not mandatory.</p>\n</li>\n</ul>\n<h2 id=\"3d-secure-3ds-payments\"><strong>3D Secure (3DS) Payments</strong></h2>\n<p>3D secure (3DS) Payments add an extra layer of security by requiring the cardholder to be authenticated by issuing bank. This helps reduce fraud and protects merchants against certain types of chargebacks.</p>\n<h3 id=\"3ds-payment-flow\"><strong>3DS Payment Flow</strong></h3>\n<ul>\n<li><p>The transaction is evaluated by the card network and issuing bank.</p>\n</li>\n<li><p>Based on risk assessment, the transaction proceeds through either a Frictionless or Challenge flow.</p>\n</li>\n<li><p>After authentication, the transaction is authorized or declined.</p>\n</li>\n<li><p>The customer is redirected to the appropriate URL.</p>\n</li>\n</ul>\n<h2 id=\"3ds-authentication-flows\"><strong>3DS Authentication Flows</strong></h2>\n<h3 id=\"3d-secure-challenge-flow\"><strong>3D Secure Challenge Flow</strong></h3>\n<ul>\n<li><p>The customer is redirected to the issuer’s ACS (Access Control Server)</p>\n</li>\n<li><p>The cardholder must authenticate (OTP, biometric, or password)</p>\n</li>\n<li><p>After authentication, the customer is redirected to the appropriate URL</p>\n</li>\n</ul>\n<p>3DS payments provide higher security, better fraud prevention, and improved compliance with regulatory requirements such as PSD2 (Second Payment Service Directive).</p>\n<h3 id=\"3d-secure-frictionless-flow\"><strong>3D Secure Frictionless Flow</strong></h3>\n<ul>\n<li><p>No user interaction is required</p>\n</li>\n<li><p>Authentication is completed automatically in the background</p>\n</li>\n<li><p>The customer is directly redirected to the appropriate URL</p>\n</li>\n</ul>\n<h2 id=\"2d-vs-3d-secure---comparison-table\"><strong>2D vs 3D Secure - Comparison Table</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Feature</th>\n<th>2D (Non-3DS) Payments</th>\n<th>3D Secure (3DS) Payments</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Cardholder authentication</td>\n<td>Not required</td>\n<td>Required (Frictionless or Challenge)</td>\n</tr>\n<tr>\n<td>User interaction</td>\n<td>Not required</td>\n<td>Required only in Challenge flow</td>\n</tr>\n<tr>\n<td>Security level</td>\n<td>Standard</td>\n<td>High</td>\n</tr>\n<tr>\n<td>Fraud protection</td>\n<td>Limited</td>\n<td>Strong</td>\n</tr>\n<tr>\n<td>Chargeback liability shift</td>\n<td>No</td>\n<td>Yes (subject to scheme rules)</td>\n</tr>\n<tr>\n<td>Callback URL</td>\n<td>Not generated</td>\n<td>Generated when authentication is required</td>\n</tr>\n<tr>\n<td>Redirect handling</td>\n<td>Direct redirect to final URL</td>\n<td>Redirect after authentication</td>\n</tr>\n<tr>\n<td>Checkout speed</td>\n<td>Faster</td>\n<td>Slightly slower (Challenge flow only)</td>\n</tr>\n<tr>\n<td>Regulatory compliance</td>\n<td>Not always sufficient</td>\n<td>Helps meet PSD2 and similar regulations</td>\n</tr>\n<tr>\n<td>Typical use case</td>\n<td>Low-risk transactions</td>\n<td>Medium to high-risk transactions</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"required-configuration\"><strong>Required configuration</strong></h1>\n<p>To successfully create a payment session, the following must be provided:</p>\n<ul>\n<li><p>Customer information (name, email, location)</p>\n</li>\n<li><p>Purchase details (currency and products)</p>\n</li>\n<li><p>A valid brand_id</p>\n</li>\n<li><p>Redirect URLs to handle the final transaction outcome:</p>\n<ul>\n<li><p>success_redirect</p>\n</li>\n<li><p>pending_redirect</p>\n</li>\n<li><p>failure_redirect</p>\n</li>\n</ul>\n</li>\n</ul>\n<p>These redirect URLs are mandatory and are used later during 2D or 3D Secure flows.</p>\n<h2 id=\"redirect-handling\"><strong>Redirect Handling</strong></h2>\n<p>After successful background authentication, the user is redirected to one of the following URLs, which must be configured during the Purchase Creation step:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Redirect URL</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>success_redirect</td>\n<td>Payment completed successfully</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Payment is still under processing</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Payment failed or was declined</td>\n</tr>\n</tbody>\n</table>\n</div><p>The final redirect depends on the authorization and authentication outcome returned by the issuer.</p>\n<h1 id=\"api-used-for-card-payment\"><strong>API Used for Card Payment</strong></h1>\n<h2 id=\"step-1-transaction-initiation--create-a-purchase\">Step 1: Transaction Initiation – Create a Purchase</h2>\n<h3 id=\"overview\"><strong>Overview</strong></h3>\n<p>To begin a transaction, a Purchase must first be created in the system. This is done by initiating a purchase request that registers all required transaction details and prepares the system for further processing.</p>\n<p>This step applies equally to both 2D and 3D transactions and follows the same flow regardless of transaction type.</p>\n<p><strong>| POST /api/v1/purchases |</strong></p>\n<h3 id=\"purchase-creation-process\">Purchase Creation Process</h3>\n<ol>\n<li><p>A purchase is initiated by sending a POST request to the purchase creation endpoint ({baseURL}/purchase/).</p>\n</li>\n<li><p>During this step, the system validates the request and creates a Purchase record.</p>\n</li>\n<li><p>Once the Purchase is successfully created, the system generates a unique purchaseId, which is required for subsequent server-to-server operations.</p>\n</li>\n</ol>\n<h3 id=\"mandatory-redirect-urls\"><strong>Mandatory Redirect URLs</strong></h3>\n<p>To successfully create a Purchase, the following redirect URLs must be defined and must contain valid URLs:</p>\n<ul>\n<li><p>success_redirect<br />  Redirects the customer after a successful transaction.</p>\n</li>\n<li><p>pending_redirect<br />  Redirects the customer when the transaction remains in a pending or processing state.</p>\n</li>\n<li><p>failure_redirect<br />  Redirects the customer if the transaction fails.</p>\n</li>\n</ul>\n<h3 id=\"merchantref-merchant-reference\"><strong>merchantRef (Merchant Reference)</strong></h3>\n<p>Although not mandatory, the merchantRef parameter is strongly recommended for all merchants.</p>\n<h3 id=\"purpose-and-benefits\"><strong>Purpose and Benefits</strong></h3>\n<ol>\n<li><p><strong>Prevention of Duplicate Transactions</strong></p>\n<ul>\n<li><p>merchantRef acts as a unique merchant-defined reference.</p>\n</li>\n<li><p>If a subsequent purchase request is sent using the same merchantRef, the system identifies it as a duplicate and prevents accidental repeat transactions.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Transaction Retrieval and Recovery</strong></p>\n<ul>\n<li><p>If the purchase creation response times out or the purchaseId is not received,<br />  the merchant can use merchantRef to retrieve the corresponding transaction details.</p>\n</li>\n<li><p>This ensures reliable tracking and reconciliation even when immediate responses are unavailable.</p>\n</li>\n</ul>\n</li>\n</ol>\n<h3 id=\"system-behavior-without-merchantref\"><strong>System Behavior Without merchantRef</strong></h3>\n<ul>\n<li><p>If merchantRef is not provided, the platform automatically assigns an internal purchaseId.</p>\n</li>\n<li><p>This internally generated purchaseId then becomes the sole reference for that transaction.</p>\n</li>\n</ul>\n<h3 id=\"purchase-creation-outcome\"><strong>Purchase Creation Outcome</strong></h3>\n<ul>\n<li><p>On successful creation of a Purchase:</p>\n<ul>\n<li><p>The system returns a purchaseId.</p>\n</li>\n<li><p>This purchaseId uniquely identifies the transaction within the platform.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"step-2-server-to-server-s2s-processing\"><strong>Step 2: Server-to-Server (S2S) Processing</strong></h2>\n<p>After receiving the purchaseId, merchants must proceed with the server-to-server (S2S) call using the following pattern:</p>\n<p>This call is required to continue processing the transaction securely on the server side.</p>\n<p><strong>| POST p/{purchaseId}/?s2s=true |</strong></p>\n<h2 id=\"step-3-transaction-flows-after-calling-callback_url\">Step 3: Transaction Flows After Calling callback_url</h2>\n<p>After the callback URL is invoked, the transaction can proceed through one of the following three flows:</p>\n<h3 id=\"3d-secure-challenge-flow-1\"><strong>3D Secure Challenge Flow</strong></h3>\n<ul>\n<li><p>The user is redirected to the ACS (Access Control Server) page of the issuing bank.</p>\n</li>\n<li><p>The cardholder is required to complete authentication (e.g., OTP, biometric, or password).</p>\n</li>\n<li><p>After successful or failed authentication, the user is redirected to one of the URLs configured during the Purchase Creation API:</p>\n<ul>\n<li><p>Success_redirect</p>\n</li>\n<li><p>Pending_redirect</p>\n</li>\n<li><p>failure_redirect</p>\n</li>\n</ul>\n</li>\n</ul>\n<p>The final redirect depends on the transaction outcome.</p>\n<h3 id=\"3d-secure-frictionless-flow-1\"><strong>3D Secure Frictionless Flow</strong></h3>\n<p>The 3D Secure Frictionless Flow is a streamlined authentication process where the cardholder does not need to perform any additional action. The authentication is completed automatically in the background based on risk assessment performed by the card network and the issuing bank.</p>\n<p>This flow is designed to deliver a fast and seamless checkout experience while still complying with 3D Secure regulations.</p>\n<h4 id=\"when-frictionless-flow-occurs\"><strong>When Frictionless Flow Occurs</strong></h4>\n<p>A transaction may qualify for the frictionless flow when:</p>\n<ul>\n<li><p>The transaction amount is considered low risk</p>\n</li>\n<li><p>The issuing bank trusts the merchant and transaction context</p>\n</li>\n<li><p>Accurate device and browser information is provided</p>\n</li>\n<li><p>The cardholder has a positive transaction history</p>\n</li>\n</ul>\n<p><strong>Note</strong>: The final decision to apply frictionless authentication is made solely by the issuing bank.</p>\n<p><strong>Important:</strong></p>\n<ul>\n<li><p>Calling the callback_url is mandatory for all transactions returning a 202 response.</p>\n</li>\n<li><p>All redirect URLs must be predefined during the Purchase Creation step.</p>\n</li>\n<li><p>Merchants should ensure proper handling of all three redirect outcomes to deliver a seamless user experience.</p>\n</li>\n</ul>\n<h1 id=\"operational-flow\"><strong>Operational Flow</strong></h1>\n<ol>\n<li><p>The merchant submits the card payment request using the Server-to-Server (S2S) API.</p>\n</li>\n<li><p>Paysecure sends the transaction details to the card network and issuing bank for 3D Secure evaluation.</p>\n</li>\n<li><p>The issuing bank determines that no challenge is required based on:</p>\n<ul>\n<li><p>Cardholder risk profile</p>\n</li>\n<li><p>Transaction amount</p>\n</li>\n<li><p>Device and browser data</p>\n</li>\n<li><p>Merchant trust level</p>\n</li>\n</ul>\n</li>\n<li><p>Authentication is successfully completed in the background without redirecting the user to an authentication (ACS) page.</p>\n</li>\n<li><p>Once authentication and authorization are completed, the user is automatically redirected to the appropriate URL configured during the Purchase Creation API.</p>\n</li>\n</ol>\n<h1 id=\"http-response-codes\"><strong>HTTP Response Codes</strong></h1>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Code</th>\n<th>Triggering Event</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>Request processed successfully</td>\n</tr>\n<tr>\n<td>202</td>\n<td>Request accepted and processing is pending</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Bad request – invalid data provided or required data is missing</td>\n</tr>\n<tr>\n<td>401</td>\n<td>Unauthorized request – invalid or missing authentication credentials</td>\n</tr>\n<tr>\n<td>404</td>\n<td>Resource or page not found</td>\n</tr>\n<tr>\n<td>405</td>\n<td>Method not allowed (unsupported HTTP method such as GET or 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 – required data is missing or invalid</td>\n</tr>\n<tr>\n<td>429</td>\n<td>Too many requests – rate limit exceeded</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Internal server error</td>\n</tr>\n</tbody>\n</table>\n</div><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","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"5ae9b583-c223-422e-89b8-963e36b94724"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"6ec27668-c968-47f4-bb6d-f6f3cae542c7"}}],"_postman_id":"9bd5e5d2-53a1-4799-8478-3f0678c56d05"},{"name":"APIs","item":[{"name":"Purchase","id":"9acce252-73c1-44fc-b5b6-8080e1ad5992","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user1599@example.com\",\r\n        \"street_address\": \"90 Fixture Close\",\r\n        \"city\": \"Riverton\",\r\n        \"full_name\": \"Reese Nakamura\",\r\n        \"zip_code\": \"01000-000\",\r\n        \"country\": \"IN\",\r\n        \"date_of_birth\": \"1991-07-10\",\r\n        \"stateCode\": \"SP\",\r\n        \"phone\": \"+91 9634458881\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"e-commerce\",\r\n                \"price\": \"5\"\r\n            }\r\n        ]\r\n    },\r\n    \"merchantRef\": \"Morgan Costa2345test\", // optional\r\n    \"paymentMethod\": \"MASTER\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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>The customer's email.</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>The customer's city.</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>The customer's address.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>The customer's ZIP or postal code. If country=US, zip format must be NNNNN or NNNNN-NNNN.</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 />  <br />Please note, the currency has to be enabled by the account manager for your account.</td>\n</tr>\n<tr>\n<td>purchase.products</td>\n<td>An object which contains the list of products which the customer is buying.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>The name of the product.</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>pending_redirect</td>\n<td>URL to send the user if the transactions is in pending.</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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure 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</tr>\n</thead>\n<tbody>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n</tr>\n<tr>\n<td>some Mandatory Parameter are missing</td>\n</tr>\n<tr>\n<td>Invalid format of Date_of_Birth [allowed format: yyyy-mm-dd]</td>\n</tr>\n<tr>\n<td>Invalid Email Format</td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n</tr>\n<tr>\n<td>Merchant Limit is not set</td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n</tr>\n<tr>\n<td>Brand not found !</td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n</tr>\n<tr>\n<td>Only {{currencyCode}} currency is allowed.</td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n</tr>\n<tr>\n<td>Invalid_Parameter  <br />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":"noauth","isInherited":true,"source":{"_postman_id":"6b9c72fa-b351-485a-a846-1d9e3635a094","id":"6b9c72fa-b351-485a-a846-1d9e3635a094","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"c18960c3-d865-4f7f-bd7f-c32dc41ac429","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user1599@example.com\",\r\n        \"street_address\": \"90 Fixture Close\",\r\n        \"city\": \"Riverton\",\r\n        \"full_name\": \"Reese Nakamura\",\r\n        \"zip_code\": \"01000-000\",\r\n        \"country\": \"IN\",\r\n        \"date_of_birth\": \"1991-07-10\",\r\n        \"stateCode\": \"SP\",\r\n        \"phone\": \"+91 9634458881\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"e-commerce\",\r\n                \"price\": \"5\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"MASTER\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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\": \"6a1d26a3d373e5fd3c44ae14\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user1599@example.com\",\n        \"phone\": \"6393000899\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1780295331,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"MASTER,VISA,JCB,VIRTUAL-CARD,MOBILEMONEY,UPI-INTENT,UPI-QR,INTERAC-E-TRANSFER,INTERAC-REQUEST-MONEY,INTERAC-EXPRESS,PIX,FawryPay,OPEN-BANKING,SPEI\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1780295331,\n    \"merchantRef\": \"user5957@example.com\",\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"product name\",\n                \"quantity\": 1.0,\n                \"price\": 10.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 10.0,\n        \"requestAmount\": 10.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"taxAmount\": 0.0,\n        \"taxPercent\": 0.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\": \"Final_cashier\",\n        \"brand_name\": \"Final_cashier\",\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\": 1780295331\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS1172\",\n    \"issued\": \"2026-06-01\",\n    \"due\": 1780295331,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"extraFee\": \"0\",\n    \"totalRefunded\": 0.0,\n    \"paidOn\": 0,\n    \"receivedAmt\": 0.0,\n    \"taxAmount\": 0.0,\n    \"surcharge\": 0.0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\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    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.232\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/c3f2eee71c5824b75c7b52ff41e76814/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a1d26a3d373e5fd3c44ae14/\",\n    \"payoutProcess\": false\n}"},{"id":"6bc50a59-3117-432a-8db6-190d8a492243","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user1599@example.com\",\r\n        \"street_address\": \"90 Fixture Close\",\r\n        \"city\": \"Riverton\",\r\n        \"full_name\": \"Reese Nakamura\",\r\n        \"zip_code\": \"01000-000\",\r\n        \"country\": \"IN\",\r\n        \"date_of_birth\": \"1991-07-10\",\r\n        \"stateCode\": \"SP\",\r\n        \"phone\": \"+91 9634458881\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"e-commerce\",\r\n                \"price\": \"5\"\r\n            }\r\n        ]\r\n    },\r\n    \"merchantRef\": \"Morgan Costa2345test\", // optional\r\n    \"paymentMethod\": \"MASTER\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/purchases"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Thu, 23 Jul 2026 05:43:15 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"c07bd249-d2e4-4e74-9ed0-c965c1dda2da"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 a863373015dd073e91a52d99d8ad6bfc.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"U2b6w0TFxlY3b7tonscz71FODjmdZYELG6dLUj2_xoJrHfVOfrvINw=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=y%2BGEIJ%2Bk5LUPJPukL601IMsbHpT426vsZPHtXNnbIrQl17sOhZMHt1S5g%2B0PlJ8tDNpAVwsGq8otMh2f2H1qVF%2Bc1PSkl3Ru1NotMmZJfFDRZLf9It3qA8EU067KuPjMWaPF\"}]}"},{"key":"CF-RAY","value":"a1f85dcfacfdd635-IAD"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Incorrect secret_key\",\n    \"code\": \"authentication_failed\"\n}"}],"_postman_id":"9acce252-73c1-44fc-b5b6-8080e1ad5992"},{"name":"S2S","id":"e0c1ce5c-a390-4ee0-becc-babdd279e598","protocolProfileBehavior":{"disableUrlEncoding":false,"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"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\": \"203.0.113.121\",\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://api.paysecure.net/api/v1/p/purchaseid/?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>remote_ip</td>\n<td>IP address of the customer’s device used for transaction. Helps in fraud checks and risk scoring. Ex- 203.0.113.42</td>\n</tr>\n<tr>\n<td>remember_card</td>\n<td>\"on\" or \"off\" if you want us to store the card details on our end.</td>\n</tr>\n<tr>\n<td>user_agent</td>\n<td>Full browser and operating system details captured from HTTP header. EX- Chrome/5.0 (X11; Linux x86_64)</td>\n</tr>\n<tr>\n<td>accept_header</td>\n<td>Browser’s accepted content types (from HTTP header). Used for validating request origin and device info. EX- text/html</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong><br />If you want to use token_reference for doing a card transaction, please have a look at Network Tokenisation Section.</p>\n<h3 id=\"essential-parameters-in-request-body\"><strong>Essential 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>Name of the cardholder</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. MM/YY format.</td>\n</tr>\n<tr>\n<td>cvc</td>\n<td>3 or 4 digit</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Other optional parameters in request body:</strong></p>\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>language</td>\n<td>Preferred language of the user’s browser . EX - en-US</td>\n</tr>\n<tr>\n<td>java_enabled</td>\n<td>Indicates if Java is enabled in the browser. Helps PSPs in device profiling. Ex- true/false</td>\n</tr>\n<tr>\n<td>javascript_enabled</td>\n<td>Indicates if JavaScript is enabled in the client browser. Used for 3DS or risk-based checks. Ex- true</td>\n</tr>\n<tr>\n<td>color_depth</td>\n<td>Bit depth of the display screen. Ex- 24</td>\n</tr>\n<tr>\n<td>utc_offset</td>\n<td>Difference in minutes between local time and UTC. Used for location and timezone checks. Ex- 330</td>\n</tr>\n<tr>\n<td>screen_width</td>\n<td>Width of the device screen in pixels. Used in device profiling. Ex- 1920</td>\n</tr>\n<tr>\n<td>screen_height</td>\n<td>Height of the device screen in pixels. Ex- 1080</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://api.paysecure.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<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":"6b9c72fa-b351-485a-a846-1d9e3635a094","id":"6b9c72fa-b351-485a-a846-1d9e3635a094","name":"APIs","type":"folder"}},"urlObject":{"path":["p","purchaseid",""],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"s2s","value":"true"}],"variable":[]}},"response":[{"id":"df5057b5-4179-4a11-ba85-eac4de112394","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"cardholder_name\": \"dk\",\r\n    \"card_number\": \"411111111111111\",\r\n    \"expires\": \"10/23\",\r\n    \"cvc\": \"345\",\r\n    \"remember_card\": \"on\",\r\n    \"remote_ip\": \"203.0.113.121\",\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":{"raw":"https://api.paysecure.net/api/v1/p/purchaseid/?s2s=true","host":["https://api.paysecure.net/api/v1"],"path":["p","purchaseid",""],"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\": \"https://api.paysecure.net/api/v1/payment/64b034ecc6dccf7d329d9eb3/\",\n    \"method\": \"GET\"\n}"},{"id":"fca37105-34b3-4f42-bc5f-f8a8ce42df18","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"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\": \"203.0.113.121\",\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":{"raw":"https://api.paysecure.net/api/v1/p/purchaseid/?s2s=true","host":["https://api.paysecure.net/api/v1"],"path":["p","purchaseid",""],"query":[{"key":"s2s","value":"true"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Tue, 06 Jan 2026 05:57:10 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"cc434220-0bcd-42c7-9078-53503b81a221"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 9bce423254194c16408d5cf7234126e2.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"FgTt6KEGIk0CH79DQDOvB1tYb1pGfaz0ryIVmQ0CCpDShyhsJGuAkA=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=9SnHJOEjnd1y7hArGsRLWmrk8H9ExaiR%2Fc%2BQMWhAvHlNPYCNEjS60wTjIyODXpca0ZD9%2BalkhLJ63boMGg%2B8iI6eFtXfW%2BxwGaBP1p1ZcwpA\"}]}"},{"key":"CF-RAY","value":"9b98f9f4684505e7-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Authorization header missing\",\n    \"code\": \"authentication_failed\"\n}"}],"_postman_id":"e0c1ce5c-a390-4ee0-becc-babdd279e598"},{"name":"Payment (To be initiated From client browser)","id":"fc948fe9-5924-4403-ab37-73870d16b6c8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/payment/purchaseid/","description":"<p>This is the callback URL that is in the response object of the 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 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":"6b9c72fa-b351-485a-a846-1d9e3635a094","id":"6b9c72fa-b351-485a-a846-1d9e3635a094","name":"APIs","type":"folder"}},"urlObject":{"path":["payment","purchaseid",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"498607b8-2462-4f6a-a864-e40af2245f4d","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/payment/purchaseid/"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Thu, 23 Jul 2026 05:44:32 GMT"},{"key":"Content-Length","value":"0"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"2e50df3e-f2b8-4348-9e87-94ba435ddad8"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 ee18a1b4e63943353fb077b0d07769f6.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"89jTEtoJCKUezw8Bb4q8Ks5eoez_W5865iIrcozRrAXgbB5yso0N1g=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=zY%2Bb36FlS7NuZoDXIwoJGLYsdtE4ZNhhoMpDPzLUH2CFzlfUTGFSK4QvbuFQtrSPzbne6UvrajEUcOqcGZrI38k1jwqw7i3XCeLuIVPGu2c82Y184reBB%2BCgd41wK2rrsfWQ\"}]}"},{"key":"CF-RAY","value":"a1f85faf3fa4595b-IAD"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"64bfdb7df63e36669499e82f\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"user6085@example.com\",\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\": \"203.0.113.133\",\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\": \"your-brand-id\",\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://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.133\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/64bfdb7df63e36669499e82f/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/64bfdb7df63e36669499e82f/\"\n}"},{"id":"9054b97f-d90a-44e3-8700-a33ba55780bc","name":"Failure","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/payment/purchaseid/"},"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":"fc948fe9-5924-4403-ab37-73870d16b6c8"},{"name":"Get Status","id":"0bf2b85e-e2ca-4230-8d6b-65a52cc40528","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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>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":"6b9c72fa-b351-485a-a846-1d9e3635a094","id":"6b9c72fa-b351-485a-a846-1d9e3635a094","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases","purchaseid",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"818a5e51-f650-405f-805f-c92757462456","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/"},"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\": \"user6085@example.com\",\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\": \"203.0.113.133\",\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\": \"your-brand-id\",\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://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.133\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/64bfdb7df63e36669499e82f/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/64bfdb7df63e36669499e82f/\"\n}"},{"id":"cfa2be46-6aa2-4bb6-8634-391724937f21","name":"Failure","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/"},"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\": \"user6085@example.com\",\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\": \"203.0.113.133\",\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\": \"your-brand-id\",\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://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.133\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/64bfd7c9f63e36669499e779/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/64bfd7c9f63e36669499e779/\"\n}"}],"_postman_id":"0bf2b85e-e2ca-4230-8d6b-65a52cc40528"},{"name":"Refund","id":"0b8bbd7e-aa4a-4d45-94e2-7d3caed2003c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/refund","description":"<p>This API is used to initate refund (Full 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<p>Currently we don't support partial refunds.</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","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"6b9c72fa-b351-485a-a846-1d9e3635a094","id":"6b9c72fa-b351-485a-a846-1d9e3635a094","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases","purchaseid","refund"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"bf45cf1e-7bd5-4086-ae5e-f9af800ea03c","name":"Refund - Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/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        \"customerId\": \"NA\",\n        \"email\": \"user3747@example.com\",\n        \"phone\": \"6393000899\",\n        \"full_name\": \"Test\",\n        \"date_of_birth\": \"05/05/1995\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\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\": \"203.0.113.133\",\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\": \"203.0.113.133\",\n                \"type\": \"refund\",\n                \"successful\": true,\n                \"processing_time\": 1690302819,\n                \"extra\": {\n                    \"amount\": 9\n                }\n            }\n        ]\n    },\n    \"status\": \"REFUNDED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1765294731\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1765294744\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1765294754\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1765297331\n        },\n        {\n            \"status\": \"refunded\",\n            \"timestamp\": 1765624009\n        }\n    ],\n    \"viewedOn\": 1690299929,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\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://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.133\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/64bfdb7df63e36669499e82f/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/64bfdb7df63e36669499e82f/\"\n}"},{"id":"d1c4584f-3a1f-4153-89da-3983721762c7","name":"Refund - Pending","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/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        \"customerId\": \"NA\",\n        \"email\": \"user3747@example.com\",\n        \"phone\": \"6393000899\",\n        \"full_name\": \"Test\",\n        \"date_of_birth\": \"05/05/1995\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\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\": \"203.0.113.133\",\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\": \"203.0.113.133\",\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\": \"your-brand-id\",\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://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.133\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/64bfdb7df63e36669499e82f/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/64bfdb7df63e36669499e82f/\"\n}"},{"id":"49f97102-c90c-43ec-bf70-f49f42e917e9","name":"Refund - Error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/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}"}],"_postman_id":"0b8bbd7e-aa4a-4d45-94e2-7d3caed2003c"},{"name":"Payment Methods","id":"d32e5ab5-1cab-4b41-866c-b2e27ee7cf96","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/payment_methods?brand_id=your-brand-id","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":"6b9c72fa-b351-485a-a846-1d9e3635a094","id":"6b9c72fa-b351-485a-a846-1d9e3635a094","name":"APIs","type":"folder"}},"urlObject":{"path":["payment_methods"],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"brand_id","value":"your-brand-id"}],"variable":[]}},"response":[{"id":"1106c1b5-1617-41a8-a7dd-25ccfd813548","name":"Payment Methods - Error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":{"raw":"https://api.paysecure.net/api/v1/payment_methods?brand_id=your-brand-id","host":["https://api.paysecure.net/api/v1"],"path":["payment_methods"],"query":[{"key":"brand_id","value":"your-brand-id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Thu, 07 Aug 2025 10:48:58 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"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":"Server","value":"cloudflare"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 1e5d213252e38a8aa2e2a927fd3c3754.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD55-P8"},{"key":"X-Amz-Cf-Id","value":"Uv3p02pbXBomVNE_FH3o2ezRXrqvTAr9etg7HAKsVUuUi_8Gvf-ecg=="},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=%2BlRerjanFZR0Fh4fFP1DM51iCxavbwesIYz%2FiBfbqbOF5YopeuJBxoMy5kdhHS3%2B%2FyNAacKQzKUv%2FzyXT4gfSV78ugg1iMBiIlmatHtRFg%3D%3D\"}]}"},{"key":"CF-RAY","value":"96b63463da73093a-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"_all_\": [\n        {\n            \"message\": \"Authorization header missing\",\n            \"code\": \"authentication_failed\"\n        }\n    ]\n}"},{"id":"6ea3031f-3e45-4ed1-b38d-df065f751f28","name":"Payment Method- Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":{"raw":"https://api.paysecure.net/api/v1/payment_methods?brand_id=your-brand-id","host":["https://api.paysecure.net/api/v1"],"path":["payment_methods"],"query":[{"key":"brand_id","value":"your-brand-id"}]}},"status":"Accepted","code":202,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Tue, 09 Sep 2025 08:04:28 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":"Server","value":"cloudflare"},{"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":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=PoGnHzy1YxgyVIthM1PXA54R6F7GXZydfD3kEWXJ%2BfS8vqK1BSV2kQ7%2FcLQCX%2FyIPxxfOymqmqTum2vAWfB9UeDg9tjww39Rt9OJVyQrrwNtZZaWMA%3D%3D\"}]}"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"CF-RAY","value":"97c52ccb09290668-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"available_payment_methods\": [\n        \"MASTER\",\n        \"visa\",\n        \"jcb\",\n        \"amex\",\n        \"CRYPTO-BRIDGE\",\n        \"FawryPay\",\n        \"INTERAC-E-TRANSFER\",\n        \"INTERAC-REQUEST-MONEY\",\n        \"MOBILEMONEY\",\n        \"NEOSURF\",\n        \"PAYID\",\n        \"PIX\",\n        \"SPEI\",\n        \"THIRDPARTY-UPI\",\n        \"discover\",\n        \"BANKTRANSFER\",\n        \"VIRTUAL-IBAN\",\n        \"UPI-COLLECT\",\n        \"UPI-QR\",\n        \"VIRTUAL-ACCOUNT\",\n        \"DINERS\",\n        \"NETBANKING\"\n    ],\n    \"by_country\": {\n        \"any\": [\n            \"MASTER\",\n            \"VISA\",\n            \"JCB\",\n            \"AMEX\",\n            \"CRYPTO-BRIDGE\",\n            \"FawryPay\",\n            \"INTERAC-E-TRANSFER\",\n            \"INTERAC-REQUEST-MONEY\",\n            \"MOBILEMONEY\",\n            \"NEOSURF\",\n            \"PAYID\",\n            \"PIX\",\n            \"SPEI\",\n            \"THIRDPARTY-UPI\",\n            \"DISCOVER\",\n            \"BANKTRANSFER\",\n            \"VIRTUAL-IBAN\",\n            \"UPI-COLLECT\",\n            \"UPI-QR\",\n            \"VIRTUAL-ACCOUNT\",\n            \"DINERS\",\n            \"NETBANKING\"\n        ]\n    },\n    \"country_names\": {\n        \"any\": \"Other\"\n    },\n    \"names\": {\n        \"NETBANKING\": \"NETBANKING\",\n        \"AMEX\": \"AMEX\",\n        \"MASTER\": \"Mastercard\",\n        \"CRYPTO-BRIDGE\": \"CRYPTO-BRIDGE\",\n        \"PAYID\": \"PAYID\",\n        \"SPEI\": \"SPEI\",\n        \"DISCOVER\": \"DISCOVER\",\n        \"JCB\": \"JCB\",\n        \"VISA\": \"Visa\",\n        \"NEOSURF\": \"NEOSURF\",\n        \"INTERAC-E-TRANSFER\": \"INTERAC-E-TRANSFER\",\n        \"THIRDPARTY-UPI\": \"THIRDPARTY-UPI\",\n        \"VIRTUAL-IBAN\": \"VIRTUAL-IBAN\",\n        \"BANKTRANSFER\": \"BANKTRANSFER\",\n        \"DINERS\": \"DINERS\",\n        \"INTERAC-REQUEST-MONEY\": \"INTERAC-REQUEST-MONEY\",\n        \"UPI-COLLECT\": \"UPI-COLLECT\",\n        \"UPI-QR\": \"UPI-QR\",\n        \"MOBILEMONEY\": \"MOBILEMONEY\",\n        \"FawryPay\": \"FawryPay\",\n        \"VIRTUAL-ACCOUNT\": \"VIRTUAL-ACCOUNT\",\n        \"PIX\": \"PIX\"\n    },\n    \"card_methods\": [\n        \"MASTER\",\n        \"VISA\",\n        \"JCB\",\n        \"AMEX\",\n        \"DISCOVER\"\n    ]\n}"}],"_postman_id":"d32e5ab5-1cab-4b41-866c-b2e27ee7cf96"},{"name":"Cancel","id":"51d26458-01b3-4c27-bc4f-f332a3a0ddfb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/64bff556f63e36669499e9d3/cancel","description":"<p>Cancels an in-progress or completed purchase transaction, preventing further processing or reversing the authorization hold. Use this endpoint to void a transaction that has not yet been settled to the merchant's account.</p>\n<p><strong>When to use:</strong></p>\n<ul>\n<li><p><strong>Post-creation cancellation:</strong> Cancel a purchase immediately after it has been created via the Purchase API, before the customer completes the payment flow.</p>\n</li>\n<li><p><strong>Pre-redirect cancellation:</strong> Cancel a transaction after completing the server-to-server (S2S) call but before redirecting the cardholder to the <code>callbackURL</code>. This is useful when your backend validation logic determines the transaction should not proceed (e.g., inventory check failure, fraud flag, duplicate order detection).</p>\n</li>\n</ul>\n<p>Purchase ID is <strong>mandatory</strong> for this API.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"6b9c72fa-b351-485a-a846-1d9e3635a094","id":"6b9c72fa-b351-485a-a846-1d9e3635a094","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases","64bff556f63e36669499e9d3","cancel"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"50d07496-1280-4c22-b256-c1650f588a0d","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/64bff556f63e36669499e9d3/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        \"email\": \"user6085@example.com\",\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\": \"your-brand-id\",\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://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.133\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/64bff4fff63e36669499e9c8/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/64bff4fff63e36669499e9c8/\"\n}"},{"id":"db473ed6-16b1-44c6-9e8e-94c4e6ef0060","name":"Error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/64bff556f63e36669499e9d3/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":"b3c18b28-c344-4d19-acec-1e8997e7e291","name":"Transaction Already Refunded","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/64bff556f63e36669499e9d3/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\": \"Transaction cannot be cancelled in status: refunded\",\n  \"code\": \"transaction_error\"\n}"}],"_postman_id":"51d26458-01b3-4c27-bc4f-f332a3a0ddfb"},{"name":"checkWhiteList","id":"3f26adb1-5887-4fa5-bb3f-884b9cd86cb1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"user9283@example.com\",\r\n    \"card_num\": \"5555555555554444\"\r\n    //  \"signup_date\": \"16-05-2023\",  not requered\r\n    //  \"deposit_date\": \"16-05-2023\",\r\n    // \"number_of_deposits\": 6,\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/checkWhiteList","description":"<h3 id=\"overview\">Overview</h3>\n<p>Paysecure supports the concept of whitelisted cards. The merchant can send PaySecure 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":"6b9c72fa-b351-485a-a846-1d9e3635a094","id":"6b9c72fa-b351-485a-a846-1d9e3635a094","name":"APIs","type":"folder"}},"urlObject":{"path":["checkWhiteList"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"d207b021-c37b-47cc-b480-3c82846a9649","name":"checkWhiteList - Doesn't exists","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"user7743@example.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":"https://api.paysecure.net/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":"1aa37b7a-1a34-458c-a4cc-cec745c282e6","name":"checkWhiteList - Exists","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"user9283@example.com\",\r\n    \"card_num\": \"5555555555554444\"\r\n    //  \"signup_date\": \"16-05-2023\",  not requered\r\n    //  \"deposit_date\": \"16-05-2023\",\r\n    // \"number_of_deposits\": 6,\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.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":"3f26adb1-5887-4fa5-bb3f-884b9cd86cb1"},{"name":"Whitelist Upload","id":"0e03927a-3bd0-4730-9bd0-c1c18e7fb4a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data; boundary=<calculated when request is sent>"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"csvFile","type":"file","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","filesNotInWorkingDirectory":["/C:/Users/HP/Desktop/Important/upladingfile/merchantwhitlist.csv"],"value":null}]},"url":"https://api.paysecure.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":"6b9c72fa-b351-485a-a846-1d9e3635a094","id":"6b9c72fa-b351-485a-a846-1d9e3635a094","name":"APIs","type":"folder"}},"urlObject":{"path":["whitelist","upload",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"c4d70ad3-3a96-4c05-9031-7f6b165c81bb","name":"Whitelist Upload success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data; boundary=<calculated when request is sent>","disabled":true},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"csvFile","type":"file","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","filesNotInWorkingDirectory":["/C:/Users/HP/Desktop/Important/upladingfile/merchantwhitlist.csv"],"src":[]}]},"url":"https://api.paysecure.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":"f62aef99-e79b-4d18-8837-024f4ee3a2ee","name":"Whitelist Upload failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data; boundary=<calculated when request is sent>","disabled":true},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"csvFile","type":"file","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","filesNotInWorkingDirectory":["/C:/Users/HP/Desktop/Important/upladingfile/merchantwhitlist.csv"],"src":[]}]},"url":"https://api.paysecure.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":"0e03927a-3bd0-4730-9bd0-c1c18e7fb4a3"},{"name":"PayOut","id":"3e26ec87-1a12-4214-9388-5ae7437cb5e0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3069@example.com\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"QLD\",\n        \"full_name\": \"Reese Moreau\",\n        \"street_address\": \"13 Documentation Way\",\n        \"zip_code\": \"68403\",\n        \"phone\": \"+44 9876543210\",\n        \"gender\": \"M\",\n        \"date_of_birth\": \"1970-07-10\"\n    },\n    \"purpose\": \"Testing cards payout\",\n    \"currency\": \"GBP\",\n    \"merchantRef\": \"YOUR ORDER ID\", // optional\n    \"payoutMethod\": \"PAYOUT-CARDS\",\n    \"amount\": 100.0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\n        \"cardNumber\": \"5431240006334004\",\n        \"cardHolderName\": \"Reese Nakamura\",\n        \"expiryYear\": \"2030\",\n        \"expiryMonth\": \"11\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payout/","description":"<h2 id=\"overview\">Overview</h2>\n<p>The <strong>Original Credit Transaction (OCT)</strong>, commonly referred to as <strong>Push to Card</strong>, enables merchants to facilitate near-instantaneous fund transfers directly to a customer’s eligible Visa or Mastercard debit or credit card. Unlike traditional refund processes that can only return funds from a previous purchase, OCT allows for independent disbursements of funds to a cardholder's account.</p>\n<p>This feature is designed for high-velocity industries that require frictionless, real-time payouts, such as:</p>\n<ul>\n<li><p><strong>Gaming &amp; Betting:</strong> Real-time withdrawal of player winnings.</p>\n</li>\n<li><p><strong>Marketplaces:</strong> Payouts to sellers or service providers.</p>\n</li>\n<li><p><strong>Corporate Disbursements:</strong> Instant insurance claims, rebates, or compensation payments.</p>\n</li>\n<li><p><strong>Merchant Settlements:</strong> Faster access to processed funds for sub-merchants.</p>\n</li>\n</ul>\n<p>By utilizing the Paysecure <code>/payout</code> API with the <code>PAYOUT-CARDS</code> method, you benefit from a unified orchestration layer that handles the complexities of card network routing, ensuring high success rates and global reach while maintaining the same security standards as your standard payment integrations.</p>\n<hr />\n<h2 id=\"integration-steps\">Integration Steps</h2>\n<ol>\n<li><p><strong>Enable OCT:</strong> Ensure \"Push to Card\" permissions are enabled for your merchant account in the Paysecure Merchant Portal.</p>\n</li>\n<li><p><strong>Collect Card Details:</strong> Collect the recipient's card details securely, or use Paysecure's Cashier to collect the card information on your behalf.</p>\n</li>\n<li><p><strong>Execute Payout:</strong> Call the <code>/payout</code> endpoint with the OCT-specific payout method.</p>\n</li>\n<li><p><strong>Handle Webhooks:</strong> Listen for the <code>paid</code> or <code>failure</code> events to update your internal records.</p>\n</li>\n</ol>\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>Required</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td>Yes</td>\n<td>The customer's email.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>Yes</td>\n<td>The customer's phone number along with the country code.  <br />Example: +91 9634088651</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>Yes</td>\n<td>The customer's city.</td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>Yes</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>Optional</td>\n<td>Example “AL”, “XZ”. Must be in upper case.</td>\n</tr>\n<tr>\n<td>Client.street_address</td>\n<td>Optional</td>\n<td>The customer's address.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>Optional</td>\n<td>The customer's ZIP or postal code. If country=US, zip format must be NNNNN or NNNNN-NNNN.</td>\n</tr>\n<tr>\n<td>currency</td>\n<td>Yes</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />  <br />Please note, the currency has to be enabled by the account manager for your account.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>Yes</td>\n<td>amount 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>payoutMethod</td>\n<td>Optional</td>\n<td>example: PAYOUT-CARDS</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Yes</td>\n<td>URL to send the user if the transactions is successful.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Yes</td>\n<td>URL to send the user if the transactions is in pending.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Yes</td>\n<td>URL to send the user if the transactions is unsuccessful.</td>\n</tr>\n<tr>\n<td>Purpose</td>\n<td>Optional</td>\n<td>The purpose of doing a payout.</td>\n</tr>\n<tr>\n<td>extraParam.cardNumber</td>\n<td>Yes</td>\n<td>The recipient's 16-digit card number.</td>\n</tr>\n<tr>\n<td>extraParam.expiryYear</td>\n<td>Yes</td>\n<td>YYYY format (e.g., 2028).</td>\n</tr>\n<tr>\n<td>extraParam.expiryMonth</td>\n<td>Yes</td>\n<td>MM format (e.g., 05).</td>\n</tr>\n<tr>\n<td>extraParam.cardHolderName</td>\n<td>Yes</td>\n<td>The receiver's Full Name. Preferred a 2 word name with each word atleast 3 characters long.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong></p>\n<p>If the merchant is not PCI DSS compliant then they will need to use our <strong>cashier</strong> and asking the user to enter the card details there. Check the cashier section for more details. If the merchant is PCI DSS compliant then they can use the payout API and send the card details as shown above.</p>\n<p>If the merchant wants to use <strong>token_reference</strong> for doing a payout, then please have a look at the Network Tokenisation Section.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"6b9c72fa-b351-485a-a846-1d9e3635a094","id":"6b9c72fa-b351-485a-a846-1d9e3635a094","name":"APIs","type":"folder"}},"urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"3834a594-7694-4206-8171-c4ca9406f6d4","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user3069@example.com\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"Milford\",\r\n        \"stateCode\": \"QLD\",\r\n        \"full_name\": \"Reese Moreau\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"zip_code\": \"68403\",\r\n        \"phone\": \"+44 9876543210\",\r\n        \"gender\": \"M\",\r\n        \"date_of_birth\": \"1970-07-10\"\r\n    },\r\n    \"purpose\": \"Testing cards payout\",\r\n    \"currency\": \"GBP\",\r\n    \"merchantRef\": \"YOUR ORDER ID\", // optional\r\n    \"payoutMethod\": \"PAYOUT-CARDS\",\r\n    \"amount\": 100.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\r\n        \"cardNumber\": \"5431240006334004\",\r\n        \"cardHolderName\": \"Reese Nakamura\",\r\n        \"expiryYear\": \"2030\",\r\n        \"expiryMonth\": \"11\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payout/"},"status":"Accepted","code":202,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"6977137755e0628e3600c562\",\r\n    \"client\": {\r\n        \"email\": \"user3069@example.com\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"Milford\",\r\n        \"stateCode\": \"QLD\",\r\n        \"full_name\": \"Reese Moreau\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"zip_code\": \"68403\",\r\n        \"phone\": \"+44 9876543210\",\r\n        \"gender\": \"M\",\r\n        \"date_of_birth\": \"1970-07-10\"\r\n    },\r\n    \"updated_on\": 1769411447,\r\n    \"extraParam\": {\r\n        \"cardNumber\": \"5431240006334004\",\r\n        \"cardHolderName\": \"Reese Nakamura\",\r\n        \"expiryYear\": \"2030\",\r\n        \"expiryMonth\": \"11\"\r\n    },\r\n    \"payoutMethod\": \"PAYOUT-CARDS\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 100.0,\r\n    \"errorMsg\": \"\",\r\n    \"purpose\": \"Testing cards payout\",\r\n    \"created_on\": 1769411447,\r\n    \"merchantRef\": \"YOUR ORDER ID\",\r\n    \"status\": \"PAID\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1769411447\r\n        },\r\n        {\r\n            \"status\": \"payout_in_process\",\r\n            \"timestamp\": 1769411447\r\n        },\r\n        {\r\n            \"status\": \"paid\",\r\n            \"timestamp\": 1769411447\r\n        },\r\n\r\n    ],\r\n    \"currency\": \"GBP\",\r\n    \"extraFee\": \"0\",\r\n    \"paymentOn\": 0,\r\n    \"checkout_url\": \"https://api.paysecure.net/payout/092e59f94279a3742fa3715fe9a2112a/\",\r\n    \"taxAmount\": 0.0,\r\n    \"taxPercent\": 0.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"redirectType\": \"POST\",\r\n    \"sessionId\": \"\",\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"trxMethod\": \"CARDS\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}"},{"id":"e32a1818-9cae-4b2a-8b13-a8c10c17682b","name":"Error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user3069@example.com\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"Milford\",\r\n        \"stateCode\": \"QLD\",\r\n        \"full_name\": \"Reese Moreau\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"zip_code\": \"68403\",\r\n        \"phone\": \"+44 9876543210\",\r\n        \"gender\": \"M\",\r\n        \"date_of_birth\": \"1970-07-10\"\r\n    },\r\n    \"purpose\": \"Testing cards payout\",\r\n    \"currency\": \"GBP\",\r\n    \"merchantRef\": \"YOUR ORDER ID\", // optional\r\n    \"payoutMethod\": \"PAYOUT-CARDS\",\r\n    \"amount\": 100.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\r\n        \"cardNumber\": \"5431240006334004\",\r\n        \"cardHolderName\": \"Reese Nakamura\",\r\n        \"expiryYear\": \"2030\",\r\n        \"expiryMonth\": \"11\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payout/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"6977137755e0628e3600c562\",\r\n    \"client\": {\r\n        \"email\": \"user3069@example.com\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"Milford\",\r\n        \"stateCode\": \"QLD\",\r\n        \"full_name\": \"Reese Moreau\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"zip_code\": \"68403\",\r\n        \"phone\": \"+44 9876543210\",\r\n        \"gender\": \"M\",\r\n        \"date_of_birth\": \"1970-07-10\"\r\n    },\r\n    \"updated_on\": 1769411447,\r\n    \"extraParam\": {\r\n        \"cardNumber\": \"5431240006334004\",\r\n        \"cardHolderName\": \"Reese Nakamura\",\r\n        \"expiryYear\": \"2030\",\r\n        \"expiryMonth\": \"11\"\r\n    },\r\n    \"payoutMethod\": \"PAYOUT-CARDS\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 100.0,\r\n    \"errorMsg\": \"\",\r\n    \"purpose\": \"Testing cards payout\",\r\n    \"created_on\": 1769411447,\r\n    \"merchantRef\": \"YOUR ORDER ID\",\r\n    \"status\": \"error\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1769411447\r\n        },\r\n        {\r\n            \"status\": \"error\",\r\n            \"timestamp\": 1769411447\r\n        },\r\n\r\n    ],\r\n    \"currency\": \"GBP\",\r\n    \"extraFee\": \"0\",\r\n    \"paymentOn\": 0,\r\n    \"checkout_url\": \"https://api.paysecure.net/payout/092e59f94279a3742fa3715fe9a2112a/\",\r\n    \"taxAmount\": 0.0,\r\n    \"taxPercent\": 0.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"redirectType\": \"POST\",\r\n    \"sessionId\": \"\",\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"trxMethod\": \"BANKTRANSFER\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}"}],"_postman_id":"3e26ec87-1a12-4214-9388-5ae7437cb5e0"}],"id":"6b9c72fa-b351-485a-a846-1d9e3635a094","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"07049582-40b3-49c9-bd5c-93d5c6293c92"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"2ac6d522-9434-4b88-8db4-90df6c7312da"}}],"_postman_id":"6b9c72fa-b351-485a-a846-1d9e3635a094","description":""}],"id":"fc723b1e-0378-4ed9-b442-73ff853b3644","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"c7af5b7e-12fb-4f4f-b6a6-490b27da8ace"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"2fb4293e-f80b-40c3-95cf-282a9954a3dd"}}],"_postman_id":"fc723b1e-0378-4ed9-b442-73ff853b3644","description":""},{"name":"💰 APMs (Alternative Payment Methods)","item":[{"name":"🇨🇦 Interac e-Transfer","item":[{"name":"Concepts","item":[{"name":"New Folder","item":[],"id":"f335c4b7-13fb-451b-bd50-2a7b4ab0bf36","_postman_id":"f335c4b7-13fb-451b-bd50-2a7b4ab0bf36","description":""}],"id":"05439b74-be65-4429-9869-957f0d92c92c","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=\"paysecures-interac-product-suite-enables-merchants-to-initiate\"><strong>Paysecure’s 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 Paysecure <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, Paysecure 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 />Paysecure 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/e51c224c-855b-49b3-b3a0-e38730ba20d4/SW50ZXJhYyBQYXlPdXQgRmxvdy5wbmc=\" />\n\n<p><strong>Flow</strong></p>\n<ul>\n<li><p><strong>Initiate Payout Request:</strong> The merchant calls the Paysecure <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":"05439b74-be65-4429-9869-957f0d92c92c"},{"name":"PayIn API","item":[{"name":"Purchases","id":"67ae39b6-9f69-4605-bcc5-1fe75be2718a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user2308@example.com\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"city\": \"Milford\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"68403\",\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\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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) 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.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>pending_redirect</td>\n<td>URL to send the user if the transactions is in progress</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 Paysecure.</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 Paysecure'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 Paysecure and at customer's Bank, the merchant and Paysecure 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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure 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, Paysecure 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://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"2d02476f-dc22-4658-afab-8693ba3e2561","name":"Purchase- success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user2308@example.com\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"city\": \"Milford\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"68403\",\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\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.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\":\"user5890@example.com\",\"phone\":\"+447755564318\",\"full_name\":\"Test test\",\"date_of_birth\":\"1970-07-10\",\"street_address\":\"13 Documentation Way\",\"country\":\"CA\",\"city\":\"Milford\",\"zip_code\":\"68403\",\"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\":\"Skyler Nakamurasinghal\",\"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\": \"203.0.113.80, 203.0.113.228, 203.0.113.208\",\"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\":\"your-brand-id\",\"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\":\"user9999@example.com\",\"secretQA\":\"66a8c78af1fc2f768304bce4\",\"secretAnswer\":\"ps8766a8af\"},\"paidOn\":0,\"receivedAmt\":0.0,\"refund_availability\":\"NONE\",\"refundable_amount\":0.0,\"success_redirect\":\"https://your.success.redirect.com\",\"failure_redirect\":\"https://your.failure.redirect.com\",\"cancel_redirect\":\"\",\"success_callback\":\"https://your.success.callback.com\",\"failure_callback\":\"https://your.failure.callback.com\",\"platform\":\"API\",\"created_from_ip\": \"203.0.113.80, 203.0.113.228, 203.0.113.208\",\"checkout_url\":\"https://api.paysecure.net/payments/67efd0ff97be603f97a3a697/\",\"payoutProcess\":false}"}],"_postman_id":"67ae39b6-9f69-4605-bcc5-1fe75be2718a"},{"name":"Get Status","id":"aad280a3-9ad1-4b27-a254-f24fee1d3ca1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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","urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"0efd8ffa-0c17-4021-8a2c-2c33b12cf72e","name":"Purchases-success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.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\": \"user5890@example.com\",\n        \"phone\": \"+14377717874\",\n        \"full_name\": \"Test test\",\n        \"date_of_birth\": \"1970-07-10\",\n        \"street_address\": \"13 Documentation Way\",\n        \"country\": \"CA\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"68403\",\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\": \"Skyler Nakamurasinghal\",\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\": \"203.0.113.128, 203.0.113.179, 203.0.113.62\",\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\": \"your-brand-id\",\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\": \"user6989@example.com\",\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.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\": \"203.0.113.128, 203.0.113.179, 203.0.113.62\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6790e75fa46a5a5bb0b00e55/\",\n    \"payoutProcess\": false\n}"},{"id":"9ce00ed1-760b-490a-b8fd-f5701f3b94c2","name":"Purchases Error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"code":400,"_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":"aad280a3-9ad1-4b27-a254-f24fee1d3ca1"}],"id":"1454c312-da5a-4e59-a1ce-49e9090b8299","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\": \"user6989@example.com\",\n        \"secretQA\": \"6789df35bbefe612e3cb4641\",\n        \"secretAnswer\": \"PS7466835\"\n   }\n\n</code></pre>\n","_postman_id":"1454c312-da5a-4e59-a1ce-49e9090b8299"},{"name":"PayOut API","item":[{"name":"Create PayOut","id":"30bf2068-06d2-40b3-a69e-0e4991a5bc01","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"},{"key":"brandId","value":"your-brand-id","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"phone\": \"+14378817874\",\r\n        \"email\": \"user7850@example.com\",\r\n        \"full_name\": \"Casey Novak\",\r\n        \"stateCode\": \"CT\",\r\n        \"country\": \"CA\",\r\n        \"city\": \"Oakdale\",\r\n        \"street_address\": \"test test\",\r\n        \"zip_code\": \"234567\"\r\n    },\r\n    \"payoutMethod\": \"PAYOUT-INTERAC-ETRANSFER\",\r\n    \"purpose\": \"entertainment\",\r\n    \"currency\": \"CAD\",\r\n    \"amount\": 5.00,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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.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":"noauth","isInherited":true,"source":{"_postman_id":"a737b4a8-7a02-436e-a757-3897eff497f1","id":"a737b4a8-7a02-436e-a757-3897eff497f1","name":"PayOut API","type":"folder"}},"urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"adea5a25-06ea-49d5-b0c0-b74d4c95026d","name":"create payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"brandId","value":"your-brand-id","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"phone\": \"+14378817874\",\r\n        \"email\": \"user7850@example.com\",\r\n        \"full_name\": \"Casey Novak\",\r\n        \"stateCode\": \"CT\",\r\n        \"country\": \"CA\",\r\n        \"city\": \"Oakdale\",\r\n        \"street_address\": \"test test\",\r\n        \"zip_code\": \"234567\"\r\n    },\r\n    \"payoutMethod\": \"PAYOUT-INTERAC-ETRANSFER\",\r\n    \"purpose\": \"entertainment\",\r\n    \"currency\": \"CAD\",\r\n    \"amount\": 5.00,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/payout/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"_type\": \"Payout\",\n    \"payoutId\": \"69cd1236e36738557e988399\",\n    \"client\": {\n        \"_type\": \"PClientDetails\",\n        \"customerId\": \"NA\",\n        \"email\": \"user7850@example.com\",\n        \"phone\": \"+14378817874\",\n        \"full_name\": \"Blake Mensah\",\n        \"date_of_birth\": null,\n        \"street_address\": \"test test\",\n        \"country\": \"CA\",\n        \"city\": \"Oakdale\",\n        \"zip_code\": \"234567\",\n        \"documentId\": null,\n        \"documentType\": null,\n        \"spei_clabe\": null,\n        \"spei_debitCard\": null,\n        \"spei_mobileNo\": null,\n        \"stateCode\": \"CT\"\n    },\n    \"updated_on\": 1775047222,\n    \"payoutMethod\": \"PAYOUT-INTERAC-ETRANSFER\",\n    \"beneficiaryDetail\": null,\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 5,\n    \"errorMsg\": \"paid\",\n    \"issued\": \"2026-04-01\",\n    \"responseMsg\": null,\n    \"purpose\": \"Transfer Interac\",\n    \"created_on\": 1775047222,\n    \"custUniqueId\": \"user5890@example.com\",\n    \"amount_in_usd\": 3.6,\n    \"merchantRef\": \"69cd1236e36738557e988399\",\n    \"instruction\": null,\n    \"merchant_id\": null,\n    \"usePrivateKey\": null,\n    \"merchantName\": null,\n    \"agentId\": 0,\n    \"parentId\": 0,\n    \"whiteId\": 0,\n    \"year\": null,\n    \"month\": null,\n    \"day\": null,\n    \"hour\": 12,\n    \"bankid\": null,\n    \"setCurr\": \"CAD\",\n    \"pspReference\": null,\n    \"bankmid\": null,\n    \"bankname\": null,\n    \"status\": \"paid\",\n    \"status_history\": [\n        {\n            \"_type\": \"Status\",\n            \"status\": \"created\",\n            \"timestamp\": 1775047222,\n            \"updatedBy\": null,\n            \"paidReason\": null\n        },\n        {\n            \"_type\": \"Status\",\n            \"status\": \"paid\",\n            \"timestamp\": 1775047239,\n            \"updatedBy\": null,\n            \"paidReason\": null\n        }\n    ],\n    \"viewedOn\": null,\n    \"currency\": \"CAD\",\n    \"actionStatus\": {\n        \"_type\": \"ApiError\",\n        \"message\": null,\n        \"actualMessage\": null,\n        \"merchantName\": null,\n        \"code\": \"success\",\n        \"status\": \"paid\",\n        \"callback_url\": null,\n        \"method\": null,\n        \"beneficiaryId\": null,\n        \"profileId\": null,\n        \"payInBankDetail\": null,\n        \"pix_payload\": null,\n        \"payInDetails\": {\n            \"_type\": \"PayInDetail\",\n            \"name\": \"INTERAC E-TRANSFER\",\n            \"emailAddress\": \"user5890@example.com\",\n            \"secretQA\": \"q691236367385579883992851\",\n            \"secretAnswer\": \"a691236367385579883992851\",\n            \"reference_number\": null,\n            \"payment_method\": null,\n            \"transaction_expiry\": null,\n            \"qrCode\": null,\n            \"gpayUri\": null,\n            \"phonepeUri\": null,\n            \"paytmUri\": null,\n            \"intentUri\": null,\n            \"generatedLink\": null,\n            \"instruction\": null,\n            \"paymentUrl\": null,\n            \"script\": null,\n            \"clabe\": null,\n            \"beneficiary\": null,\n            \"amount\": null,\n            \"linkExpiresOn\": null,\n            \"cardExpiresOn\": null,\n            \"subStatus\": null\n        },\n        \"balance\": null,\n        \"vab\": null,\n        \"authKey\": null,\n        \"methodExecutionTime\": null,\n        \"password\": null,\n        \"salt\": null,\n        \"nextCall\": null,\n        \"nextURL\": null,\n        \"descriptor\": null,\n        \"currentTime\": 1775047239,\n        \"custVerificationString\": null,\n        \"instructions\": null,\n        \"trustScore\": null,\n        \"trustLevel\": null,\n        \"no_Of_Cust_Hits\": null,\n        \"no_Of_Hits\": null,\n        \"referer\": null,\n        \"clientIp\": null,\n        \"merchantIp\": null,\n        \"isS2s\": null,\n        \"otp\": null,\n        \"userDeviceId\": null,\n        \"isAllowed\": null,\n        \"logo_url\": null,\n        \"transactionExpireInMin\": null,\n        \"mandateReferenceId\": null\n    },\n    \"fx_Currency\": null,\n    \"fx_Amount\": null,\n    \"referer\": null,\n    \"clientIp\": \"203.0.113.19\",\n    \"merchantIp\": \"203.0.113.19\",\n    \"transFees\": null,\n    \"MDR\": null,\n    \"ruleName\": \"Rule_Not_Applied\",\n    \"cascade_Num\": null,\n    \"conversionRiskFactorApplied\": null,\n    \"feesDeducted\": 0,\n    \"signature\": null,\n    \"puId\": \"\",\n    \"uId\": 0,\n    \"authKey\": \"\",\n    \"currency_conversion\": null,\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.redirect.com\"\n}"},{"id":"66f86329-e8c3-45b5-8ef5-08f02c3fae67","name":"create payout-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"brandId","value":"your-brand-id","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"phone\": \"+14378817874\",\n        \"email\": \"user7850@example.com\",\n        \"full_name\": \"Casey Novak\",\n        \"stateCode\": \"CT\",\n        \"country\": \"CA\",\n        \"city\": \"Oakdale\",\n        \"street_address\": \"test test\",\n        \"zip_code\": \"234567\"\n    },\n    \"payoutMethod\": \"PAYOUT-INTERAC-ETRANSFER\",\n    \"purpose\": \"entertainment\",\n    \"currency\": \"CAD\",\n    \"amount\": 5.00,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/payout/"},"code":400,"_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":"30bf2068-06d2-40b3-a69e-0e4991a5bc01"},{"name":"Get Status","id":"bd505713-9b9a-4358-89e5-48231cf67211","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.paysecure.net/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://your.success.callback.com\">https://your.success.callback.com</a>\",</p>\n<p>Error: \"failure_callback\": “<a href=\"https://failure.com%E2%80%9D\">https://failure.com”</a></p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"a737b4a8-7a02-436e-a757-3897eff497f1","id":"a737b4a8-7a02-436e-a757-3897eff497f1","name":"PayOut API","type":"folder"}},"urlObject":{"path":["getpayout","{payoutId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"c07868e1-9597-4926-af6c-ce7f9261a1bb","name":"Get success Status","originalRequest":{"method":"GET","header":[],"url":"https://api.paysecure.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\": \"user5890@example.com\",\n        \"phone\": \"+14377717874\",\n        \"full_name\": \"Blake Mensah\",\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\": \"Skyler Nakamurasinghal\",\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\": \"user5890@example.com\",\n        \"secretQA\": \"q66276336575481202\",\n        \"secretAnswer\": \"a66276336575481202\"\n    },\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"},{"id":"1e1a5f48-316d-4e0a-bc7a-38b5eed75024","name":"Get Error Status","originalRequest":{"method":"GET","header":[],"url":"https://api.paysecure.net/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":"bd505713-9b9a-4358-89e5-48231cf67211"}],"id":"a737b4a8-7a02-436e-a757-3897eff497f1","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","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"bc7616df-821a-4924-8aaa-c6174fc15592"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"fcce3f38-5a3c-4e83-b7e5-9d18276f5c92"}}],"_postman_id":"a737b4a8-7a02-436e-a757-3897eff497f1"},{"name":"Get Balance API","item":[{"name":"Checking Balance","id":"e1d14a2d-3896-43e2-976c-08875cd1ea7a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"INTERAC-ETRANSFER\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/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","urlObject":{"path":["getBalance"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"d5977de1-c998-4a54-a70d-8b35b0502dd4","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://api.paysecure.net/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":"92c15551-e3ce-43a1-b9b5-6a065528151a","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://api.paysecure.net/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":"e1d14a2d-3896-43e2-976c-08875cd1ea7a"}],"id":"9f199b26-8ab9-4025-ad36-51df5e257da9","_postman_id":"9f199b26-8ab9-4025-ad36-51df5e257da9","description":""}],"id":"53d0b3f2-c992-4b5b-a8d4-54710449be7f","_postman_id":"53d0b3f2-c992-4b5b-a8d4-54710449be7f","description":""},{"name":"🇨🇦 Interac Request Money","item":[{"name":"Concepts","item":[],"id":"9c35cdf5-bd62-4ca4-94c2-2692a083e58b","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>Paysecure 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/d2d79ec3-f371-4ec3-87a3-2477a28c7a7b/aW1hZ2UucG5n\" width=\"500\" height=\"228\" />\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>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"0eb2d008-67a1-4c88-a07e-cd34649474e5"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"7d7cc118-dc4c-4dea-a3b9-5115292d400d"}}],"_postman_id":"9c35cdf5-bd62-4ca4-94c2-2692a083e58b"},{"name":"PayIn API","item":[{"name":"Create Purchase","id":"e67b9344-cd56-4137-9dbb-9eeb1c60afa7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5890@example.com\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"city\": \"Milford\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"68403\",\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\": \"your-brand-id\",\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://api.paysecure.net/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 Paysecure.</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 Paysecure'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 Paysecure and at customer's Bank, the merchant and Paysecure 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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure 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, Paysecure 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://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"4a5d0be3-66c1-4731-904e-5d0b2767cf4b","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5890@example.com\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"city\": \"Milford\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"68403\",\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\": \"your-brand-id\",\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://api.paysecure.net/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\": \"user5890@example.com\",\n        \"phone\": \"+447755564318\",\n        \"full_name\": \"Test test\",\n        \"date_of_birth\": \"1970-07-10\",\n        \"street_address\": \"13 Documentation Way\",\n        \"country\": \"CA\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"68403\",\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\": \"203.0.113.26\",\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\": \"your-brand-id\",\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.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\": \"203.0.113.26\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/670cb0affcc7f4706acb65e0/\",\n    \"payoutProcess\": false\n}"},{"id":"975089e9-7024-493b-bfac-3e93e6bbdd9c","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5890@example.com\",\n        \"street_address\": \"13 Documentation Way\",\n        \"city\": \"Milford\",\n        \"full_name\": \"Test test\",\n        \"zip_code\": \"68403\",\n        \"country\": \"CA\",\n        \"stateCode\": \"QLD\",\n        \"phone\": \"+447755564318\",\n        \"gender\": \"MALE\",\n        \"date_of_birth\": \"1970-07-10\"\n    },\n    \"purchase\": {\n        \"currency\": \"CAD\",\n        \"products\": [\n            {\n                \"name\": \"test \",\n                \"price\": 1\n            }\n        ]\n    },\n    \"paymentMethod\": \"INTERAC-REQUEST-MONEY\",\n    \"brand_id\": \"your-brand-id\",\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.paysecure.net/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":"e67b9344-cd56-4137-9dbb-9eeb1c60afa7"},{"name":"Get Status","id":"c35f5043-8fec-42a5-b410-c12cda59b9ec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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","urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"c2d4bf72-6a17-40b3-8c07-647275c788fe","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"670cb0affcc7f4706acb65e0\",\r\n    \"client\": {\r\n        \"email\": \"user5890@example.com\",\r\n        \"phone\": \"+447755564318\",\r\n        \"full_name\": \"Test test\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"country\": \"CA\",\r\n        \"city\": \"Milford\",\r\n        \"zip_code\": \"68403\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"gender\": \"MALE\",\r\n        \"avatarUrl\": \"https://res.cloudinary.com/w22/image/upload/v1663783641/photos/currencies/ngn.png\",\r\n        \"stateCode\": \"QLD\"\r\n    },\r\n    \"updated_on\": 1728884911,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"INTERAC-REQUEST-MONEY\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"redirectType\": \"POST\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1728884911,\r\n    \"merchantRef\": \"670cb0affcc7f4706acb65e0\",\r\n    \"merchantName\": \"ajay03\",\r\n    \"purchase\": {\r\n        \"currency\": \"CAD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"quantity\": 1,\r\n                \"price\": 1,\r\n                \"discount\": 0,\r\n                \"tax_percent\": \"0.00\"\r\n            }\r\n        ],\r\n        \"total\": 1,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1,\r\n        \"expireInMin\": \"1440\",\r\n        \"request_client_details\": [],\r\n        \"email_message\": \"\"\r\n    },\r\n    \"payment\": {\r\n        \"is_outgoing\": false,\r\n        \"payment_type\": \"PURCHASE\",\r\n        \"amount\": 1,\r\n        \"currency\": \"CAD\",\r\n        \"net_amount\": 1,\r\n        \"fee_amount\": 0,\r\n        \"pending_amount\": 0,\r\n        \"pending_unfreeze_on\": null,\r\n        \"description\": \"\",\r\n        \"paid_on\": 1728884911,\r\n        \"remote_paid_on\": 1728884911\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\": \"r4\",\r\n        \"brand_name\": \"r4\",\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,\r\n            \"masked_pan\": \"INTERAC-DEBIT\"\r\n        },\r\n        \"country\": \"\",\r\n        \"attempts\": [\r\n            {\r\n                \"client_ip\": \"203.0.113.26\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"INTERAC-DEBIT\",\r\n                \"flow\": \"payform\",\r\n                \"successful\": true,\r\n                \"country\": \"INTERAC-DEBIT\",\r\n                \"processing_time\": 1728884911,\r\n                \"extra\": {\r\n                    \"amount\": 1,\r\n                    \"masked_pan\": \"INTERAC-DEBIT\"\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\": 1728884911\r\n        },\r\n        {\r\n            \"status\": \"pending_execute\",\r\n            \"timestamp\": 1728884911\r\n        },\r\n        {\r\n            \"status\": \"payment_in_process\",\r\n            \"timestamp\": 1728884911\r\n        },\r\n        {\r\n            \"status\": \"paid\",\r\n            \"timestamp\": 1728884911\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS3\",\r\n    \"issued\": \"2024-10-14\",\r\n    \"due\": 1728884911,\r\n    \"refund_upto\": 1744433315,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 1,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\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\": \"203.0.113.26\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/670cb0affcc7f4706acb65e0/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"17000a4c-c010-4b0a-a5ee-4cb0b54a34b6","name":"Failure","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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":"c35f5043-8fec-42a5-b410-c12cda59b9ec"}],"id":"62936761-a0b5-4c77-afb5-8860bdcd950d","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":"62936761-a0b5-4c77-afb5-8860bdcd950d","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"35039738-2093-4b0b-ad45-a684b72648c3","id":"35039738-2093-4b0b-ad45-a684b72648c3","name":"🇨🇦 Interac Request Money","type":"folder"}}},{"name":"PayOut API","item":[{"name":"Create PayOut","id":"bf0ec462-8dcd-4b80-b015-d25e6957c570","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"},{"key":"brandId","value":"your-brand-id","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5890@example.com\",\r\n        \"country\": \"CA\",\r\n        \"phone\": \"+14377717874\",\r\n        \"full_name\": \"Blake Mensah\"\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://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/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>Full Name of the 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-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>amount in CAD</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":"noauth","isInherited":true,"source":{"_postman_id":"3183553b-d5a7-4319-a023-c5ea4e0c76dc","id":"3183553b-d5a7-4319-a023-c5ea4e0c76dc","name":"PayOut API","type":"folder"}},"urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"c1e54a6b-f8f4-43c4-a52c-1d5932c52c2e","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"brandId","value":"your-brand-id","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5890@example.com\",\r\n        \"country\": \"CA\",\r\n        \"phone\": \"+14377717874\",\r\n        \"full_name\": \"Avery Larsen\"\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://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payout/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"payoutId\": \"670cb200fcc7f4706acb6759\",\n    \"client\": {\n        \"email\": \"user5890@example.com\",\n        \"phone\": \"+14377717874\",\n        \"full_name\": \"Blake Mensah\",\n        \"country\": \"CA\"\n    },\n    \"updated_on\": 1728885248,\n    \"payoutMethod\": \"PAYOUT-INTERAC-REQUEST-MONEY\",\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\": \"user5890@example.com\",\n        \"secretQA\": \"q670200747066759362\",\n        \"secretAnswer\": \"a670200747066759362\"\n    },\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"},{"id":"7cde07d3-80fc-4a2d-b0a8-c16face0e777","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"brandId","value":"your-brand-id","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5890@example.com\",\r\n        \"country\": \"CA\",\r\n        \"phone\": \"+14377717874\",\r\n        \"full_name\": \"Avery Larsen\"\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://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payout/"},"_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":"bf0ec462-8dcd-4b80-b015-d25e6957c570"},{"name":"Get Status","id":"dd562716-254c-4e33-9efe-5b09d7be9e65","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.paysecure.net/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://your.success.callback.com\">https://your.success.callback.com</a>\",</p>\n<p>Error: \"failure_callback\": “<a href=\"https://failure.com%E2%80%9D\">https://failure.com”</a></p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3183553b-d5a7-4319-a023-c5ea4e0c76dc","id":"3183553b-d5a7-4319-a023-c5ea4e0c76dc","name":"PayOut API","type":"folder"}},"urlObject":{"path":["getpayout","{payoutId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"a15567e0-93db-4762-8658-8fe07f7c2370","name":"Get success Status","originalRequest":{"method":"GET","header":[],"url":"https://api.paysecure.net/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\": \"user5890@example.com\",\n        \"phone\": \"+14377717874\",\n        \"full_name\": \"Blake Mensah\",\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\": \"user5890@example.com\",\n        \"secretQA\": \"q6709267846007688143362\",\n        \"secretAnswer\": \"a6709267846007688143362\"\n    },\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"},{"id":"499e5809-2e89-4087-b3ac-c50e4ef164ff","name":"Get Error Status","originalRequest":{"method":"GET","header":[],"url":"https://api.paysecure.net/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":"dd562716-254c-4e33-9efe-5b09d7be9e65"}],"id":"3183553b-d5a7-4319-a023-c5ea4e0c76dc","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","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"d2a60c5a-257a-4bb7-a5e3-b9a680374a32"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"2e3652b0-513a-40c3-ae43-ca1154db15ee"}}],"_postman_id":"3183553b-d5a7-4319-a023-c5ea4e0c76dc"},{"name":"Get Balance API","item":[{"name":"Checking Balance","id":"927ac195-8d67-4236-8a0f-f23f11a0368d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"paymentMethod\": \"INTERAC-REQUEST-MONEY\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/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":"noauth","isInherited":true,"source":{"_postman_id":"633b0099-9e11-46e0-bccf-6d5a4d69f6bf","id":"633b0099-9e11-46e0-bccf-6d5a4d69f6bf","name":"Get Balance API","type":"folder"}},"urlObject":{"path":["getBalance"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"707465cd-2bc1-4c37-a517-91d874bef205","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"paymentMethod\": \"INTERAC-REQUEST-MONEY\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/getBalance"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"currency\": \"CAD\",\r\n    \"balance\": \"2.22\",\r\n    \"paymentMethod\": \"INTERAC-REQUEST-MONEY\",\r\n    \"status\": \"success\"\r\n}"},{"id":"532f74f0-bfff-4e82-9b31-55e00cecc870","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"paymentMethod\": \"INTERAC-REQUEST-MONEY\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/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}"}],"_postman_id":"927ac195-8d67-4236-8a0f-f23f11a0368d"}],"id":"633b0099-9e11-46e0-bccf-6d5a4d69f6bf","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"797fd015-c6e9-4f35-9aba-a54385ffd2a9"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"33eabc8f-0330-4294-9c5c-128fedd9ef08"}}],"_postman_id":"633b0099-9e11-46e0-bccf-6d5a4d69f6bf","description":""}],"id":"35039738-2093-4b0b-ad45-a684b72648c3","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","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"b23ec74e-e965-45c2-924d-e6bb88679b3b"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"fea5734c-aef5-4367-aafd-7a6575bf3946"}}],"_postman_id":"35039738-2093-4b0b-ad45-a684b72648c3"},{"name":"🇨🇦 Interac Express","item":[{"name":"Concepts","item":[],"id":"d88addad-febc-49dd-922d-86a9168d9703","description":"<h2 id=\"customer-payment-journey\">Customer Payment Journey</h2>\n<ol>\n<li><p><strong>Merchant creates a payment request</strong> via Paysecure API and receives a Reference ID.</p>\n</li>\n<li><p><strong>Customer is shown the Reference ID</strong>, the recipient email/mobile, and the exact amount.</p>\n</li>\n<li><p><strong>Customer logs into their bank</strong> and initiates a transfer using these details.</p>\n</li>\n<li><p><strong>Customer must input the Reference ID</strong> in the message/memo field of the transfer.</p>\n</li>\n<li><p><strong>Paysecure matches the Reference ID</strong> and the payment amount to validate the transaction.</p>\n</li>\n</ol>\n<h3 id=\"edge-cases\">Edge Cases</h3>\n<ul>\n<li><p><strong>Incorrect or Missing Reference ID</strong>: Payment cannot be matched. The transaction will not be marked as successful and the amount will be auto-refunded after the transaction expires.</p>\n</li>\n<li><p><strong>Overpayment</strong>: The transaction will be marked as <strong>Paid</strong> and the excess amount will be <strong>auto-refunded</strong> to the customer.</p>\n</li>\n<li><p><strong>Underpayment</strong>: The transaction remains in <strong>In Progress</strong> status. The customer can:</p>\n<ul>\n<li><p>Pay the remaining amount using the same Reference ID, which will update the status to <strong>Paid</strong>, OR</p>\n</li>\n<li><p>Wait for expiry, after which the initial payment is <strong>auto-refunded</strong>.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Expired Transactions</strong>: All transactions are valid for <strong>24 hours</strong>. Any payment made after expiry is <strong>auto-refunded</strong>.</p>\n</li>\n</ul>\n","_postman_id":"d88addad-febc-49dd-922d-86a9168d9703"},{"name":"Payin API","item":[{"name":"Purchases","id":"0c903e97-f01b-44da-a150-1a50972996aa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user2308@example.com\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"city\": \"Milford\",\r\n        \"full_name\": \"Test Customer\",\r\n        \"zip_code\": \"68403\",\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-EXPRESS\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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>pending_redirect</td>\n<td>URL to send the user if the transactions is in progress</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 Paysecure.</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 Paysecure'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 Paysecure and at customer's Bank, the merchant and Paysecure 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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure 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, Paysecure 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://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"fb37d1e2-bc0b-49bf-8a5b-aee067cfb8a5","name":"Purchase- success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user2308@example.com\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"city\": \"Milford\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"68403\",\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-EXPRESS\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6890aba7faa4173bbbbb76c6\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user2308@example.com\",\n        \"phone\": \"+447755564318\",\n        \"full_name\": \"Test test\",\n        \"date_of_birth\": \"1970-07-10\",\n        \"street_address\": \"13 Documentation Way\",\n        \"country\": \"CA\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"68403\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"QLD\"\n    },\n    \"updated_on\": 1754311599,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"INTERAC-EXPRESS\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"redirectType\": \"GET\",\n    \"force_recurring\": false,\n    \"created_on\": 1754311591,\n    \"extraParam\": {\n        \"reference\": \"wkdjabf43\"\n    },\n    \"merchantRef\": \"6890aba7faa4173bbbbb76c6\",\n    \"merchantName\": \"Skyler Nakamurasinghal\",\n    \"purchase\": {\n        \"currency\": \"CAD\",\n        \"products\": [\n            {\n                \"name\": \"test\",\n                \"quantity\": 1.0,\n                \"price\": 100.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 100.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"expireInMin\": \"1440\",\n        \"taxAmount\": 0.0,\n        \"taxPercent\": 0.0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 100.0,\n        \"currency\": \"CAD\",\n        \"net_amount\": 100.0,\n        \"fee_amount\": 0.0,\n        \"pending_amount\": 0.0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1754311592,\n        \"remote_paid_on\": 1754311592\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.0,\n            \"masked_pan\": \"INTERAC-EXPRESS\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.249, 203.0.113.117, 203.0.113.109\",\n                \"type\": \"execute\",\n                \"payment_method\": \"INTERAC-EXPRESS\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"INTERAC-EXPRESS\",\n                \"processing_time\": 1754311592,\n                \"extra\": {\n                    \"amount\": 100.0,\n                    \"masked_pan\": \"INTERAC-EXPRESS\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAYMENT_IN_PROCESS\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1754311591\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1754311592\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1754311599\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"is_recurring_token\": false,\n    \"reference_generated\": \"PS1060\",\n    \"issued\": \"2025-08-04\",\n    \"due\": 1754311591,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"0\",\n    \"payInDetails\": {\n        \"name\": \"INTERAC E-TRANSFER\",\n        \"emailAddress\": \"user2624@example.com\",\n        \"reference_number\": \"8g1lya\"\n    },\n    \"paidOn\": 0,\n    \"receivedAmt\": 0.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\": \"203.0.113.249, 203.0.113.117, 203.0.113.109\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6890aba7faa4173bbbbb76c6/\",\n    \"payoutProcess\": false\n}"}],"_postman_id":"0c903e97-f01b-44da-a150-1a50972996aa"}],"id":"9cffca87-588a-4dff-b031-1dac6a552bff","description":"<h3 id=\"how-it-works\">How It Works</h3>\n<p>Interac-Express uses a <strong>Reference ID-based flow</strong> to streamline collections. Merchants generate a transaction-specific ID which customers must include when transferring funds from their bank account. This ensures precise, secure, and automated payment reconciliation.</p>\n<h4 id=\"key-steps\">Key Steps</h4>\n<p><strong>Flow:</strong></p>\n<ol>\n<li><p><strong>Initiate Payment Request</strong><br /> Merchant initiates a PayIn by calling the <code>/purchases</code> API. The request must include:</p>\n<ul>\n<li><p><code>paymentMethod</code>: <code>INTERAC-EXPRESS</code></p>\n</li>\n<li><p>Customer email or mobile</p>\n</li>\n<li><p>Amount</p>\n</li>\n<li><p>Optional message</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Reference ID Generation</strong><br /> Paysecure returns a unique <code>Reference ID</code> associated with the transaction. This ID is valid for 24 hours and must be included by the customer in the message/memo field during their bank transfer.</p>\n</li>\n<li><p><strong>Customer Transfer</strong><br /> The customer logs into their online or mobile banking, inputs the transfer amount, adds the Paysecure-provided email or mobile, and includes the Reference ID exactly as provided.</p>\n</li>\n<li><p><strong>Validation &amp; Matching</strong><br /> Paysecure validates the incoming transfer by matching the Reference ID and amount.</p>\n<ul>\n<li><p>If matched correctly, the transaction is marked as successful.</p>\n</li>\n<li><p>See edge cases above for incorrect, underpaid, overpaid, or expired scenarios.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Webhook Notification</strong><br /> Once the transfer is matched and verified, Paysecure sends a webhook to the merchant with full transaction details and status.</p>\n</li>\n<li><p><strong>Merchant Reconciliation</strong><br /> Merchant updates the customer account or order status based on the received webhook data.</p>\n</li>\n</ol>\n","_postman_id":"9cffca87-588a-4dff-b031-1dac6a552bff"},{"name":"Payout API","item":[{"name":"Create Payout","id":"e4078542-bd1a-44ea-8bff-db4ace0275cd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"},{"key":"brandId","value":"your-brand-id","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5890@example.com\",\r\n        \"country\": \"CA\",\r\n        \"phone\": \"+14377717874\",\r\n        \"full_name\": \"Avery Larsen\"\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://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/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-EXPRESS</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>","urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"71bbbc72-36b2-41a6-a7c4-c18bb055fdbe","name":"create payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"brandId","value":"your-brand-id","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5890@example.com\",\r\n        \"country\": \"CA\",\r\n        \"phone\": \"+14377717874\",\r\n        \"full_name\": \"Avery Larsen\"\r\n    },\r\n    \"purpose\": \"test payout\",\r\n    \"currency\": \"CAD\",\r\n    \"payoutMethod\": \"PAYOUT-INTERAC-EXPRESS\",\r\n    \"amount\": 10,\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.paysecure.net/api/v1/payout/"},"_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\": \"user5890@example.com\",\n        \"country\": \"CA\",\n        \"phone\": \"+14377717874\",\n        \"full_name\": \"Avery Larsen\"\n    },\n    \"updated_on\": 1743765592,\n    \"payoutMethod\": \"PAYOUT-INTERAC-EXPRESS\",\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 10,\n    \"errorMsg\": \"\",\n    \"purpose\": \"test payout\",\n    \"created_on\": 1743765592,\n    \"merchantRef\": \"67efc0586720dd3a164fe8b3\",\n    \"merchantName\": \"Skyler Nakamurasinghal\",\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://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"}],"_postman_id":"e4078542-bd1a-44ea-8bff-db4ace0275cd"}],"id":"5c0c4f1d-7558-415d-be3d-affc0a912729","description":"<h3 id=\"how-it-works\">How It Works</h3>\n<p>Merchants can send funds to customers using Interac-Express by specifying the recipient’s email or mobile. Funds are typically delivered in real-time, depending on the recipient’s bank setup.</p>\n<h4 id=\"key-steps\">Key Steps</h4>\n<p><strong>Flow:</strong></p>\n<ol>\n<li><p><strong>Initiate Payout Request</strong><br /> Merchant initiates a payout using the <code>/payout</code> API, passing:</p>\n<ul>\n<li><p><code>paymentMethod</code>: <code>INTERAC-EXPRESS</code></p>\n</li>\n<li><p>Recipient email or mobile number</p>\n</li>\n<li><p>Amount</p>\n</li>\n<li><p>Optional message</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Recipient Notification</strong><br /> The customer receives a notification from their bank to accept the incoming funds. If the recipient has <strong>Auto-Deposit</strong> enabled, funds are deposited instantly. Otherwise, the customer must manually claim the payment via the bank’s standard process.</p>\n</li>\n<li><p><strong>Webhook Confirmation</strong><br /> Paysecure notifies the merchant via webhook once the payout has been successfully claimed or credited.</p>\n</li>\n<li><p><strong>Update Records</strong><br /> Merchant updates the customer's profile or balance based on payout status.</p>\n</li>\n</ol>\n<hr />\n","_postman_id":"5c0c4f1d-7558-415d-be3d-affc0a912729"}],"id":"cf6119cc-3f3c-4707-bda2-ac78e30bae25","description":"<h3 id=\"overview\">Overview</h3>\n<p>Interac-Express is a real-time Canadian payment method that enables secure bank-to-bank transfers through customer-initiated actions via their banking apps or websites. It’s designed for fast, reference-based validation—no security questions, no delays.</p>\n<p>Paysecure enables merchants to use Interac-Express for:</p>\n<ul>\n<li><p><strong>PayIns</strong>: Customers initiate bank transfers referencing a unique ID tied to their transaction.</p>\n</li>\n<li><p><strong>Payouts</strong>: Businesses can send funds directly to customer accounts in near real-time.</p>\n</li>\n</ul>\n","_postman_id":"cf6119cc-3f3c-4707-bda2-ac78e30bae25"},{"name":"🇧🇷 PIX","item":[{"name":"Concepts","item":[],"id":"b3f9dd5d-c274-4b0a-900f-8c3f910643e4","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 (such as Itau, NuBank, etc).<br />These codes comply with BCB’s infrastructure requirements to ensure that the merchant's details are stored securely and there are no errors during the 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>Merchant platforms can create a dynamic QR code by passing the relevant parameter using Paysecure’s API.</p>\n</li>\n<li><p>The platform can display the dynamic QR code on its app or any website at checkout or on a third-party app.</p>\n</li>\n<li><p>The payer scans the QR code from the PIX app of their choice on their mobile.</p>\n</li>\n<li><p>The payer authorizes the transaction on the app by entering a valid PIN.</p>\n</li>\n<li><p>Once the payment is done, the merchant platform receives a transaction status callback from Paysecure to a pre-configured endpoint.</p>\n</li>\n<li><p>The platform can also check the request status using the reference ID generated from the collection request using the Check Payment Status API.</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 Paysecure 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://lh7-us.googleusercontent.com/ezT3e0yYTc3TGWJ87RKK6sQpMhbgfr5Q-NfSMxnjz4WTxMJs5tr9-mUME-a2PpvYtA8QOrrKGw29dQFHdGcLsBiNW-jF-xiFxbuJZa0a7jd-zI3aIe6mO-JVSj6NIwiTyvBU_VVGGLdtOrjmX8Usf1k\" />\n\n<p><strong>Flow</strong></p>\n<ul>\n<li><p><strong>Initiation:</strong></p>\n<ul>\n<li><p><strong>User initiates:</strong> The process starts with a user requesting payout from the merchant.</p>\n</li>\n<li><p><strong>Merchant approval:</strong> if everything is OK, the merchant approves payout request</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Processing:</strong></p>\n<ul>\n<li><p><strong>Payment details:</strong> Using Paysecure’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.</p>\n</li>\n<li><p><strong>Funds check:</strong> Paysecure verifies if sufficient funds are available in the merchant account to cover the transfer.</p>\n</li>\n<li><p><strong>Processing &amp; Key mapping:</strong> the recipient's Pix key is validated using the DICT (Transactional Identifier Directory). This central database links Pix keys with users' bank accounts.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Payout:</strong></p>\n<ul>\n<li><strong>Instant transfer:</strong> 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.</li>\n</ul>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"ce7c2c4a-85e9-49ed-ba79-d00eb33034a9"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"ba5e19ab-c86c-4a36-81ef-42c3a2fede61"}}],"_postman_id":"b3f9dd5d-c274-4b0a-900f-8c3f910643e4"},{"name":"PayIn API","item":[{"name":"Purchases","id":"e8fc456c-15b4-489d-a8b5-a0cf2755ad1c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5772@example.com\",\n        \"full_name\": \"test test\",\n        \"country\": \"BR\",\n        \"city\": \"Ashford\",\n        \"stateCode\": \"SP\",\n        \"street_address\": \"58 Testing Lane\",\n        \"zip_code\": \"57312-140\",\n        \"date_of_birth\": \"1994-31-04\",\n        \"phone\": \"+558262362732\",\n        \"tax_number\": \"39933551809\"\n    },\n    \"purchase\": {\n        \"currency\": \"BRL\",\n        \"products\": [\n            {\n                \"name\": \"test \",\n                \"price\": 10\n            }\n        ]\n    },\n    \"paymentMethod\": \"PIX\",\n    \"merchantRef\": \"test12\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/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=\"request-body-parameters\"><strong>Request Body Parameters:</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>Conditional.  <br />But Recommended to pass the complete name of the client. Atleast 2 words recommended.</td>\n</tr>\n<tr>\n<td>client.email</td>\n<td>Conditional.  <br />But Recommended to pass a correct email id.</td>\n</tr>\n<tr>\n<td>client.tax_number</td>\n<td>Mandatory.  <br />Pass the CPF (Brazilian tax identification number of customer), must contain 11 digits.</td>\n</tr>\n<tr>\n<td>paymentMethod</td>\n<td>Conditional.  <br />Mandatory if you are not using Paysecure Cashier. Else Non Mandatory.  <br />Value: PIX</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory.  <br />ISO 4217 code for currency you want to send the transaction in. This should be 'BRL' for PIX.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory.  <br />Price in decimal format upto 2 decimals.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <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>Mandatory.  <br />Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory.  <br />URL to send the user if the transactions is successful.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Mandatory.  <br />URL to send the user if the transactions is in progress state.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory  <br />URL to send the user if the transactions has failed.</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. The field \"pix_payload.expiration_date\" is in UTC time.</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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure 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":"noauth","isInherited":true,"source":{"_postman_id":"d3858958-c155-4543-bc36-61ca5bd961c5","id":"d3858958-c155-4543-bc36-61ca5bd961c5","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"837f6577-f302-44c0-9f28-0733a8be270f","name":"Purchase- success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"full_name\": \"test test\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Ashford\",\r\n        \"stateCode\": \"SP\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"zip_code\": \"57312-140\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+558262362732\",\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\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"65f9368cb905381ba207b3c4\",\n    \"client\": {\n        \"email\": \"user5772@example.com\",\n        \"full_name\": \"test test\",\n        \"country\": \"BR\",\n        \"city\": \"Ashford\",\n        \"stateCode\": \"SP\",\n        \"street_address\": \"58 Testing Lane\",\n        \"zip_code\": \"57312-140\",\n        \"date_of_birth\": \"1994-31-04\",\n        \"phone\": \"+558262362732\",\n        \"tax_number\": \"39933551809\"\n    },\n    \"updated_on\": 1710831244,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"PIX\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1710831244,\n    \"merchantRef\": \"65f9368cb905381ba207b3c4\",\n    \"merchantName\": \"test\",\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"price\": 10\n            }\n        ],\n        \"total\": 10,\n        \"language\": \"en\",\n        \"total_formatted\": 1,\n        \"timezone\": \"MIT\"\n    },\n    \"issuer_details\": {\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"newbrand\",\n        \"brand_name\": \"newbrand\"\n    },\n    \"transaction_data\": {},\n    \"status\": \"CREATED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1764922723\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1764922723\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1764922727\n        }\n    ],\n    \"pix_payload\": {\n        \"payload\": \"00020101021226800014br.gov.bcb.pix2558pix.asaas.com/qr/cobv/e3eb36eb-7e9b-404d-9bd3-b486a42da3445204000053039865802BR5925A55 CONSULTORIA EM CREDIT6009Sao Paulo61080455202062070503***630451CA\",\n        \"qr_code\": \"iVBORw0KGgoAAAANSUhEUgAAAZ8AAAGfCAIAAAAPgEjDAAAP4UlEQVR42u3bUY7cSA4EUN … ..\",\n        \"expiration_date\": \"2025-03-27 23:59:59\"\n    },\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS2696\",\n    \"issued\": \"2024-03-19\",\n    \"due\": 1710831244,\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    \"pending_redirect\": \"https://your.pending.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    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.113\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/33ddc21c6073a7ac722288f0b2ec35be/\",\n    \"payoutProcess\": false\n}"},{"id":"fb499cc5-bd2c-4226-821b-441940fdad20","name":"Purchase-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"full_name\": \"test test\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Ashford\",\r\n        \"stateCode\": \"SP\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"zip_code\": \"57312-140\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+558262362732\",\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\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Brand not found!\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"e8fc456c-15b4-489d-a8b5-a0cf2755ad1c"},{"name":"Get Status","id":"323fad39-74dc-45fb-bc5f-bf951753880b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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","urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"85e8d686-597f-45bd-9441-6070799b1ccf","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n   \"purchaseId\": \"65f9368cb905381ba207b3c4\",\r\n   \"client\": {\r\n       \"email\": \"user5772@example.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\": \"your-brand-id\",\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://your.success.redirect.com\",\r\n   \"pending_redirect\": \"https://your.pending.redirect.com\",\r\n   \"failure_redirect\": \"https://your.failure.redirect.com\",\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\": \"203.0.113.152\",\r\n   \"checkout_url\": \"https://api.paysecure.net/payments/65f9368cb905381ba207b3c4/\"\r\n}\r\n"},{"id":"8557ea60-a76f-4406-aa3a-62413c605a49","name":"Failure","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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":"323fad39-74dc-45fb-bc5f-bf951753880b"}],"id":"d3858958-c155-4543-bc36-61ca5bd961c5","description":"<p><strong>API Flow</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/QiIrZmMWISniXvk4h0Wpq5y4QDrWlUNK8cVUra7HhfDL9B12sdZv7kwGJ24R8Hs6AKPLRKZJafk1p5S3jCikw0V1lIBTVUy67hEgNRNNjH5Q2HysOP-3HlHZAjZiVvPsohyopIwZA48ejeFF0Ul1PX4\" />\n\n<ol>\n<li><p><strong>Initiate Purchase:</strong> The merchant calls the create purchase API to start the purchase process.</p>\n</li>\n<li><p><strong>Get Checkout URL:</strong> If the API call is successful, the response body contains a checkout URL.</p>\n</li>\n<li><p><strong>Redirect Client:</strong> The merchant redirects the client to the checkout URL received.</p>\n</li>\n<li><p><strong>Client Payment:</strong> The client is presented with a QR code to complete the payment.</p>\n<ol>\n<li>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.</li>\n</ol>\n</li>\n<li><p><strong>Payment Outcome:</strong> After the payment attempt, the client is redirected to a URL indicating success or failure, which was specified in the create purchase API.</p>\n</li>\n<li><p><strong>Callback Posting:</strong> Upon successful or failed payment, the entire payload of the transaction is posted to designated success or failure callback URLs.</p>\n</li>\n</ol>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"6e0c8e6a-974d-4222-a22e-96695901f74b"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"e0d7a120-3676-452d-ae5f-47053c5b93c7"}}],"_postman_id":"d3858958-c155-4543-bc36-61ca5bd961c5"},{"name":"Refund API","item":[{"name":"Refund","id":"d3c959ec-ba32-4c0e-b75d-18898ae41a14","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/657af976c3fceb7beb30eeb4/refund","description":"<p>This API is used to initate refund of the purchases that have status as <code>PAID</code></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<p>If due to some reason, the refund has failed, the status would again become <code>PAID</code></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","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"49d735a9-ca35-4db2-b3fb-e1f5ee3f0865","id":"49d735a9-ca35-4db2-b3fb-e1f5ee3f0865","name":"Refund API","type":"folder"}},"urlObject":{"path":["purchases","657af976c3fceb7beb30eeb4","refund"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"b3004bbd-8824-436c-ae54-e1ccbdcb7ee3","name":"Refund - Pending","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/657af976c3fceb7beb30eeb4/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\": \"user6085@example.com\",\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\": \"203.0.113.133\",\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\": \"203.0.113.133\",\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\": \"your-brand-id\",\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://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.133\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/64bfdb7df63e36669499e82f/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/64bfdb7df63e36669499e82f/\"\n}"},{"id":"b2d88c97-b1e2-4c3f-aea4-272be6cf83ab","name":"Refund - Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/657af976c3fceb7beb30eeb4/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\": \"user6085@example.com\",\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\": \"203.0.113.133\",\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\": \"203.0.113.133\",\n                \"type\": \"refund\",\n                \"successful\": true,\n                \"processing_time\": 1690302819,\n                \"extra\": {\n                    \"amount\": 9\n                }\n            }\n        ]\n    },\n    \"status\": \"REFUNDED\",\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\": \"refunded\",\n            \"timestamp\": 1690302819\n        }\n    ],\n    \"viewedOn\": 1690299929,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\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://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.133\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/64bfdb7df63e36669499e82f/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/64bfdb7df63e36669499e82f/\"\n}"},{"id":"361a6946-f1a2-4035-a3dd-219f64a855b6","name":"Refund - Error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/657af976c3fceb7beb30eeb4/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}"}],"_postman_id":"d3c959ec-ba32-4c0e-b75d-18898ae41a14"}],"id":"49d735a9-ca35-4db2-b3fb-e1f5ee3f0865","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"80b55aee-b95a-4c19-b3c0-910744824b50"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"0e53f849-06fa-42db-9573-5c59ab37b790"}}],"_postman_id":"49d735a9-ca35-4db2-b3fb-e1f5ee3f0865","description":""},{"name":"PayOut API","item":[{"name":"Create PayOut","id":"5c761add-e7f4-4146-8a92-3a0d6671e4b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"full_name\": \"test test\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Ashford\",\r\n        \"stateCode\": \"SP\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"zip_code\": \"57312-140\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+558262362732\",\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    \"brand_id\": \"your-brand-id\",    \r\n    \"amount\": 10,\r\n    \"currency\": \"BRL\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/payout/","description":"<p>To Initiate a payout, the very first call to make is /payout/ API 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 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>The customer's email.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>The customer's phone number along with the country code.  <br />Example: +91 9634088651</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>The customer's city.</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>The customer's address.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>The customer's ZIP or postal code. If country=US, zip format must be NNNNN or NNNNN-NNNN.</td>\n</tr>\n<tr>\n<td>currency</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />  <br />Please note, the currency has to be enabled by the account manager for your account.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>amount 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>payoutMethod</td>\n<td>example: PAYOUT-PIX</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>pending_redirect</td>\n<td>URL to send the user if the transactions is in pending.</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>The purpose of doing a payout.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"additional-parameters-for-this-usecase\">Additional <strong>parameters for this usecase:</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.documentType</td>\n<td>Mandatory.  <br />Document Type Supported : cpf, cnpj, evp, email, phone  <br />  <br />cpf is Brazil's tax_id  <br />cnpj is Business tax_id  <br />evp is random key generated by the bank  <br />email is the email which supports pix  <br />phone is the phone number which supports pix</td>\n</tr>\n<tr>\n<td>client.documentId</td>\n<td>Mandatory.  <br />Document value of the type above.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"19413a2e-ff2d-45e5-987d-d050bbc036f8","id":"19413a2e-ff2d-45e5-987d-d050bbc036f8","name":"PayOut API","type":"folder"}},"urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"6aa90092-8aac-4b5c-9cbf-617a5ff5b728","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"full_name\": \"test test\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Ashford\",\r\n        \"stateCode\": \"SP\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"zip_code\": \"57312-140\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+558262362732\",\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    \"brand_id\": \"your-brand-id\",    \r\n    \"amount\": 10,\r\n    \"currency\": \"BRL\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/payout/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"65f93895c96bae142f7b1765\",\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"full_name\": \"test test\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Ashford\",\r\n        \"stateCode\": \"SP\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"zip_code\": \"57312-140\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+558262362732\",\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\": 10.0,\r\n    \"errorMsg\": \"\",\r\n    \"created_on\": 1710831768,\r\n    \"merchantName\": \"test\",\r\n    \"status\": \"PAID\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1710831765\r\n        },\r\n        {\r\n            \"status\": \"paid\",\r\n            \"timestamp\": 1710831768\r\n        }\r\n    ],\r\n    \"currency\": \"BRL\",\r\n    \"purpose\": \"payout to test\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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}"},{"id":"c56b34aa-760c-4272-9f67-b2af5df4696b","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"full_name\": \"test test\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Ashford\",\r\n        \"stateCode\": \"SP\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"zip_code\": \"57312-140\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+558262362732\",\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    \"brand_id\": \"your-brand-id\",    \r\n    \"amount\": 10,\r\n    \"currency\": \"BRL\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/payout/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n   \"payoutId\": \"65f93895c96bae142f7b1765\",\r\n   \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"full_name\": \"test test\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Ashford\",\r\n        \"stateCode\": \"SP\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"zip_code\": \"57312-140\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+558262362732\",\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_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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}\r\n"}],"_postman_id":"5c761add-e7f4-4146-8a92-3a0d6671e4b1"},{"name":"Get Status","id":"38282022-d30e-409e-8422-072417e24c66","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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://your.success.callback.com\">https://your.success.callback.com</a>\",</p>\n<p>Error: \"failure_callback\": “<a href=\"https://failure.com%E2%80%9D\">https://failure.com”</a></p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"19413a2e-ff2d-45e5-987d-d050bbc036f8","id":"19413a2e-ff2d-45e5-987d-d050bbc036f8","name":"PayOut API","type":"folder"}},"urlObject":{"path":["getpayout","{payoutId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"2d44fd09-39d1-4b65-b24b-ae2104ac2306","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"65f93895c96bae142f7b1765\",\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"full_name\": \"test test\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Ashford\",\r\n        \"stateCode\": \"SP\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"zip_code\": \"57312-140\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+558262362732\",\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\": 10.0,\r\n    \"errorMsg\": \"\",\r\n    \"created_on\": 1710831768,\r\n    \"merchantName\": \"test\",\r\n    \"status\": \"PAID\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1710831765\r\n        },\r\n        {\r\n            \"status\": \"paid\",\r\n            \"timestamp\": 1710831768\r\n        }\r\n    ],\r\n    \"currency\": \"BRL\",\r\n    \"purpose\": \"payout to test\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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}"},{"id":"53cb9a04-5503-4ad9-85a0-2ab2227c8e76","name":"Failure","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n   \"payoutId\": \"65f93895c96bae142f7b1765\",\n   \"client\": {\n        \"email\": \"user5772@example.com\",\n        \"full_name\": \"test test\",\n        \"country\": \"BR\",\n        \"city\": \"Ashford\",\n        \"stateCode\": \"SP\",\n        \"street_address\": \"58 Testing Lane\",\n        \"zip_code\": \"57312-140\",\n        \"date_of_birth\": \"1994-31-04\",\n        \"phone\": \"+558262362732\",\n        \"documentId\": \" 97c1c590-554b-4449-a0f1-8da9f9756937\",  \n        \"documentType\": \"evp\"\n   },\n   \"updated_on\": 1710831765,\n   \"payoutMethod\": \"Payout-PIX\",\n   \"amountUnit\": \"MAJOR\",\n   \"amount\": 20.0,\n   \"errorMsg\": \"errors.wallet.transfer_balance_insufficient\",\n   \"created_on\": 1710831768,\n   \"merchantRef\": \"65f93895c96bae142f7b1765\",\n   \"merchantName\": \"test\",\n   \"status\": \"ERROR\",\n   \"status_history\": [\n       {\n           \"status\": \"created\",\n           \"timestamp\": 1710831765\n       },\n       {\n           \"status\": \"error\",\n           \"timestamp\": 1710831768\n       }\n   ],\n   \"currency\": \"BRL\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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}"}],"_postman_id":"38282022-d30e-409e-8422-072417e24c66"}],"id":"19413a2e-ff2d-45e5-987d-d050bbc036f8","description":"<p><strong>Payout API Flow</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/C3wVvecNtQw4_DB4-8CRpFabuqko5aLMycrWTkTjyCTHPuK1Of3lNOiyyTV2wKCwT0gLmsFZkfAgJ4sa6NHBp3ea0l6dD9gJAX2FQhOTG4p7pa-YZzQRXY5aHsYOB8uGk76XIcBZ7rLq9G4gHbHnYqU\" />\n\n<p><strong>API Steps</strong></p>\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 of the status history.</p>\n</li>\n<li><p>To get the status of the transaction, call “/purchases/{purchaseId}/” API.</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"f53e35c9-52ff-4ca7-803f-44bf9461d5d8"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"43db646b-a381-483d-adbd-87ef587ce5ee"}}],"_postman_id":"19413a2e-ff2d-45e5-987d-d050bbc036f8"}],"id":"92e7a364-d2b4-42a2-8fa6-1e717b382126","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"bcc5cee0-4f04-426c-9ead-ee259ae8e2a8"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"63c88633-1cbd-4d7a-8d47-d0e214be6fb0"}}],"_postman_id":"92e7a364-d2b4-42a2-8fa6-1e717b382126","description":""},{"name":"🇪🇬 FawryPay","item":[{"name":"Concepts","item":[],"id":"9964fa32-d236-40c8-b7cd-5246080e0708","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=\"paysecures-fawry-product-suite-enables-merchants-to-initiate\"><strong>Paysecure’s 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>Paysecure’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":"9964fa32-d236-40c8-b7cd-5246080e0708"},{"name":"PayIn API","item":[{"name":"Purchases","id":"cf878eea-93d1-40f7-afe9-b73b2beb3a21","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user7886@example.com\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"city\": \"Milford\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"68403\",\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\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure 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, Paysecure 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://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"170a6954-2894-48d4-92f2-f0a074c1112a","name":"Purchase- success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user7886@example.com\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"city\": \"Milford\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"68403\",\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\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"667cfb2cf0bd8d672c8fc562\",\r\n    \"client\": {\r\n        \"email\": \"user1571@example.com\",\r\n        \"phone\": \"+447755564318\",\r\n        \"full_name\": \"Test test\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"country\": \"EG\",\r\n        \"city\": \"Milford\",\r\n        \"zip_code\": \"68403\",\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\": \"203.0.113.226\",\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\": \"your-brand-id\",\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\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\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\": \"203.0.113.226\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/667cfb2cf0bd8d672c8fc562/\"\r\n}"},{"id":"7a9948db-94d6-4766-ae3a-620c1afcffc7","name":"Create Purchase","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/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":"cf878eea-93d1-40f7-afe9-b73b2beb3a21"},{"name":"Get Status","id":"1e0589a4-ba3a-45c3-82a1-30c7e1546d8b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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","urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"33c8f5b3-464f-47c6-b137-63a855018bca","name":"Purchases-success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"667cfc59f0bd8d672c8fc6c8\",\r\n    \"client\": {\r\n        \"email\": \"user1571@example.com\",\r\n        \"phone\": \"+447755564318\",\r\n        \"full_name\": \"Test test\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"country\": \"EG\",\r\n        \"city\": \"Milford\",\r\n        \"zip_code\": \"68403\",\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\": \"203.0.113.226\",\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\": \"your-brand-id\",\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\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\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\": \"203.0.113.226\",\r\n     \"checkout_url\": \"https://api.paysecure.net/payments/667cfb2cf0bd8d672c8fc562/\"\r\n}"},{"id":"aeee0333-2a5b-4812-8170-6a1690b3f457","name":"Purchases","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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":"1e0589a4-ba3a-45c3-82a1-30c7e1546d8b"}],"id":"b79ff71f-d862-4bc3-be46-9bb1304cae76","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":"b79ff71f-d862-4bc3-be46-9bb1304cae76"},{"name":"PayOut API","item":[{"name":"Create PayOut","id":"9549c867-611c-44c5-b95d-ba89448953a6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n    \"email\": \"user5772@example.com\",\r\n       \"country\" : \"EG\",\r\n \"phone\" : \"9586445444\",\r\n\"full_name\": \"Avery Larsen\",\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://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n    \r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/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>","urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[{"disabled":true,"key":"","value":null},{"disabled":true,"key":null,"value":""}],"variable":[]}},"response":[{"id":"8ee8634d-bcee-45b0-a712-b657f87e0fe6","name":"create payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n    \"email\": \"user5772@example.com\",\r\n       \"country\" : \"EG\",\r\n \"phone\" : \"9586445444\",\r\n\"full_name\": \"Avery Larsen\",\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://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n    \r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/payout/","host":["https://api.paysecure.net/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\": \"6687d86dde5d5c0feecf7621\",\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"phone\": \"9586445444\",\r\n        \"full_name\": \"Avery Larsen\",\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://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}"},{"id":"b4f0f8fb-affa-4f6e-903b-206da00b1591","name":"create payout-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n    \"email\": \"user5772@example.com\",\r\n       \"country\" : \"EG\",\r\n \"phone\" : \"9586445444\",\r\n\"full_name\": \"Avery Larsen\",\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://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n    \r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/payout/","host":["https://api.paysecure.net/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":"9549c867-611c-44c5-b95d-ba89448953a6"},{"name":"Get Status","id":"86f7c369-43c7-4165-bc25-0e251d4864d7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.paysecure.net/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://your.success.callback.com\">https://your.success.callback.com</a>\",</p>\n<p>Error: \"failure_callback\": “<a href=\"https://failure.com%E2%80%9D\">https://failure.com”</a></p>\n","urlObject":{"path":["getpayout","{payoutId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"c193e84f-1bb3-48a5-8b38-0ed15ac3fa59","name":"Get success Status","originalRequest":{"method":"GET","header":[],"url":"https://api.paysecure.net/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"6685467c0e5b201a73f91256\",\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"phone\": \"9586445444\",\r\n        \"full_name\": \"Avery Larsen\",\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\": \"Morgan Costa\"\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://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}"},{"id":"5fe50856-99f4-4ec7-866c-70648fccafd8","name":"Get Error Status","originalRequest":{"method":"GET","header":[],"url":"https://api.paysecure.net/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":"86f7c369-43c7-4165-bc25-0e251d4864d7"}],"id":"856ce615-c87f-4d18-afab-66edf20ece37","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":"856ce615-c87f-4d18-afab-66edf20ece37"},{"name":"Get Balance API","item":[{"name":"Checking Balance","id":"9c6f0d8f-776e-47af-ac5e-3113436bbeb8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"INTERAC\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/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","urlObject":{"path":["getBalance"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"000ec21f-0078-4460-ab79-5f7e5934f117","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.paysecure.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":"e0de1243-7265-479a-bb4e-199862dfe841","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://api.paysecure.net/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":"9c6f0d8f-776e-47af-ac5e-3113436bbeb8"}],"id":"eae8d9d8-9ca8-4137-ace9-b52a05a1d544","_postman_id":"eae8d9d8-9ca8-4137-ace9-b52a05a1d544","description":""}],"id":"47d75ccc-29c2-4b1a-9fc6-43b7d0ac66e8","_postman_id":"47d75ccc-29c2-4b1a-9fc6-43b7d0ac66e8","description":""},{"name":"🇮🇳 UPI Solution","item":[{"name":"Concepts","item":[],"id":"1de2d0d3-e894-4a93-bfd6-ed648c550b69","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=\"paysecures-upi-product-suite-enables-merchants-to-initiate\"><strong>Paysecure’s 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>Paysecure’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 paysecure 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 payouts through various channels, including IMPS, UPI, RTGS, and NEFT, to user's bank accounts.</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/617fb471-49f3-42da-a00e-51059ae89857/aW1hZ2UucG5n\" width=\"1538\" height=\"570\" />\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 account before doing payouts.</p>\n</li>\n<li><p>Ensure that enough balance is there in your merchant account do the payout.</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 transfer Type (IMPS, RTGS, NEFT, UPI)</p>\n</li>\n<li><p>Beneficiary's ifsc Code (if transferType is either of IMPS, RTGS, or NEFT)</p>\n</li>\n<li><p>Beneficiary's payee Name (if transferType is either of IMPS, RTGS, or NEFT)</p>\n</li>\n<li><p>Beneficiary's bank Account Number (if transferType is either of IMPS, RTGS, or NEFT)</p>\n</li>\n</ul>\n</li>\n<li><p>Upon completion of the payout, reaching either a Success or Failure state, Paysecure notifies the merchant’s platform via webhook, providing the final status of the transaction and additional details.</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"d402a55c-3512-48d8-b8b5-1f3e12d3f369"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"244c5cdf-6b56-4bd7-ad45-c78c198f60dd"}}],"_postman_id":"1de2d0d3-e894-4a93-bfd6-ed648c550b69"},{"name":"PayIn API","item":[{"name":"Purchases","id":"fbaaf9fe-5552-43d7-9c43-212db6b6f1ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"full_name\": \"test test\",\r\n        \"country\": \"IN\",\r\n        \"city\": \"Riverton\",\r\n        \"stateCode\": \"RJ\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"zip_code\": \"302022\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+91 9634988765\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"INR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"price\": 100\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"UPI-QR\",\r\n    \"merchantRef\": \"test12\", // optional\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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>The customer's email.</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>The customer's city.</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>The customer's address.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>The customer's ZIP or postal code. If country=US, zip format must be NNNNN or NNNNN-NNNN.</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 />  <br />Please note, the currency has to be enabled by the account manager for your account.</td>\n</tr>\n<tr>\n<td>purchase.products</td>\n<td>An object which contains the list of products which the customer is buying.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>The name of the product.</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>pending_redirect</td>\n<td>URL to send the user if the transactions is in pending.</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 Paysecure.</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 Paysecure'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 Paysecure and at customer's Bank, the merchant and Paysecure 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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure URL.</p>\n<p>Possible Payment Methods allowed: UPI-QR and UPI-INTENT</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</tr>\n</thead>\n<tbody>\n<tr>\n<td>Allowed Limit for this payment method for particular time period has been consumed</td>\n</tr>\n<tr>\n<td>some Mandatory Parameter are missing</td>\n</tr>\n<tr>\n<td>Invalid format of Date_of_Birth [allowed format: yyyy-mm-dd]</td>\n</tr>\n<tr>\n<td>Invalid Email Format</td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n</tr>\n<tr>\n<td>Merchant Limit is not set</td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n</tr>\n<tr>\n<td>Brand not found !</td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n</tr>\n<tr>\n<td>Only {{currencyCode}} currency is allowed.</td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n</tr>\n<tr>\n<td>Invalid_Parameter  <br />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":"noauth","isInherited":true,"source":{"_postman_id":"692d92d3-a2fd-42ee-be95-e0971624f41c","id":"692d92d3-a2fd-42ee-be95-e0971624f41c","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"9dd85b02-c9ba-4f17-b321-7dc05634c7c6","name":"UPI-QR","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"full_name\": \"test test\",\r\n        \"country\": \"IN\",\r\n        \"city\": \"Riverton\",\r\n        \"stateCode\": \"RJ\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"zip_code\": \"302022\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+91 9634988765\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"INR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"price\": 100\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"UPI-QR\",\r\n    \"merchantRef\": \"test12\", // optional\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/purchases"},"status":"Success","code":202,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"6682942d5273633e7b8d30c8\",\r\n    \"client\": {\r\n        \"email\": \"user1571@example.com\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"country\": \"EG\",\r\n        \"city\": \"Milford\",\r\n        \"zip_code\": \"68403\",\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-QR\",\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\": \"203.0.113.113\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"UPI-QR\",\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\": \"your-brand-id\",\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        \"expiration_date\": \"2025-03-27 23:59:59\",\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    },\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 0.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"platform\": \"API\",\r\n    \"created_from_ip\": \"203.0.113.113\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/6682942d5273633e7b8d30c8/\"\r\n}\r\n"},{"id":"09767f32-af02-4c5b-b164-1f67ee5e4918","name":"UPI-INTENT","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"full_name\": \"test test\",\r\n        \"country\": \"IN\",\r\n        \"city\": \"Riverton\",\r\n        \"stateCode\": \"RJ\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"zip_code\": \"302022\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+91 9634988765\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"INR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"price\": 100\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"UPI-INTENT\",\r\n    \"merchantRef\": \"test12\", // optional\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"6682942d5273633e7b8d30c8\",\r\n    \"client\": {\r\n        \"email\": \"user1571@example.com\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"country\": \"EG\",\r\n        \"city\": \"Milford\",\r\n        \"zip_code\": \"68403\",\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-INTENT\",\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\": \"203.0.113.113\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"UPI-COLLECT\",\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\": \"your-brand-id\",\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        \"transaction_expiry\": \"2026-02-21 07:11:13\",\r\n        \"intentUri\": \"upi://pay?pa=bom260101330774%40mahb&am=101&tn=jamb&tr=jamb&pn=V%20S%20ENTERPRISEScu=\"\r\n    },\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 0.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"platform\": \"API\",\r\n    \"created_from_ip\": \"203.0.113.113\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/6682942d5273633e7b8d30c8/\"\r\n}"}],"_postman_id":"fbaaf9fe-5552-43d7-9c43-212db6b6f1ee"},{"name":"Get Status","id":"4c6bec94-c878-4b3d-be81-82c35c7c5944","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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":"noauth","isInherited":true,"source":{"_postman_id":"692d92d3-a2fd-42ee-be95-e0971624f41c","id":"692d92d3-a2fd-42ee-be95-e0971624f41c","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"cb572bcb-dcb6-435a-92b6-edd546ae9d9f","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"66c4667bb993c970367c288a\",\r\n    \"client\": {\r\n        \"email\": \"user1571@example.com\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"country\": \"IN\",\r\n        \"city\": \"Milford\",\r\n        \"zip_code\": \"68403\",\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\": \"203.0.113.192\",\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\": \"your-brand-id\",\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        \"expiration_date\": \"2025-03-27 23:59:59\",\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    },\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 10.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\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\": \"203.0.113.192\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/66c4667bb993c970367c288a/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"f80ea9cb-c599-49f3-bfc1-0614b4781063","name":"Failure","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"4c6bec94-c878-4b3d-be81-82c35c7c5944"}],"id":"692d92d3-a2fd-42ee-be95-e0971624f41c","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 a checkout URL in the response JSON. Sometimes they can also get an object of PayIn Details which they can use to make the payment.</p>\n</li>\n<li><p>The merchant then has 2 options</p>\n<ol>\n<li><p>Upon utilizing the checkout URL, depending on the payment method passed, 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>QR Code</p>\n</li>\n<li><p>PhonePe, Googlepay or Paytm intent flow</p>\n</li>\n</ol>\n</li>\n<li><p>Retrieve the PayIn details in the response JSON (as shown below).</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 the method employed, the user would be redirected to the appropriate redirect URL.</p>\n</li>\n</ol>\n<p><strong>Available Payment Methods</strong>: UPI-QR and UPI-INTENT</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"1a3b4872-d05f-4728-a681-005d415c7cb4"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"525af8e1-b978-4d84-b120-bc485bb409a7"}}],"_postman_id":"692d92d3-a2fd-42ee-be95-e0971624f41c"},{"name":"Payout","item":[{"name":"PayOut","id":"3eb5d872-a189-48e5-a778-5198bfbbaa85","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user9320@example.com\",\n        \"phone\": \"+91 9634088651\",\n        \"country\": \"IN\",\n        \"zip_code\": \"302018\",\n        \"city\": \"Riverton\",\n        \"street_address\": \"58 Testing Lane\",\n        \"full_name\": \"Reese Moreau\",\n        \"stateCode\": \"RJ\"\n    },\n    \"beneficiaryDetail\": {\n        \"bankAccountName\": \"Reese Moreau\",\n        \"bankAccountNumber\": \"123456789012\",\n        \"ifscCode\": \"HDFC021212\"\n    },\n    \"payoutMethod\": \"PAYOUT-BANKTRANSFER\",\n    \"brand_id\": \"your-brand-id\",\n    \"amount\": 100,\n    \"currency\": \"INR\",\n    \"purpose\": \"payout for testing\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/payout/","description":"<p>To Initiate a payment, the very first API call to make is <code>/payout/</code> 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>The customer's email.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>The customer's phone number along with the country code.  <br />Example: +91 9634088651</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>The customer's city.</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>The customer's address.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>The customer's ZIP or postal code. If country=US, zip format must be NNNNN or NNNNN-NNNN.</td>\n</tr>\n<tr>\n<td>currency</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />  <br />Please note, the currency has to be enabled by the account manager for your account.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>amount 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>payoutMethod</td>\n<td>example: PAYOUT-BANKTRANSFER</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>pending_redirect</td>\n<td>URL to send the user if the transactions is in pending.</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>The purpose of doing a payout.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"additional-parameters-for-this-usecase\">Additional <strong>parameters for this usecase:</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>beneficiaryDetail.bankName</td>\n<td>The Bank Name in which the customer want's to credit the money.  <br />  <br />Optional Field.  <br />If passed, only use the mentioned bank names below. Anything else might lead to payout failures.  <br />If you don't want to pass, then you might need to open our checkout_url in the response and user can select the Bank from the dropdown.</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankAccountName</td>\n<td>Mandatory Field.  <br />Account Holder's Full Name.  <br />It is advised to have atleast 2 words in the name.</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankAccountCurrency</td>\n<td>Optional Field.  <br />The Currency in which the money will be credited. Generally the same as the <code>currency</code> field mentioned above.</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankAccountNumber</td>\n<td>Mandatory Field.  <br />Account Holder's Account Number.  <br />This is the account in which the money will be credited.</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.ifscCode</td>\n<td>Mandatory Field.  <br />IFSC code of the account in which the money will be credited.</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankCountryCode</td>\n<td>Optional Field.  <br />The country code in which the account exist. Generally the same as the <code>country</code> field mentioned above.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Bank Names:</strong></p>\n<img src=\"https://content.pstmn.io/94f46e68-73b7-4a16-bff1-1d4a57dd6e92/aW1hZ2UucG5n\" width=\"676\" height=\"3498\" />","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"d23b2b5b-4b22-4a1c-8d1e-e93801f3506b","id":"d23b2b5b-4b22-4a1c-8d1e-e93801f3506b","name":"Payout","type":"folder"}},"urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"e469b468-6baf-4cea-a14e-3366956e9558","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user9320@example.com\",\r\n        \"phone\": \"+91 9634088651\",\r\n        \"country\": \"IN\",\r\n        \"zip_code\": \"302018\",\r\n        \"city\": \"Riverton\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"full_name\": \"Reese Moreau\",\r\n        \"stateCode\": \"RJ\"\r\n    },\r\n    \"beneficiaryDetail\": {\r\n        \"bankAccountName\": \"Reese Moreau\",\r\n        \"bankAccountNumber\": \"123456789012\",\r\n        \"ifscCode\": \"HDFC021212\"\r\n    },\r\n    \"payoutMethod\": \"PAYOUT-BANKTRANSFER\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"amount\": 100,\r\n    \"currency\": \"INR\",\r\n    \"purpose\": \"payout for testing\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/payout/"},"status":"Accepted","code":202,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"6977137755e0628e3600c562\",\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9320@example.com\",\r\n        \"phone\": \"+91 9634088651\",\r\n        \"country\": \"IN\",\r\n        \"zip_code\": \"302018\",\r\n        \"city\": \"Riverton\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"full_name\": \"Reese Moreau\",\r\n        \"stateCode\": \"RJ\"\r\n    },\r\n    \"updated_on\": 1769411447,\r\n    \"payoutMethod\": \"PAYOUT-BANKTRANSFER\",\r\n    \"beneficiaryDetail\": {\r\n        \"bankAccountName\": \"Reese Moreau\",\r\n        \"bankAccountNumber\": \"123456789012\",\r\n        \"ifscCode\": \"HDFC021212\"\r\n    },\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 100.0,\r\n    \"errorMsg\": \"\",\r\n    \"purpose\": \"payout for testing\",\r\n    \"created_on\": 1769411447,\r\n    \"merchantRef\": \"6977137755e0628e3600c562\",\r\n    \"status\": \"PAID\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1769411447\r\n        },\r\n        {\r\n            \"status\": \"paid\",\r\n            \"timestamp\": 1769411447\r\n        },\r\n\r\n    ],\r\n    \"currency\": \"INR\",\r\n    \"extraFee\": \"0\",\r\n    \"paymentOn\": 0,\r\n    \"checkout_url\": \"https://api.paysecure.net/payout/092e59f94279a3742fa3715fe9a2112a/\",\r\n    \"taxAmount\": 0.0,\r\n    \"taxPercent\": 0.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"redirectType\": \"POST\",\r\n    \"sessionId\": \"\",\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"trxMethod\": \"BANKTRANSFER\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}"},{"id":"7fa260c0-6966-48c8-8cf2-34c1cdbefa41","name":"Error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user9320@example.com\",\r\n        \"phone\": \"+91 9634088651\",\r\n        \"country\": \"IN\",\r\n        \"zip_code\": \"302018\",\r\n        \"city\": \"Riverton\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"full_name\": \"Reese Moreau\",\r\n        \"stateCode\": \"RJ\"\r\n    },\r\n    \"beneficiaryDetail\": {\r\n        \"bankAccountName\": \"Reese Moreau\",\r\n        \"bankAccountNumber\": \"123456789012\",\r\n        \"ifscCode\": \"HDFC021212\"\r\n    },\r\n    \"payoutMethod\": \"PAYOUT-BANKTRANSFER\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"amount\": 100,\r\n    \"currency\": \"INR\",\r\n    \"purpose\": \"payout for testing\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/payout/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"6977137755e0628e3600c562\",\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9320@example.com\",\r\n        \"phone\": \"+91 9634088651\",\r\n        \"country\": \"IN\",\r\n        \"zip_code\": \"302018\",\r\n        \"city\": \"Riverton\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"full_name\": \"Reese Moreau\",\r\n        \"stateCode\": \"RJ\"\r\n    },\r\n    \"updated_on\": 1769411447,\r\n    \"payoutMethod\": \"PAYOUT-BANKTRANSFER\",\r\n    \"beneficiaryDetail\": {\r\n        \"bankAccountName\": \"Reese Moreau\",\r\n        \"bankAccountNumber\": \"123456789012\",\r\n        \"ifscCode\": \"HDFC021212\"\r\n    },\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 100.0,\r\n    \"errorMsg\": \"This customer can not be processed !\",\r\n    \"purpose\": \"payout for testing\",\r\n    \"created_on\": 1769411447,\r\n    \"merchantRef\": \"6977137755e0628e3600c562\",\r\n    \"status\": \"ERROR\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1769411447\r\n        },\r\n        {\r\n            \"status\": \"error\",\r\n            \"timestamp\": 1769411447\r\n        }\r\n    ],\r\n    \"currency\": \"INR\",\r\n    \"extraFee\": \"0\",\r\n    \"paymentOn\": 0,\r\n    \"checkout_url\": \"https://api.paysecure.net/payout/092e59f94279a3742fa3715fe9a2112a/\",\r\n    \"taxAmount\": 0.0,\r\n    \"taxPercent\": 0.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"redirectType\": \"POST\",\r\n    \"sessionId\": \"\",\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"trxMethod\": \"BANKTRANSFER\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}"}],"_postman_id":"3eb5d872-a189-48e5-a778-5198bfbbaa85"},{"name":"Get Status","id":"c7a17546-458b-49b5-865e-1c43721b82f9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"https://api.paysecure.net/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>","urlObject":{"path":["getpayout","{payoutId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"4efaf686-7d36-49c0-a7b0-17b2ce869a16","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"6977137755e0628e3600c562\",\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9320@example.com\",\r\n        \"phone\": \"+91 9634088651\",\r\n        \"country\": \"IN\",\r\n        \"zip_code\": \"302018\",\r\n        \"city\": \"Riverton\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"full_name\": \"Reese Moreau\",\r\n        \"stateCode\": \"RJ\"\r\n    },\r\n    \"updated_on\": 1769411447,\r\n    \"payoutMethod\": \"PAYOUT-BANKTRANSFER\",\r\n    \"beneficiaryDetail\": {\r\n        \"bankAccountName\": \"Reese Moreau\",\r\n        \"bankAccountNumber\": \"123456789012\",\r\n        \"ifscCode\": \"HDFC021212\"\r\n    },\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 100.0,\r\n    \"errorMsg\": \"\",\r\n    \"purpose\": \"payout for testing\",\r\n    \"created_on\": 1769411447,\r\n    \"merchantRef\": \"6977137755e0628e3600c562\",\r\n    \"status\": \"PAID\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1769411447\r\n        },\r\n        {\r\n            \"status\": \"paid\",\r\n            \"timestamp\": 1769411447\r\n        },\r\n\r\n    ],\r\n    \"currency\": \"INR\",\r\n    \"extraFee\": \"0\",\r\n    \"paymentOn\": 0,\r\n    \"checkout_url\": \"https://api.paysecure.net/payout/092e59f94279a3742fa3715fe9a2112a/\",\r\n    \"taxAmount\": 0.0,\r\n    \"taxPercent\": 0.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"redirectType\": \"POST\",\r\n    \"sessionId\": \"\",\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"trxMethod\": \"BANKTRANSFER\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}"},{"id":"1646acec-d972-470d-9d3c-93704b7f00d2","name":"Error","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"6977137755e0628e3600c562\",\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9320@example.com\",\r\n        \"phone\": \"+91 9634088651\",\r\n        \"country\": \"IN\",\r\n        \"zip_code\": \"302018\",\r\n        \"city\": \"Riverton\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"full_name\": \"Reese Moreau\",\r\n        \"stateCode\": \"RJ\"\r\n    },\r\n    \"updated_on\": 1769411447,\r\n    \"payoutMethod\": \"PAYOUT-BANKTRANSFER\",\r\n    \"beneficiaryDetail\": {\r\n        \"bankAccountName\": \"Reese Moreau\",\r\n        \"bankAccountNumber\": \"123456789012\",\r\n        \"ifscCode\": \"HDFC021212\"\r\n    },\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 100.0,\r\n    \"errorMsg\": \"This customer can not be processed !\",\r\n    \"purpose\": \"payout for testing\",\r\n    \"created_on\": 1769411447,\r\n    \"merchantRef\": \"6977137755e0628e3600c562\",\r\n    \"status\": \"ERROR\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1769411447\r\n        },\r\n        {\r\n            \"status\": \"error\",\r\n            \"timestamp\": 1769411447\r\n        }\r\n    ],\r\n    \"currency\": \"INR\",\r\n    \"extraFee\": \"0\",\r\n    \"paymentOn\": 0,\r\n    \"checkout_url\": \"https://api.paysecure.net/payout/092e59f94279a3742fa3715fe9a2112a/\",\r\n    \"taxAmount\": 0.0,\r\n    \"taxPercent\": 0.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"redirectType\": \"POST\",\r\n    \"sessionId\": \"\",\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"trxMethod\": \"BANKTRANSFER\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}"}],"_postman_id":"c7a17546-458b-49b5-865e-1c43721b82f9"}],"id":"d23b2b5b-4b22-4a1c-8d1e-e93801f3506b","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<ol>\n<li><p>The merchant initiates the payout via the create payout API. If successful, they will receive a paid status in the response. If any additional fields are required from the user, the status would be in pending and the user needs to be redirected to the checkout_url.</p>\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 the user would be redirected to the checkout_url for some additional details, once the user clicks on Pay, the user will be redirected to the appropriate redirect URL.</p>\n</li>\n</ol>\n<p>Available payout methods: PAYOUT-BANKTRANSFER</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"83c81254-b4fc-4741-b88a-e38ab23416cc"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"1e8dddd6-1755-4ed9-96a7-942fc99c7812"}}],"_postman_id":"d23b2b5b-4b22-4a1c-8d1e-e93801f3506b"}],"id":"88c1a99a-e7f7-49f7-afb9-816ba01b1ccf","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"29d43f5f-2439-4c06-8960-24823894e91e"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"a310ad94-5bb1-4fd4-9a90-34ee896c4414"}}],"_postman_id":"88c1a99a-e7f7-49f7-afb9-816ba01b1ccf","description":""},{"name":"🇲🇽 SPEI Payments","item":[{"name":"Concepts","item":[],"id":"413f4f6a-1966-423c-b3bd-3f9e76481a1d","description":"<ol>\n<li><p><strong>CLABE (Clave Bancaria Estandarizada):</strong> A 18-digit standardized bank account identifier used to route funds correctly.</p>\n</li>\n<li><p><strong>Expiration Window:</strong> SPEI instructions typically expire within a 3 days; merchants must display clear expiry times to reduce failed payments.</p>\n</li>\n<li><p><strong>Webhook-Driven Confirmation:</strong> Once funds arrive, the SPEI network triggers a webhook to notify your system—no polling required.</p>\n</li>\n</ol>\n<h3 id=\"customer-journey\">Customer Journey</h3>\n<ol>\n<li><p><strong>Select SPEI at Checkout:</strong></p>\n<ul>\n<li><p>User adds items to cart, proceeds to checkout, and clicks “Pay with SPEI.”</p>\n</li>\n<li><p>Merchant’s site sends a Payin API request to generate SPEI instructions.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Display Payment Instructions:</strong></p>\n<ul>\n<li><p>Merchant shows a summary screen with:</p>\n<ul>\n<li><p><strong>Beneficiary CLABE (One-time CLABE)</strong></p>\n</li>\n<li><p><strong>Beneficiary Name</strong></p>\n</li>\n<li><p><strong>Amount (MXN)</strong></p>\n</li>\n<li><p><strong>Expiration Time</strong> (e.g., “Expires in 2 hours”)</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><strong>Customer Initiates Transfer:</strong></p>\n<ul>\n<li><p>Customer logs into their bank’s web/mobile app.</p>\n</li>\n<li><p>They select “Transfer via SPEI,” enter the provided CLABE, amount, and reference.</p>\n</li>\n<li><p>Customer confirms transfer (two-factor auth, OTP, or biometric—bank-dependent).</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Funds Sent &amp; Confirmation:</strong></p>\n<ul>\n<li><p>Once Banco de México settles the transfer (typically &lt;15 minutes), PaySecure’s SPEI webhook fires.</p>\n</li>\n<li><p>Merchant backend receives webhook payload with transaction status = “paid” (or “error,” “cancelled,” as applicable).</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Merchant Acknowledges Payment:</strong></p>\n<ul>\n<li><p>Backend updates order status to “Paid”</p>\n</li>\n<li><p>Frontend redirects customer to success page or sends confirmation email/SMS.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Edge Cases &amp; Failure Handling:</strong></p>\n<ul>\n<li><p>If customer never initiates transfer before expiration, status = “expired.”</p>\n</li>\n<li><p>If customer sends incorrect CLABE/amount, merchant receives webhook with error codes—trigger “error” flow.</p>\n</li>\n</ul>\n</li>\n</ol>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"98f60999-64f6-4047-bf4d-05dcd1d468b1"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"2796a9af-979c-4733-b1ad-80629e386a5e"}}],"_postman_id":"413f4f6a-1966-423c-b3bd-3f9e76481a1d"},{"name":"Payin API","item":[{"name":"Payin API","id":"fdea1c13-df61-4424-8b74-01d7dc9ec706","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5890@example.com\",\n        \"country\": \"MX\",\n        \"city\": \"123\",\n        \"stateCode\": \"ca\",\n        \"full_name\": \"Test test\",\n        \"street_address\": \"test test\",\n        \"zip_code\": \"234567\",\n        \"phone\": \"9999999999\"\n    },\n    \"purchase\": {\n        \"currency\": \"MXN\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"price\": \"100\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"SPEI\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases","description":"<h3 id=\"1-request-payload-structure\">1. Request Payload Structure</h3>\n<p>Supply a JSON payload with these top‐level objects:</p>\n<ul>\n<li><p><code>client</code> (customer details)</p>\n</li>\n<li><p><code>purchase</code> (order details)</p>\n</li>\n<li><p><code>paymentMethod</code> (string, must be <code>\"SPEI\"</code>)</p>\n</li>\n<li><p><code>extraParam</code> (optional, leave <code>{}</code> if unused)</p>\n</li>\n<li><p><code>status</code> (set to <code>\"created\"</code>)</p>\n</li>\n<li><p><code>brand_id</code> (your merchant/brand UUID)</p>\n</li>\n<li><p>Redirect &amp; callback URLs</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"2-displaying-spei-instructions-to-end-user\">2. Displaying SPEI Instructions to End User</h3>\n<p>Once you parse <code>payInDetails</code> from the response:</p>\n<ol>\n<li><p><strong>Show CLABE, Beneficiary &amp; Amount</strong></p>\n</li>\n<li><p><strong>Display Expiration</strong></p>\n</li>\n<li><p><strong>Show Redirect Path (Optional)</strong></p>\n<ul>\n<li>If you’re using the hosted <code>checkout_url</code>, simply redirect customers to it and let Paysecure handle the UI.</li>\n</ul>\n</li>\n</ol>\n<hr />\n<h3 id=\"3-webhook-handling--status-transitions\">3. Webhook Handling &amp; Status Transitions</h3>\n<ol>\n<li><p><strong>Configure Webhooks</strong></p>\n<ul>\n<li>In Paysecure’s Dashboard, set your <code>success_callback</code> and <code>failure_callback</code> URLs (one for each event type).</li>\n</ul>\n</li>\n<li><p><strong>Listen for These Events</strong>:</p>\n<ul>\n<li><p><code>payment.paid</code> – Banco de México has settled the transfer.</p>\n</li>\n<li><p><code>payment.error</code> – CLABE/amount mismatch or network error.</p>\n</li>\n<li><p><code>payment.expired</code> – Customer did not pay before <code>expireInMin</code>.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Update Order Status</strong>:</p>\n<ul>\n<li><p>On <code>payment.paid</code>: mark as paid, trigger fulfillment, send confirmation.</p>\n</li>\n<li><p>On <code>payment.error</code>: alert customer, allow retry or alternative payment.</p>\n</li>\n<li><p>On <code>payment.expired</code>: cancel order.</p>\n</li>\n</ul>\n</li>\n</ol>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"02da3a93-6fe0-4a6f-be48-c9c684af4434","id":"02da3a93-6fe0-4a6f-be48-c9c684af4434","name":"Payin API","type":"folder"}},"urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"f7905b3b-3a4e-4198-b614-0fde12d22eb1","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5890@example.com\",\n        \"country\": \"MX\",\n        \"city\": \"123\",\n        \"stateCode\": \"ca\",\n        \"full_name\": \"Test test\",\n        \"street_address\": \"test test\",\n        \"zip_code\": \"234567\",\n        \"phone\": \"9999999999\"\n    },\n    \"purchase\": {\n        \"currency\": \"MXN\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"price\": \"100\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"SPEI\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"683d768a22ae19559d740836\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5890@example.com\",\n        \"phone\": \"9999999999\",\n        \"full_name\": \"Test test\",\n        \"date_of_birth\": \"1970-07-10\",\n        \"street_address\": \"test test\",\n        \"country\": \"MX\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1748858506,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"SPEI\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"redirectType\": \"GET\",\n    \"force_recurring\": false,\n    \"created_on\": 1748858506,\n    \"extraParam\": {},\n    \"merchantRef\": \"683d768a22ae19559d740836\",\n    \"merchantName\": \"Skyler Nakamurasinghal\",\n    \"purchase\": {\n        \"currency\": \"MXN\",\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        \"expireInMin\": \"4320\",\n        \"taxAmount\": 0,\n        \"taxPercent\": 0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 100,\n        \"currency\": \"MXN\",\n        \"net_amount\": 100,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1748858506,\n        \"remote_paid_on\": 1748858506\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\": \"SPEI\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.205, 203.0.113.140, 203.0.113.61\",\n                \"type\": \"execute\",\n                \"payment_method\": \"SPEI\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"SPEI\",\n                \"processing_time\": 1748858506,\n                \"extra\": {\n                    \"amount\": 100,\n                    \"masked_pan\": \"SPEI\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAYMENT_IN_PROCESS\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1748858506\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1748858506\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1748858506\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"is_recurring_token\": false,\n    \"reference_generated\": \"PS786\",\n    \"issued\": \"2025-06-02\",\n    \"due\": 1748858506,\n    \"refund_upto\": 1749891706,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"2\",\n    \"payInDetails\": {\n        \"clabe\": \"710969000049618169\",\n        \"beneficiary\": \"SAMPLEPAY LTD.\",\n        \"amount\": \"100.00\"\n    },\n    \"paidOn\": 0,\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 100,\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\": \"203.0.113.205, 203.0.113.140, 203.0.113.61\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/683d768a22ae19559d740836/\",\n    \"payoutProcess\": false\n}"}],"_postman_id":"fdea1c13-df61-4424-8b74-01d7dc9ec706"}],"id":"02da3a93-6fe0-4a6f-be48-c9c684af4434","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"7150842f-032d-4267-bf20-d9496a75e483"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"80d4b210-1d15-41ab-86d1-d3965bbb892d"}}],"_postman_id":"02da3a93-6fe0-4a6f-be48-c9c684af4434","description":""},{"name":"Payout API","item":[{"name":"Payout API","id":"686b236e-6de9-41cc-bb32-d544730cdb78","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5890@example.com\",\n        \"country\": \"MX\",\n        \"phone\": \"+14377717874\",\n        \"full_name\": \"Sam Novak\",\n        \"stateCode\": \"test\",\n        \"spei_clabe\": \"012180027944986158\"\n    },\n    \"purpose\": \"payout\",\n    \"currency\": \"MXN\",\n    \"payoutMethod\": \"PAYOUT-SPEI\",\n    \"brand_id\": \"your-brand-id\",\n    \"amount\": 20,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/payout/","description":"<p><strong>Payout API Integration (SPEI)</strong></p>\n<hr />\n<h4 id=\"1-request-payload-structure\">1. Request Payload Structure</h4>\n<p>Submit a JSON payload containing:</p>\n<ul>\n<li><p><code>client</code> (beneficiary details)</p>\n</li>\n<li><p><code>purpose</code> (should be <code>\"payout\"</code>)</p>\n</li>\n<li><p><code>currency</code> (always <code>\"MXN\"</code>)</p>\n</li>\n<li><p><code>payoutMethod</code> (must be <code>\"PAYOUT-SPEI\"</code>)</p>\n</li>\n<li><p><code>amount</code> (numeric, in major units)</p>\n</li>\n<li><p>Redirect &amp; callback URLs</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">jsonCopy{\n  \"client\": {\n    \"email\": \"user5890@example.com\",\n    \"country\": \"MX\",\n    \"phone\": \"+14377717874\",\n    \"full_name\": \"Sam Novak\",\n    \"stateCode\": \"test\",\n    \"spei_clabe\": \"012180027944986158\"\n  },\n  \"purpose\": \"payout\",\n  \"currency\": \"MXN\",\n  \"payoutMethod\": \"PAYOUT-SPEI\",\n  \"amount\": 20,\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<ul>\n<li><p><strong>client.email</strong>, <strong>client.phone</strong>, <strong>client.full_name</strong>, <strong>client.country</strong>, <strong>client.stateCode</strong>: Required beneficiary/contact info.</p>\n</li>\n<li><p><strong>client.spei_clabe</strong>: 18-digit CLABE of beneficiary’s bank account (validate format client-side to avoid runtime failures).</p>\n</li>\n<li><p><strong>purpose</strong>: Always set to <code>\"payout\"</code>.</p>\n</li>\n<li><p><strong>currency</strong>: Must be <code>\"MXN\"</code>.</p>\n</li>\n<li><p><strong>payoutMethod</strong>: Must be <code>\"PAYOUT-SPEI\"</code>.</p>\n</li>\n<li><p><strong>amount</strong>: Numeric amount (e.g., <code>20</code> for MXN 20.00).</p>\n</li>\n<li><p><strong>success_redirect</strong> / <strong>failure_redirect</strong>: URLs for end-user redirect after they click “Return to Merchant” (GET).</p>\n</li>\n<li><p><strong>success_callback</strong> / <strong>failure_callback</strong>: Webhook endpoints for asynchronous payout status notifications.</p>\n</li>\n</ul>\n<hr />\n<h4 id=\"2-sample-response--key-fields\">2. Sample Response &amp; Key Fields</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">jsonCopy{\n  \"payoutId\": \"683d778dc74d23074a56ea94\",\n  \"client\": {\n    \"customerId\": \"NA\",\n    \"email\": \"user5890@example.com\",\n    \"phone\": \"+14377717874\",\n    \"full_name\": \"Sam Novak\",\n    \"country\": \"MX\",\n    \"spei_clabe\": \"012180027944986155\",\n    \"stateCode\": \"test\"\n  },\n  \"updated_on\": 1748858765,\n  \"payoutMethod\": \"PAYOUT-SPEI\",\n  \"amountUnit\": \"MAJOR\",\n  \"amount\": 20.0,\n  \"errorMsg\": \"This customer can not be processed !\",\n  \"purpose\": \"test payout\",\n  \"created_on\": 1748858765,\n  \"merchantRef\": \"683d778dc74d23074a56ea94\",\n  \"status\": \"ERROR\",\n  \"status_history\": [\n    {\n      \"status\": \"created\",\n      \"timestamp\": 1748858765\n    },\n    {\n      \"status\": \"error\",\n      \"timestamp\": 1748858765\n    }\n  ],\n  \"currency\": \"MXN\",\n  \"paymentOn\": 0,\n  \"taxAmount\": 0.0,\n  \"taxPercent\": 0.0,\n  \"success_redirect\": \"https://your.success.redirect.com\",\n  \"failure_redirect\": \"https://your.failure.redirect.com\",\n  \"redirectType\": \"GET\",\n  \"success_callback\": \"https://your.success.callback.com\",\n  \"failure_callback\": \"https://your.failure.callback.com\"\n}\n\n</code></pre>\n<ul>\n<li><p><strong>payoutId</strong> (<code>string</code>): Unique PaySecure identifier for this payout request.</p>\n</li>\n<li><p><strong>client.customerId</strong>: <code>\"NA\"</code> for a new beneficiary or your internal customer ID if returning.</p>\n</li>\n<li><p><strong>client.spei_clabe</strong>: Echoed beneficiary CLABE (note: if the CLABE in response differs by a digit, double-check formatting/validation).</p>\n</li>\n<li><p><strong>updated_on / created_on</strong>: Unix timestamps (seconds since epoch).</p>\n</li>\n<li><p><strong>payoutMethod</strong>: <code>\"PAYOUT-SPEI\"</code>.</p>\n</li>\n<li><p><strong>amountUnit</strong>: <code>\"MAJOR\"</code> indicates amount is in MXN major units (no subunit conversion required).</p>\n</li>\n<li><p><strong>amount</strong>: <code>20.0</code> (MXN 20.00).</p>\n</li>\n<li><p><strong>errorMsg</strong>: Describes any immediate rejection reason. If non-empty, <code>status</code> will be <code>\"ERROR\"</code>.</p>\n</li>\n<li><p><strong>purpose</strong>: Echo of the <code>\"payout\"</code> field or any custom string you passed.</p>\n</li>\n<li><p><strong>merchantRef</strong>: Mirror of <code>payoutId</code> by default; can be overwritten if you pass a custom reference.</p>\n</li>\n<li><p><strong>status</strong>: One of:</p>\n<ul>\n<li><p><code>\"created\"</code> → request accepted, preparing SPEI transfer</p>\n</li>\n<li><p><code>\"processing\"</code> → SPEI transfer initiated, awaiting Banco de México settlement</p>\n</li>\n<li><p><code>\"success\"</code> → funds successfully delivered</p>\n</li>\n<li><p><code>\"error\"</code> → immediate failure (e.g., invalid CLABE, validation issue)</p>\n</li>\n</ul>\n</li>\n<li><p><strong>status_history</strong>: Array showing timestamped states from <code>\"created\"</code> → <code>\"processing\"</code> → (<code>\"success\"</code> or <code>\"error\"</code>).</p>\n</li>\n<li><p><strong>paymentOn</strong>: Unix timestamp when the transfer actually occurred (0 if not delivered).</p>\n</li>\n<li><p><strong>redirectType</strong>: Always <code>\"GET\"</code>, meaning customer is redirected via HTTP GET to your provided URL.</p>\n</li>\n<li><p><strong>success_redirect</strong> / <strong>failure_redirect</strong> / <strong>success_callback</strong> / <strong>failure_callback</strong>: Echo of whatever you passed in request.</p>\n</li>\n</ul>\n<p><strong>Note:</strong> If you see <code>\"status\": \"ERROR\"</code> and an <code>errorMsg</code>, do not retry automatically—inspect the message, correct client data, then reinitiate a new payout request.</p>\n<hr />\n<h4 id=\"3-handling-payout-webhooks--status-flow\">3. Handling Payout Webhooks &amp; Status Flow</h4>\n<ol>\n<li><p><strong>Configure Webhooks</strong></p>\n<ul>\n<li>In your PaySecure Dashboard, register your <code>success_callback</code> and <code>failure_callback</code> URLs (these will receive POSTs once SPEI settles or fails).</li>\n</ul>\n</li>\n<li><p><strong>Listen for Events</strong></p>\n<ul>\n<li><p><code>payout.success</code>: Banco de México confirmed the credit to beneficiary’s CLABE.</p>\n</li>\n<li><p><code>payout.error</code>: CLABE invalid, account closed, or transfer rejected.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Update Your Records</strong></p>\n<ul>\n<li><p>On <code>payout.success</code>: Mark disbursement as complete; notify your finance/operations teams.</p>\n</li>\n<li><p>On <code>payout.error</code>: Log failure details, alert operations for manual review, and optionally retry after fixing the root cause.</p>\n</li>\n</ul>\n</li>\n</ol>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"99e082c5-31f1-4c7e-b175-d11115bab689","id":"99e082c5-31f1-4c7e-b175-d11115bab689","name":"Payout API","type":"folder"}},"urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"15684b7b-c173-427d-8c16-c5fff29941c1","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5890@example.com\",\n        \"country\": \"MX\",\n        \"phone\": \"+14377717874\",\n        \"full_name\": \"Sam Novak\",\n        \"stateCode\": \"test\",\n        \"spei_clabe\": \"012180027944986158\"\n    },\n    \"purpose\": \"payout\",\n    \"currency\": \"MXN\",\n    \"payoutMethod\": \"PAYOUT-SPEI\",\n    \"brand_id\": \"your-brand-id\",\n    \"amount\": 20,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/payout/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"payoutId\": \"683d778dc74d23074a56ea94\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5890@example.com\",\n        \"phone\": \"+14377717874\",\n        \"full_name\": \"Sam Novak\",\n        \"country\": \"MX\",\n        \"spei_clabe\": \"012180027944986155\",\n        \"stateCode\": \"test\"\n    },\n    \"updated_on\": 1748858765,\n    \"payoutMethod\": \"PAYOUT-SPEI\",\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 20,\n    \"errorMsg\": \"\",\n    \"purpose\": \"test payout\",\n    \"created_on\": 1748858765,\n    \"merchantRef\": \"683d778dc74d23074a56ea94\",\n    \"status\": \"paid\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1748858765\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1748858765\n        }\n    ],\n    \"currency\": \"MXN\",\n    \"paymentOn\": 0,\n    \"taxAmount\": 0,\n    \"taxPercent\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"redirectType\": \"GET\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"}],"_postman_id":"686b236e-6de9-41cc-bb32-d544730cdb78"}],"id":"99e082c5-31f1-4c7e-b175-d11115bab689","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"2eb3cbc3-3744-477b-b76d-e909ef526d41"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"701a169b-d2c4-412d-a9fe-3ae45aab7705"}}],"_postman_id":"99e082c5-31f1-4c7e-b175-d11115bab689","description":""}],"id":"2a11c664-e3d2-41fe-b424-8a9ec80b622c","description":"<h2 id=\"overview\">Overview</h2>\n<p>SPEI (Sistema de Pagos Electrónicos Interbancarios) is Mexico’s real-time interbank transfer network operated by Banco de México. By integrating SPEI as a payment option, merchants can offer a frictionless, low-cost alternative to cards—funds settle in minutes, not days. SPEI is ubiquitous in Mexico (think coffee-to-cash within seconds), and this integration lets you tap into that network without reinventing the wheel.</p>\n<p>Key benefits:</p>\n<ul>\n<li><p><strong>Instant Settlement:</strong> Funds move from payer’s bank to merchant’s account in near real-time.</p>\n</li>\n<li><p><strong>Broad Adoption:</strong> Over 90% of Mexican bank accounts are SPEI-enabled.</p>\n</li>\n<li><p><strong>Low Fees:</strong> Typically lower transaction fees compared to card rails.</p>\n</li>\n<li><p><strong>Regulatory Compliance:</strong> Leverages Banco de México’s secure infrastructure and industry-standard validations.</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"e8d1b17d-b322-45eb-8ef0-65eacafd8e3c"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"44187bbb-1418-4913-b9b7-2f457b150d65"}}],"_postman_id":"2a11c664-e3d2-41fe-b424-8a9ec80b622c"},{"name":"🌍 MobileMoney (Africa)","item":[{"name":"Concepts","item":[],"id":"bd01587a-aecb-40a8-996c-b634bfa031b9","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 Paysecure 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","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"994c27c3-f076-4a5e-a2bb-53de83a116e2"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"5d97e4e2-337b-4121-92bf-2f312f3bb343"}}],"_postman_id":"bd01587a-aecb-40a8-996c-b634bfa031b9"},{"name":"Coverage","item":[],"id":"8d957a4a-0522-43db-a9d5-f9f468d717f5","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","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"5d943174-27af-4b81-b78a-0ae515fb5c7d"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"d556b680-64f7-48a7-8190-60fb634e5ec8"}}],"_postman_id":"8d957a4a-0522-43db-a9d5-f9f468d717f5"},{"name":"PayIn API","item":[{"name":"Purchases","id":"375c9baf-8f35-4675-b879-85aea67499ac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"full_name\": \"Riley Haddad\",\n        \"email\": \"user9023@example.com\",\n        \"country\": \"CD\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"RJ\",\n        \"street_address\": \"90 Fixture Close\",\n        \"zip_code\": \"68403\",\n        \"date_of_birth\": \"1994-31-04\",\n        \"phone\": \"+243999999999\"\n    },\n    \"purchase\": {\n        \"currency\": \"CDF\",\n        \"products\": [\n            {\n                \"name\": \"Test Product\",\n                \"price\": \"100\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"MOBILEMONEY\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/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, should be a valid email.</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>City of the user.</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>ISO-3166-2 State Code. Must be in upper case.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td>street address of the user.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>zip code of the user.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>Phone number of the user. Country code is mandatory.  <br />Example: +234999999999</td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td>Full name of the user. Minimum 2 words with atleast 1 character in each word.</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  <br />CDF for Congo.</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>Amount in decimal upto 2 places.</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>pending_redirect</td>\n<td>URL to send the user if the transactions is in progress</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 Paysecure.</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 Paysecure'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 Paysecure and at customer's Bank, the merchant and Paysecure 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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure 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, Paysecure 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":"noauth","isInherited":true,"source":{"_postman_id":"fb832894-72c2-498a-a6e9-17c92b5ff5d6","id":"fb832894-72c2-498a-a6e9-17c92b5ff5d6","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"e8d519a0-c534-4ddc-a2cd-3112d415dec6","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"full_name\": \"Riley Haddad\",\n        \"email\": \"user9023@example.com\",\n        \"country\": \"CD\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"RJ\",\n        \"street_address\": \"90 Fixture Close\",\n        \"zip_code\": \"68403\",\n        \"date_of_birth\": \"1994-31-04\",\n        \"phone\": \"+243999999999\"\n    },\n    \"purchase\": {\n        \"currency\": \"CDF\",\n        \"products\": [\n            {\n                \"name\": \"Test Product\",\n                \"price\": \"100\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"MOBILEMONEY\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.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\": \"69ec68f9f76f0f58bd700058\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user2893@example.com\",\n        \"phone\": \"243995980380\",\n        \"full_name\": \"Reese Nakamura\",\n        \"date_of_birth\": \"1994-31-04\",\n        \"street_address\": \"90 Fixture Close\",\n        \"country\": \"CD\",\n        \"city\": \"Riverton\",\n        \"zip_code\": \"68403\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"RJ\"\n    },\n    \"updated_on\": 1777101049,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"MOBILEMONEY\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1777101049,\n    \"merchantRef\": \"69ec68f9f76f0f58bd700058\",\n    \"purchase\": {\n        \"currency\": \"CDF\",\n        \"products\": [\n            {\n                \"name\": \"gaming cards\",\n                \"quantity\": 1.0,\n                \"price\": 1000.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 1000.0,\n        \"requestAmount\": 1000.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"taxAmount\": 0.0,\n        \"taxPercent\": 0.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\": \"Testing\",\n        \"brand_name\": \"Testing\",\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\": 1777101049\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS1711\",\n    \"issued\": \"2026-04-25\",\n    \"due\": 1777101049,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"extraFee\": \"0\",\n    \"totalRefunded\": 0.0,\n    \"paidOn\": 0,\n    \"receivedAmt\": 0.0,\n    \"taxAmount\": 0.0,\n    \"surcharge\": 0.0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\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    \"pending_redirect\": \"https://your.pending.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\": \"2406:b400:75:584c:8889:bfe5:9552:8720\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/5f95c39387eefc684560013794f41455/\",\n    \"payoutProcess\": false\n}"}],"_postman_id":"375c9baf-8f35-4675-b879-85aea67499ac"}],"id":"fb832894-72c2-498a-a6e9-17c92b5ff5d6","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"3349e2ed-209f-4fbd-98e7-3b7f8e796122"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"6c4878e4-4ed9-4695-ad00-76adcadec78d"}}],"_postman_id":"fb832894-72c2-498a-a6e9-17c92b5ff5d6","description":""},{"name":"Payout API","item":[{"name":"Payout","id":"ad166edc-8e44-4c27-8a6c-87f92d79011d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"full_name\": \"Riley Haddad\",\n        \"email\": \"user9023@example.com\",\n        \"country\": \"CD\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"RJ\",\n        \"street_address\": \"90 Fixture Close\",\n        \"zip_code\": \"68403\",\n        \"date_of_birth\": \"1994-31-04\",\n        \"phone\": \"+243999999999\"\n    },\n    \"purpose\": \"Testing payout\",\n    \"currency\": \"CDF\",\n    \"payoutMethod\": \"PAYOUT-MOBILEMONEY\",\n    \"amount\": 100.0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/payout/","description":"<p>To Initiate a payout, the very first call to make is /payout/ API 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>Full name of the receiver. Minimum 2 words with atleast 1 character in each word.</td>\n</tr>\n<tr>\n<td>client.email</td>\n<td>An Identifier for a receiver, should be a valid email.</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>ISO-3166-2 State Code. Must be in upper case.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td>street address of the receiver.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>zip code of the receiver.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>Phone number of the receiver. Country code is mandatory.  <br />Example: +234999999999</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 upto 2 decimal points</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 payout is successful</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>URL to send the user if the payout is in progress</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the payout 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":"noauth","isInherited":true,"source":{"_postman_id":"365cb5b2-22d6-4cb7-b67f-dba581a96911","id":"365cb5b2-22d6-4cb7-b67f-dba581a96911","name":"Payout API","type":"folder"}},"urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"1a6cd897-d20f-49f2-a1c6-676ed9e73b5f","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"full_name\": \"Riley Haddad\",\n        \"email\": \"user9023@example.com\",\n        \"country\": \"CD\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"RJ\",\n        \"street_address\": \"90 Fixture Close\",\n        \"zip_code\": \"68403\",\n        \"date_of_birth\": \"1994-31-04\",\n        \"phone\": \"+243999999999\"\n    },\n    \"purpose\": \"Testing payout\",\n    \"currency\": \"CDF\",\n    \"payoutMethod\": \"PAYOUT-MOBILEMONEY\",\n    \"amount\": 100.0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/payout/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"payoutId\": \"69ec70c5b7b9052cc4823367\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"full_name\": \"Riley Haddad\",\n        \"email\": \"user9023@example.com\",\n        \"country\": \"CD\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"RJ\",\n        \"street_address\": \"90 Fixture Close\",\n        \"zip_code\": \"68403\",\n        \"date_of_birth\": \"1994-31-04\",\n        \"phone\": \"+243999999999\"\n    },\n    \"updated_on\": 1777103045,\n    \"payoutMethod\": \"PAYOUT-MOBILEMONEY\",\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 100.0,\n    \"errorMsg\": \"\",\n    \"is_test\": false,\n    \"purpose\": \"Testing payout\",\n    \"created_on\": 1777103045,\n    \"merchantRef\": \"69ec70c5b7b9052cc4823367\",\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1777103045\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1777103045\n        }\n    ],\n    \"currency\": \"CDF\",\n    \"extraFee\": \"0\",\n    \"paymentOn\": 0,\n    \"checkout_url\": \"https://api.paysecure.net/payout/0685d9437d0eb79e48ee8158542d9918/\",\n    \"taxAmount\": 0.0,\n    \"taxPercent\": 0.0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"redirectType\": \"POST\",\n    \"sessionId\": \"\",\n    \"surcharge\": 0.0,\n    \"surchargeType\": \"\",\n    \"trxMethod\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n    \"utc_offset\": \"NA\"\n}"}],"_postman_id":"ad166edc-8e44-4c27-8a6c-87f92d79011d"}],"id":"365cb5b2-22d6-4cb7-b67f-dba581a96911","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"8d5fddc5-e71d-48f2-81c9-d9728703c3f8"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"4ab4fa08-3251-44ab-9f07-fd478403f82d"}}],"_postman_id":"365cb5b2-22d6-4cb7-b67f-dba581a96911","description":""}],"id":"f358b47f-356f-4e37-8106-38de9315e6cb","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"cbc80400-79f9-4d0b-9f19-82944afc0329"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"d6c33588-f4d4-47ae-ba78-dac39a1c5842"}}],"_postman_id":"f358b47f-356f-4e37-8106-38de9315e6cb","description":""},{"name":"🌎 Google Pay Redirect","item":[{"name":"Concepts","item":[],"id":"c89d09c8-9396-44b2-9251-cd37a143e335","description":"<h2 id=\"overview\">Overview</h2>\n<p>Google Pay enables customers to make payments on a merchant’s website or app using credit or debit cards securely stored in their Google Account. During checkout, Google Pay presents a payment sheet where customers can select their preferred card and confirm the transaction.</p>\n<p>Customers add their payment cards to the Google Pay wallet, which securely stores the card details. When making a purchase, they simply choose Google Pay as the payment method and complete the payment using a saved card—eliminating the need to enter card information repeatedly.</p>\n<hr />\n<h2 id=\"features\">Features</h2>\n<ul>\n<li><p><strong>Convenient</strong>: Customers can pay using cards already saved in Google Pay, reducing friction during checkout.</p>\n</li>\n<li><p><strong>Secure</strong>: Uses tokenization to ensure sensitive card information is never exposed during the payment flow.</p>\n</li>\n<li><p><strong>3D Secure support</strong>: The payment handle created through the integration supports 3D Secure authentication when required, enabling secure transactions.</p>\n</li>\n<li><p><strong>Wide coverage</strong>: Supported across multiple regions and currencies.</p>\n</li>\n</ul>\n<hr />\n<p>By integrating Google Pay through the <strong>Paysecure API</strong>, you can offer your customers a fast, secure, and seamless payment experience.</p>\n<hr />\n<h2 id=\"note\">Note</h2>\n<p>This is a <strong>redirection-based payment method</strong>. During the payment flow, the user is redirected to a third-party application or interface, where the Google Pay button is displayed for completing the transaction.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"539d32ee-f387-4840-972d-f2338b3e2678"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"b44652dd-41f7-42bc-8246-1b03ce2d50ab"}}],"_postman_id":"c89d09c8-9396-44b2-9251-cd37a143e335"},{"name":"APIs","item":[{"name":"Purchases","id":"f50368d3-5f01-42cb-b05f-f404278bf151","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user1599@example.com\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"Milford\",\r\n        \"stateCode\": \"RJ\",\r\n        \"street_address\": \"90 Fixture Close\",\r\n        \"zip_code\": \"68403\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+91 9634088561\",\r\n        \"full_name\": \"Reese Nakamura\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"gaming cards \",\r\n                \"price\": 10\r\n            }\r\n        ]\r\n    },\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"paymentMethod\": \"GOOGLEPAY-REDIRECT\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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=\"parameters-in-the-request-body\"><strong>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>Conditional.  <br />But Recommended to pass the complete name of the client. Atleast 2 words recommended.</td>\n</tr>\n<tr>\n<td>client.email</td>\n<td>Conditional.  <br />But Recommended to pass a correct email id.</td>\n</tr>\n<tr>\n<td>paymentMethod</td>\n<td>Conditional.  <br />Mandatory if you are not using Paysecure Cashier. Else Non Mandatory.  <br />Value: GOOGLEPAY-REDIRECT</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory.  <br />ISO 4217 code for currency you want to send the transaction in. This should be 'BRL' for PIX.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory.  <br />Price in decimal format upto 2 decimals.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <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>Mandatory.  <br />Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory.  <br />URL to send the user if the transactions is successful.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Mandatory.  <br />URL to send the user if the transactions is in progress state.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory  <br />URL to send the user if the transactions has failed.</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 Paysecure.</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 Paysecure'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 Paysecure and at customer's Bank, the merchant and Paysecure 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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure URL.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3eb82563-4c53-418b-bd24-91ea8f589ad0","id":"3eb82563-4c53-418b-bd24-91ea8f589ad0","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"3456312b-b049-476e-84b4-0b18a5f6adbf","name":"Purchase - success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user1599@example.com\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"Milford\",\r\n        \"stateCode\": \"RJ\",\r\n        \"street_address\": \"90 Fixture Close\",\r\n        \"zip_code\": \"68403\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+91 9634088561\",\r\n        \"full_name\": \"Reese Nakamura\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"gaming cards \",\r\n                \"price\": 10\r\n            }\r\n        ]\r\n    },\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"paymentMethod\": \"GOOGLEPAY-REDIRECT\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"69634df44549cbd3547ac750\",\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user1599@example.com\",\r\n        \"phone\": \"+91 9634088561\",\r\n        \"full_name\": \"Reese Nakamura\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"street_address\": \"90 Fixture Close\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"Milford\",\r\n        \"zip_code\": \"68403\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"RJ\"\r\n    },\r\n    \"updated_on\": 1768115701,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"GOOGLEPAY-REDIRECT\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"errorCode\": \"NA\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1768115700,\r\n    \"merchantRef\": \"69634df44549cbd3547ac750\",\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"gaming cards\",\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        \"requestAmount\": 1.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"taxAmount\": 0.0,\r\n        \"taxPercent\": 0.0,\r\n        \"request_client_details\": [],\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\": \"EUR\",\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\": 1768115700,\r\n        \"remote_paid_on\": 1768115700\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\": \"Testing\",\r\n        \"brand_name\": \"Testing\",\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\": \"GOOGLEPAY-REDIRECT\"\r\n        },\r\n        \"country\": \"\",\r\n        \"attempts\": [\r\n            {\r\n                \"client_ip\": \"203.0.113.224\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"GOOGLEPAY-REDIRECT\",\r\n                \"flow\": \"payform\",\r\n                \"successful\": true,\r\n                \"country\": \"GOOGLEPAY-REDIRECT\",\r\n                \"processing_time\": 1768115700,\r\n                \"extra\": {\r\n                    \"amount\": 1.0,\r\n                    \"masked_pan\": \"GOOGLEPAY-REDIRECT\"\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\": 1768115700\r\n        },\r\n        {\r\n            \"status\": \"pending_execute\",\r\n            \"timestamp\": 1768115700\r\n        },\r\n        {\r\n            \"status\": \"payment_in_process\",\r\n            \"timestamp\": 1768115701\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS363\",\r\n    \"issued\": \"2026-01-11\",\r\n    \"due\": 1768115700,\r\n    \"refund_upto\": 1783664101,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"0\",\r\n    \"trustScore\": \"1\",\r\n    \"extraFee\": \"0\",\r\n    \"pix_payload\": {},\r\n    \"payInDetails\": {},\r\n    \"paidOn\": 0,\r\n    \"receivedAmt\": 0.0,\r\n    \"taxAmount\": 0.0,\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"sessionId\": \"\",\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 1.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"platform\": \"API\",\r\n    \"created_from_ip\": \"203.0.113.224\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/deb852445bd4b0fa6c4587f652174ab9/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"dd02cbd7-c771-4579-bbf8-9f6c61d82e0d","name":"Purchase - failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user1599@example.com\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"Milford\",\r\n        \"stateCode\": \"RJ\",\r\n        \"street_address\": \"90 Fixture Close\",\r\n        \"zip_code\": \"68403\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+91 9634088561\",\r\n        \"full_name\": \"Reese Nakamura\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"gaming cards \",\r\n                \"price\": 10\r\n            }\r\n        ]\r\n    },\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"paymentMethod\": \"GOOGLEPAY-REDIRECT\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"f50368d3-5f01-42cb-b05f-f404278bf151"},{"name":"Session","id":"6b6c456e-d937-42b9-ba0f-d401ad655508","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/createSession","description":"<p><strong>OVERVIEW</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<h3 id=\"mandatory-parameters\">Mandatory Parameters</h3>\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</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>: PaySecure 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. Default is 15 mins from the creation time.</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","urlObject":{"path":["createSession"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"4413c734-7f63-4240-ab77-e5c25c8b24f5","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","description":"it is mandatory to pass the BrandId in header for each createSession request. ","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"customerId\": \"69034a5a61b460084d20c23b\",\r\n    \"merchantRef\": \"user5489@example.com\", // optional\r\n    \"currency\": \"EUR\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"10\"\r\n        },\r\n        {\r\n            \"name\": \"Product2\",\r\n            \"price\": \"12\"\r\n        }\r\n    ],\r\n    \"totalAmount\": \"22\", // optional, but if present have precedence over sum of prices.\r\n    \"paymentMethod\": \"GOOGLEPAY-REDIRECT\", //optional\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/createSession"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"sessionUrl\": \"https://api.paysecure.net/payment-session/6963533a0a18ea65153a81e7/\",\r\n    \"brandId\": \"your-brand-id\",\r\n    \"customerId\": \"69034a5a61b460084d20c23b\",\r\n    \"sessionId\": \"6963533a0a18ea65153a81e7\",\r\n    \"expiryOn\": 1768117950,\r\n    \"createdOn\": 1768117050\r\n}"},{"id":"130a8933-158b-4513-bed7-4c27b8542a72","name":"Invalid Session","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","description":"it is mandatory to pass the BrandId in header for each createSession request. ","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"customerId\": \"69034a5a61b460084d20c23b\",\r\n    \"merchantRef\": \"user5489@example.com\", // optional\r\n    \"currency\": \"EUR\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"10\"\r\n        },\r\n        {\r\n            \"name\": \"Product2\",\r\n            \"price\": \"12\"\r\n        }\r\n    ],\r\n    \"totalAmount\": \"22\", // optional, but if present have precedence over sum of prices.\r\n    \"paymentMethod\": \"GOOGLEPAY-REDIRECT\", //optional\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.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}"}],"_postman_id":"6b6c456e-d937-42b9-ba0f-d401ad655508"},{"name":"Get Status","id":"b7ad03fd-41b0-4b16-9ad1-66e731debccd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/","description":"<p>This API tells you about all the details of a purchase (PayIn), 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>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":"noauth","isInherited":true,"source":{"_postman_id":"3eb82563-4c53-418b-bd24-91ea8f589ad0","id":"3eb82563-4c53-418b-bd24-91ea8f589ad0","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"ebe52f92-af68-4849-b0c8-640a2eed040e","name":"Purchase - success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"69634df44549cbd3547ac750\",\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user1599@example.com\",\r\n        \"phone\": \"+91 9634088561\",\r\n        \"full_name\": \"Reese Nakamura\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"street_address\": \"90 Fixture Close\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"Milford\",\r\n        \"zip_code\": \"68403\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"RJ\"\r\n    },\r\n    \"updated_on\": 1768115701,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"GOOGLEPAY-REDIRECT\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"errorCode\": \"NA\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1768115700,\r\n    \"merchantRef\": \"69634df44549cbd3547ac750\",\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"gaming cards\",\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        \"requestAmount\": 1.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"taxAmount\": 0.0,\r\n        \"taxPercent\": 0.0,\r\n        \"request_client_details\": [],\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\": \"EUR\",\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\": 1768115700,\r\n        \"remote_paid_on\": 1768115700\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\": \"Testing\",\r\n        \"brand_name\": \"Testing\",\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\": \"GOOGLEPAY-REDIRECT\"\r\n        },\r\n        \"country\": \"\",\r\n        \"attempts\": [\r\n            {\r\n                \"client_ip\": \"203.0.113.224\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"GOOGLEPAY-REDIRECT\",\r\n                \"flow\": \"payform\",\r\n                \"successful\": true,\r\n                \"country\": \"GOOGLEPAY-REDIRECT\",\r\n                \"processing_time\": 1768115700,\r\n                \"extra\": {\r\n                    \"amount\": 1.0,\r\n                    \"masked_pan\": \"GOOGLEPAY-REDIRECT\"\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\": 1768115700\r\n        },\r\n        {\r\n            \"status\": \"pending_execute\",\r\n            \"timestamp\": 1768115700\r\n        },\r\n        {\r\n            \"status\": \"payment_in_process\",\r\n            \"timestamp\": 1768115701\r\n        },\r\n        {\r\n            \"status\": \"paid\",\r\n            \"timestamp\": 1768115701\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS363\",\r\n    \"issued\": \"2026-01-11\",\r\n    \"due\": 1768115700,\r\n    \"refund_upto\": 1783664101,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"0\",\r\n    \"trustScore\": \"1\",\r\n    \"extraFee\": \"0\",\r\n    \"pix_payload\": {},\r\n    \"payInDetails\": {},\r\n    \"paidOn\": 0,\r\n    \"receivedAmt\": 0.0,\r\n    \"taxAmount\": 0.0,\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"sessionId\": \"\",\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 1.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"platform\": \"API\",\r\n    \"created_from_ip\": \"203.0.113.224\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/deb852445bd4b0fa6c4587f652174ab9/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"680d776b-1f02-411d-8ac9-132c9036d722","name":"Purchase - failure","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"b7ad03fd-41b0-4b16-9ad1-66e731debccd"}],"id":"3eb82563-4c53-418b-bd24-91ea8f589ad0","description":"<p><strong>API Flow</strong></p>\n<ol>\n<li><p>The merchant initiates the purchase via the create purchase API and passing the appropriate payment method. If successful, they receive a checkout URL in the response JSON.</p>\n</li>\n<li><p>Upon utilizing the checkout URL, the user will be presented with a screen where he will be shown a button to pay via Googlepay.</p>\n</li>\n<li><p>After clicking the button, the user will see all the cards stored in the google wallet and he can choose one of the cards to make the purchase.</p>\n</li>\n<li><p>After a successful or failed payment by the end user, an appropriate webhook would be sent to the merchant. The user would also be redirected to the appropriate redirect URL.</p>\n</li>\n</ol>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"887da205-c23b-495f-9573-587e17f553fb"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"164dafaa-51d4-49cc-b233-b77fe294a9a9"}}],"_postman_id":"3eb82563-4c53-418b-bd24-91ea8f589ad0"}],"id":"94762f85-a017-46e9-85de-d313e8586da0","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"80928bd2-ceb4-4bb0-b75c-c45521277bfb"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"9cde6032-f2e9-42b7-b485-484fffcdad89"}}],"_postman_id":"94762f85-a017-46e9-85de-d313e8586da0","description":""},{"name":"🌎 Apple Pay Redirect","item":[{"name":"Concepts","item":[],"id":"6d81068e-6e1d-433f-8dd4-4a68e03dfaec","description":"<h2 id=\"overview\">Overview</h2>\n<p>Apple Pay enables customers to make payments on a merchant’s website or app using credit or debit cards securely stored in their Apple Wallet. During checkout, Apple Pay presents a payment sheet where customers can select their preferred card and confirm the payment using <strong>Touch ID, Face ID, or their device passcode</strong>.</p>\n<p>Customers add their payment cards to Apple Wallet, which securely stores the card information. When making a purchase, they simply select Apple Pay as the payment method and complete the transaction using a saved card—eliminating the need to manually enter card details for each payment.</p>\n<hr />\n<h2 id=\"features\">Features</h2>\n<ul>\n<li><p><strong>Convenient</strong>: Customers can pay using cards already saved in Apple Pay, reducing checkout friction.</p>\n</li>\n<li><p><strong>Secure</strong>: Uses device-specific tokenization (DPAN/MPAN) to protect sensitive card data during the payment process.</p>\n</li>\n<li><p><strong>3D Secure support</strong>: The payment handle created through the integration supports 3D Secure authentication when required, ensuring secure transactions.</p>\n</li>\n<li><p><strong>Wide coverage</strong>: Supported across multiple regions and currencies.</p>\n</li>\n</ul>\n<hr />\n<p>By integrating Apple Pay through the <strong>Paysecure API</strong>, you can provide your customers with a fast, secure, and seamless payment experience.</p>\n<hr />\n<h2 id=\"note\">Note</h2>\n<p>This is a <strong>redirection-based payment method</strong>. During the payment flow, the user is redirected to a third-party application or interface, where the Apple Pay button is displayed to complete the payment.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"14086a08-5fce-422e-9606-990c55603791"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"54669d9d-6285-468a-8de8-eab4477c94a6"}}],"_postman_id":"6d81068e-6e1d-433f-8dd4-4a68e03dfaec"},{"name":"APIs","item":[{"name":"Purchases","id":"cbde58f0-e17a-4fab-bb65-30b81f232d53","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user1599@example.com\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"Milford\",\r\n        \"stateCode\": \"RJ\",\r\n        \"street_address\": \"90 Fixture Close\",\r\n        \"zip_code\": \"68403\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+91 9634088561\",\r\n        \"full_name\": \"Reese Nakamura\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"gaming cards \",\r\n                \"price\": 10\r\n            }\r\n        ]\r\n    },\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"paymentMethod\": \"APPLEPAY-REDIRECT\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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=\"parameters-in-the-request-body\"><strong>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>Conditional.  <br />But Recommended to pass the complete name of the client. Atleast 2 words recommended.</td>\n</tr>\n<tr>\n<td>client.email</td>\n<td>Conditional.  <br />But Recommended to pass a correct email id.</td>\n</tr>\n<tr>\n<td>paymentMethod</td>\n<td>Conditional.  <br />Mandatory if you are not using Paysecure Cashier. Else Non Mandatory.  <br />Value: APPLEPAY-REDIRECT</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory.  <br />ISO 4217 code for currency you want to send the transaction in. This should be 'BRL' for PIX.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory.  <br />Price in decimal format upto 2 decimals.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <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>Mandatory.  <br />Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory.  <br />URL to send the user if the transactions is successful.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Mandatory.  <br />URL to send the user if the transactions is in progress state.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory  <br />URL to send the user if the transactions has failed.</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 Paysecure.</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 Paysecure'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 Paysecure and at customer's Bank, the merchant and Paysecure 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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure URL.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"f00d3191-4475-4a08-ae4e-b2538547aa4f","id":"f00d3191-4475-4a08-ae4e-b2538547aa4f","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"ff74f432-19d0-49e6-a1ad-1c61999e83a5","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user1599@example.com\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"Milford\",\r\n        \"stateCode\": \"RJ\",\r\n        \"street_address\": \"90 Fixture Close\",\r\n        \"zip_code\": \"68403\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+91 9634088561\",\r\n        \"full_name\": \"Reese Nakamura\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"gaming cards \",\r\n                \"price\": 10\r\n            }\r\n        ]\r\n    },\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"paymentMethod\": \"APPLEPAY-REDIRECT\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"69634df44549cbd3547ac750\",\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user1599@example.com\",\r\n        \"phone\": \"+91 9634088561\",\r\n        \"full_name\": \"Reese Nakamura\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"street_address\": \"90 Fixture Close\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"Milford\",\r\n        \"zip_code\": \"68403\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"RJ\"\r\n    },\r\n    \"updated_on\": 1768115701,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"APPLEPAY-REDIRECT\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"errorCode\": \"NA\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1768115700,\r\n    \"merchantRef\": \"69634df44549cbd3547ac750\",\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"gaming cards\",\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        \"requestAmount\": 1.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"taxAmount\": 0.0,\r\n        \"taxPercent\": 0.0,\r\n        \"request_client_details\": [],\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\": \"EUR\",\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\": 1768115700,\r\n        \"remote_paid_on\": 1768115700\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\": \"Testing\",\r\n        \"brand_name\": \"Testing\",\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\": \"APPLEPAY-REDIRECT\"\r\n        },\r\n        \"country\": \"\",\r\n        \"attempts\": [\r\n            {\r\n                \"client_ip\": \"203.0.113.224\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"APPLEPAY-REDIRECT\",\r\n                \"flow\": \"payform\",\r\n                \"successful\": true,\r\n                \"country\": \"APPLEPAY-REDIRECT\",\r\n                \"processing_time\": 1768115700,\r\n                \"extra\": {\r\n                    \"amount\": 1.0,\r\n                    \"masked_pan\": \"APPLEPAY-REDIRECT\"\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\": 1768115700\r\n        },\r\n        {\r\n            \"status\": \"pending_execute\",\r\n            \"timestamp\": 1768115700\r\n        },\r\n        {\r\n            \"status\": \"payment_in_process\",\r\n            \"timestamp\": 1768115701\r\n        },\r\n        {\r\n            \"status\": \"paid\",\r\n            \"timestamp\": 1768115701\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS363\",\r\n    \"issued\": \"2026-01-11\",\r\n    \"due\": 1768115700,\r\n    \"refund_upto\": 1783664101,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"0\",\r\n    \"trustScore\": \"1\",\r\n    \"extraFee\": \"0\",\r\n    \"pix_payload\": {},\r\n    \"payInDetails\": {},\r\n    \"paidOn\": 0,\r\n    \"receivedAmt\": 0.0,\r\n    \"taxAmount\": 0.0,\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"sessionId\": \"\",\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 1.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"platform\": \"API\",\r\n    \"created_from_ip\": \"203.0.113.224\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/deb852445bd4b0fa6c4587f652174ab9/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"0ee1a8a7-dd51-4d7f-9452-135a54d1f17b","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user1599@example.com\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"Milford\",\r\n        \"stateCode\": \"RJ\",\r\n        \"street_address\": \"90 Fixture Close\",\r\n        \"zip_code\": \"68403\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"phone\": \"+91 9634088561\",\r\n        \"full_name\": \"Reese Nakamura\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"gaming cards \",\r\n                \"price\": 10\r\n            }\r\n        ]\r\n    },\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"paymentMethod\": \"APPLEPAY-REDIRECT\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"cbde58f0-e17a-4fab-bb65-30b81f232d53"},{"name":"Session","id":"0deb6d60-edf3-48d0-8f28-9745a87bdb52","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/createSession","description":"<p><strong>OVERVIEW</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<h3 id=\"mandatory-parameters\">Mandatory Parameters</h3>\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</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>: PaySecure 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. Default is 15 mins from the creation time.</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","urlObject":{"path":["createSession"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"fcda09f4-18f6-486e-b7d5-20b412491c84","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","description":"it is mandatory to pass the BrandId in header for each createSession request. ","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"customerId\": \"69034a5a61b460084d20c23b\",\r\n    \"merchantRef\": \"user5489@example.com\", // optional\r\n    \"currency\": \"EUR\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"10\"\r\n        },\r\n        {\r\n            \"name\": \"Product2\",\r\n            \"price\": \"12\"\r\n        }\r\n    ],\r\n    \"totalAmount\": \"22\", // optional, but if present have precedence over sum of prices.\r\n    \"paymentMethod\": \"APPLEPAY-REDIRECT\", //optional\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/createSession"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"sessionUrl\": \"https://api.paysecure.net/payment-session/6963533a0a18ea65153a81e7/\",\r\n    \"brandId\": \"your-brand-id\",\r\n    \"customerId\": \"69034a5a61b460084d20c23b\",\r\n    \"sessionId\": \"6963533a0a18ea65153a81e7\",\r\n    \"expiryOn\": 1768117950,\r\n    \"createdOn\": 1768117050\r\n}"},{"id":"5479e363-4a3c-4fc7-941f-aa620aa06527","name":"Invalid Session","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","description":"it is mandatory to pass the BrandId in header for each createSession request. ","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"customerId\": \"69034a5a61b460084d20c23b\",\r\n    \"merchantRef\": \"user5489@example.com\", // optional\r\n    \"currency\": \"EUR\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"10\"\r\n        },\r\n        {\r\n            \"name\": \"Product2\",\r\n            \"price\": \"12\"\r\n        }\r\n    ],\r\n    \"totalAmount\": \"22\", // optional, but if present have precedence over sum of prices.\r\n    \"paymentMethod\": \"APPLEPAY-REDIRECT\", //optional\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.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}"}],"_postman_id":"0deb6d60-edf3-48d0-8f28-9745a87bdb52"},{"name":"Get Status","id":"81e88e5e-003c-467d-ace6-c134c936d18d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/","description":"<p>This API tells you about all the details of a purchase (PayIn), 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>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":"noauth","isInherited":true,"source":{"_postman_id":"f00d3191-4475-4a08-ae4e-b2538547aa4f","id":"f00d3191-4475-4a08-ae4e-b2538547aa4f","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"9ce5f0c5-4344-4b12-b4d4-2c0987ad3e4b","name":"Purchase - success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"69634df44549cbd3547ac750\",\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user1599@example.com\",\r\n        \"phone\": \"+91 9634088561\",\r\n        \"full_name\": \"Reese Nakamura\",\r\n        \"date_of_birth\": \"1994-31-04\",\r\n        \"street_address\": \"90 Fixture Close\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"Milford\",\r\n        \"zip_code\": \"68403\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"RJ\"\r\n    },\r\n    \"updated_on\": 1768115701,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"APPLEPAY-REDIRECT\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"errorCode\": \"NA\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1768115700,\r\n    \"merchantRef\": \"69634df44549cbd3547ac750\",\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"gaming cards\",\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        \"requestAmount\": 1.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"taxAmount\": 0.0,\r\n        \"taxPercent\": 0.0,\r\n        \"request_client_details\": [],\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\": \"EUR\",\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\": 1768115700,\r\n        \"remote_paid_on\": 1768115700\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\": \"Testing\",\r\n        \"brand_name\": \"Testing\",\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\": \"APPLEPAY-REDIRECT\"\r\n        },\r\n        \"country\": \"\",\r\n        \"attempts\": [\r\n            {\r\n                \"client_ip\": \"203.0.113.224\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"APPLEPAY-REDIRECT\",\r\n                \"flow\": \"payform\",\r\n                \"successful\": true,\r\n                \"country\": \"APPLEPAY-REDIRECT\",\r\n                \"processing_time\": 1768115700,\r\n                \"extra\": {\r\n                    \"amount\": 1.0,\r\n                    \"masked_pan\": \"APPLEPAY-REDIRECT\"\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\": 1768115700\r\n        },\r\n        {\r\n            \"status\": \"pending_execute\",\r\n            \"timestamp\": 1768115700\r\n        },\r\n        {\r\n            \"status\": \"payment_in_process\",\r\n            \"timestamp\": 1768115701\r\n        },\r\n        {\r\n            \"status\": \"paid\",\r\n            \"timestamp\": 1768115701\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS363\",\r\n    \"issued\": \"2026-01-11\",\r\n    \"due\": 1768115700,\r\n    \"refund_upto\": 1783664101,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"0\",\r\n    \"trustScore\": \"1\",\r\n    \"extraFee\": \"0\",\r\n    \"pix_payload\": {},\r\n    \"payInDetails\": {},\r\n    \"paidOn\": 0,\r\n    \"receivedAmt\": 0.0,\r\n    \"taxAmount\": 0.0,\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"sessionId\": \"\",\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 1.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"platform\": \"API\",\r\n    \"created_from_ip\": \"203.0.113.224\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/deb852445bd4b0fa6c4587f652174ab9/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"976f7cd0-0c04-4dfd-ba2b-58a4a0c852c4","name":"Purchase - failure","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"81e88e5e-003c-467d-ace6-c134c936d18d"}],"id":"f00d3191-4475-4a08-ae4e-b2538547aa4f","description":"<p><strong>API Flow</strong></p>\n<ol>\n<li><p>The merchant initiates the purchase via the create purchase API and passing the appropriate payment method. If successful, they receive a checkout URL in the response JSON.</p>\n</li>\n<li><p>Upon utilizing the checkout URL, the user will be presented with a screen where he will be shown a button to pay via Applepay.</p>\n</li>\n<li><p>After clicking the button, the user will see all the cards stored in the Apple wallet and he can choose one of the cards to make the purchase.</p>\n</li>\n<li><p>After a successful or failed payment by the end user, an appropriate webhook would be sent to the merchant. The user would also be redirected to the appropriate redirect URL.</p>\n</li>\n</ol>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"deda3d3a-404a-4c37-95bc-2b93db71c2af"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"4bcc7809-7ef4-4ea7-aae8-3523d7003d73"}}],"_postman_id":"f00d3191-4475-4a08-ae4e-b2538547aa4f"}],"id":"ba4eb049-67a1-45f7-aa4a-027bcc49aa2b","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"0cdf913e-c872-4dc3-b577-59f623982b15"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"54d5fafb-1dba-4aa4-8586-3b89c37c2d49"}}],"_postman_id":"ba4eb049-67a1-45f7-aa4a-027bcc49aa2b","description":""},{"name":"🇺🇸 ACH Payout","item":[{"name":"Concepts","item":[],"id":"fd6710d8-55a9-44f5-83bc-75465c104228","description":"<h2 id=\"overview\">Overview</h2>\n<p>ACH Payout allows merchants to create a payout request by providing customer and beneficiary bank details. After successful request creation, the API returns a <code>payoutId</code> and a <code>checkout_url</code> for payout processing.</p>\n<img src=\"https://content.pstmn.io/c150e803-9540-4c46-9846-2c0f425ffeec/YWNoX3BheW91dF9mbG93LnBuZw==\" alt />\n\n<p><strong>This is an asynchronous operation.</strong> The create response confirms only that the payout request was accepted — the final result arrives via webhook (or by polling Get Status) once the ACH transfer completes.</p>\n<h2 id=\"payout-flow\">PayOut Flow</h2>\n<ol>\n<li><p>The merchant sends a payout request to the Payout API along with customer and beneficiary bank details.</p>\n</li>\n<li><p>The Payout API validates the request and creates a payout.</p>\n</li>\n<li><p>The API returns the <code>payoutId</code> and <code>checkout_url</code> in the response.</p>\n</li>\n<li><p>The payout is created with the initial status <code>created</code>.</p>\n</li>\n<li><p>Processing starts and the status changes to <code>payout_in_process</code>.</p>\n</li>\n<li><p>Once the payout is successfully completed, the status changes to <code>paid</code>.</p>\n</li>\n<li><p>The merchant receives the final payout status through the configured callback (webhook) and redirect URLs.</p>\n</li>\n</ol>\n<h2 id=\"payout-statuses\">Payout Statuses</h2>\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>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>created</code></td>\n<td>Payout request created and validated</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>payout_in_process</code></td>\n<td>Transfer submitted to the ACH network</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>paid</code></td>\n<td>Funds successfully credited to the beneficiary</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>Payout failed or was rejected</td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><p>In API responses and webhooks the top-level <code>status</code> is uppercase (e.g. <code>PAID</code>); entries in <code>status_history</code> are lowercase.</p>\n<p>If Payout Manual Review is enabled on your account, a payout can be held for approval before processing (<code>pendingReview</code> = <code>Yes</code>) — see the Payout Manual Review section of these docs.</p>\n<h2 id=\"webhook\">Webhook</h2>\n<p>Once the payout reaches a terminal status, Paysecure sends a server-to-server POST to your configured callback URL. The payload carries the full payout object under <code>payload</code>, with the outer <code>status</code> in lowercase. Verify the signature using your Public Key as described in the 🔌 Webhooks section.</p>\n<p><strong>Webhook sample — paid</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"payload\": {\n    \"payoutId\": \"6a158153a62bcd7745c51746\",\n    \"client\": {\n      \"customerId\": \"NA\",\n      \"email\": \"user5772@example.com\",\n      \"phone\": \"+1 2025550123\",\n      \"full_name\": \"test test\",\n      \"date_of_birth\": \"1994-07-10\",\n      \"street_address\": \"1 Example Street\",\n      \"country\": \"US\",\n      \"city\": \"Brookfield\",\n      \"zip_code\": \"10001\",\n      \"stateCode\": \"NY\"\n    },\n    \"updated_on\": 1783690301,\n    \"payoutMethod\": \"PAYOUT-ACH\",\n    \"beneficiaryDetail\": {\n      \"bankAccountName\": \"test test\",\n      \"bankName\": \"JPMorgan Chase\",\n      \"bankAccountNumber\": \"1234567890120000\"\n    },\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 5,\n    \"errorMsg\": \"Transaction succeeded-APPROVED\",\n    \"is_test\": false,\n    \"purpose\": \"test payout\",\n    \"created_on\": 1783690051,\n    \"merchantRef\": \"6a158153a62bcd7745c51746\",\n    \"merchantName\": \"Testing\",\n    \"status\": \"PAID\",\n    \"status_history\": [\n      {\n        \"status\": \"created\",\n        \"timestamp\": 1783690051\n      },\n      {\n        \"status\": \"payout_in_process\",\n        \"timestamp\": 1783690071\n      },\n      {\n        \"status\": \"paid\",\n        \"timestamp\": 1783690301\n      }\n    ],\n    \"currency\": \"USD\",\n    \"fx_Currency\": \"USD\",\n    \"fx_Amount\": \"5.0\",\n    \"transFees\": \"-1.0\",\n    \"extraFee\": \"0\",\n    \"paymentOn\": 1783690301,\n    \"payOutDetails\": {},\n    \"checkout_url\": \"https://api.paysecure.net/payout/6a158153a62bcd7745c51746/\",\n    \"taxAmount\": 0,\n    \"taxPercent\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\n    \"redirectType\": \"POST\",\n    \"pendingReview\": \"No\",\n    \"sessionId\": \"\",\n    \"extraParam\": {\n      \"productType\": \"Compensation\",\n      \"ssn\": \"1234\",\n      \"ach_type\": \"same_day\"\n    },\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"trxMethod\": \"ACH\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\",\n    \"utc_offset\": \"-330\",\n    \"mdr\": \"0.00\"\n  },\n  \"status\": \"paid\"\n}\n\n</code></pre>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"20b57f98-ffa5-4a7c-9637-9fc0c31b8cda"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"ee9b5cef-7b6e-424a-99de-ac62b31ae254"}}],"_postman_id":"fd6710d8-55a9-44f5-83bc-75465c104228"},{"name":"PayOut API","item":[{"name":"Create PayOut","id":"70f9d755-14ae-4544-b952-e4569e7883c8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5772@example.com\",\n        \"phone\": \"+1 2025550123\",\n        \"full_name\": \"test test\",\n        \"zip_code\": \"10001\",\n        \"street_address\": \"1 Example Street\",\n        \"city\": \"Brookfield\",\n        \"stateCode\": \"NY\",\n        \"country\": \"US\",\n        \"date_of_birth\": \"1994-07-10\"\n    },\n    \"beneficiaryDetail\": {\n        \"bankAccountName\": \"test test\",\n        \"bankAccountNumber\": \"1234567890120000\",\n        \"routingNumber\": \"021000021\",\n        \"bankName\": \"JPMorgan Chase\"\n    },\n    \"purpose\": \"test payout\",\n    \"currency\": \"USD\",\n    \"amount\": 5.0,\n    \"merchantRef\": \"test_ach_001\",\n    \"extraParam\": {\n        \"productType\": \"Compensation\",\n        \"ssn\": \"1234\",\n        \"ach_type\": \"same_day\"\n    },\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/payout","description":"<p>To create an ACH payout, call <code>/payout/</code> with the customer details, beneficiary bank details, amount and currency in the request body.</p>\n<p>You are required to provide the <code>API key</code> in the header — it can be located in the Dashboard section of your merchant account login.</p>\n<p>The response returns a <code>payoutId</code> (store it — it identifies the payout in all subsequent operations) and a <code>checkout_url</code>. The final result arrives asynchronously via webhook or the Get Status API.</p>\n<h3 id=\"request-body-parameters\">Request Body Parameters</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>Mandatory.  <br />Customer name.</td>\n</tr>\n<tr>\n<td>client.email</td>\n<td>Mandatory.  <br />Customer email address.</td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>Mandatory.  <br />ISO 3166-1 alpha-2 country code — <code>US</code> for ACH.</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Mandatory.  <br />Customer state code (e.g. <code>NY</code>).</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>Mandatory.  <br />Customer city.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>Mandatory.  <br />Customer phone number.</td>\n</tr>\n<tr>\n<td>client.date_of_birth</td>\n<td>Mandatory.  <br />Customer date of birth in YYYY-MM-DD format.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td>Optional.  <br />Customer street address.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>Optional.  <br />Customer ZIP code.</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankAccountNumber</td>\n<td>Mandatory.  <br />Beneficiary account number.</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankAccountName</td>\n<td>Optional.  <br />But recommended — beneficiary account holder name.</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.routingNumber</td>\n<td>Mandatory .  <br />9-digit ABA routing number of the beneficiary bank (e.g. <code>021000021</code>).</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankName</td>\n<td>Optional.  <br />Beneficiary bank name.</td>\n</tr>\n<tr>\n<td>purpose</td>\n<td>Optional.  <br />Purpose of the payout.</td>\n</tr>\n<tr>\n<td>currency</td>\n<td>Mandatory.  <br />ISO 4217 code. Supported value: <code>USD</code>.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>Mandatory.  <br />Payout amount in decimal format up to 2 decimals (e.g. <code>5.00</code>).</td>\n</tr>\n<tr>\n<td>extraParam.last4_ssn</td>\n<td>Conditional.  <br />Customer last 4 SSN digits as required for compliance.</td>\n</tr>\n<tr>\n<td>extraParam.ach_type</td>\n<td>Optional.  <br />ACH processing type, e.g. <code>same_day</code>.</td>\n</tr>\n<tr>\n<td>merchantRef</td>\n<td>Optional.  <br />Strongly recommended — prevents duplicate payouts and lets you retrieve the payout if the response times out.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory.  <br />URL for successful completion.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Mandatory.  <br />URL while the payout is in progress.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory.  <br />URL if the payout fails.</td>\n</tr>\n<tr>\n<td>success_callback</td>\n<td>Optional.  <br />Merchant webhook endpoint for success notifications.</td>\n</tr>\n<tr>\n<td>failure_callback</td>\n<td>Optional.  <br />Merchant webhook endpoint for failure notifications.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>The success response echoes the full payout object with <code>status</code> = <code>CREATED</code>. Key fields: <code>payoutId</code>, <code>checkout_url</code>, <code>fx_Currency</code>/<code>fx_Amount</code> (FX details), <code>transFees</code> (transaction fee), and <code>pendingReview</code> (whether the payout is held for manual review).</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"788af4c0-5e08-438e-b767-55e372ed6500","id":"788af4c0-5e08-438e-b767-55e372ed6500","name":"🇺🇸 ACH Payout","type":"folder"}},"urlObject":{"path":["payout"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"577bda93-17f4-4849-a8fc-bdea7715fd6a","name":"Create PayOut - Success (Created)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5772@example.com\",\n        \"phone\": \"+1 2025550123\",\n        \"full_name\": \"test test\",\n        \"zip_code\": \"10001\",\n        \"street_address\": \"1 Example Street\",\n        \"city\": \"Brookfield\",\n        \"stateCode\": \"NY\",\n        \"country\": \"US\",\n        \"date_of_birth\": \"1994-07-10\"\n    },\n    \"beneficiaryDetail\": {\n        \"bankAccountName\": \"test test\",\n        \"bankAccountNumber\": \"1234567890120000\",\n        \"routingNumber\": \"021000021\",\n        \"bankName\": \"JPMorgan Chase\"\n    },\n    \"purpose\": \"test payout\",\n    \"currency\": \"USD\",\n    \"amount\": 5.0,\n    \"merchantRef\": \"test_ach_001\",\n    \"extraParam\": {\n        \"last4_ssn\": \"1234\",\n        \"ach_type\": \"same_day\"\n    },\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/payout"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"payoutId\": \"6a158153a62bcd7745c51746\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5772@example.com\",\n        \"phone\": \"+1 2025550123\",\n        \"full_name\": \"test test\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"US\",\n        \"city\": \"Brookfield\",\n        \"zip_code\": \"10001\",\n        \"stateCode\": \"NY\"\n    },\n    \"updated_on\": 1783690301,\n    \"payoutMethod\": \"PAYOUT-ACH\",\n    \"beneficiaryDetail\": {\n        \"bankAccountName\": \"test test\",\n        \"bankName\": \"JPMorgan Chase\",\n        \"bankAccountNumber\": \"1234567890120000\"\n    },\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 5,\n    \"errorMsg\": \"NA\",\n    \"is_test\": false,\n    \"purpose\": \"test payout\",\n    \"created_on\": 1783690051,\n    \"merchantRef\": \"6a158153a62bcd7745c51746\",\n    \"merchantName\": \"Testing\",\n    \"status\": \"CREATED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1783690051\n        }\n    ],\n    \"currency\": \"USD\",\n    \"fx_Currency\": \"USD\",\n    \"fx_Amount\": \"5.0\",\n    \"transFees\": \"-1.0\",\n    \"extraFee\": \"0\",\n    \"paymentOn\": 0,\n    \"payOutDetails\": {},\n    \"checkout_url\": \"https://api.paysecure.net/payout/6a158153a62bcd7745c51746/\",\n    \"taxAmount\": 0,\n    \"taxPercent\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\n    \"redirectType\": \"POST\",\n    \"pendingReview\": \"No\",\n    \"sessionId\": \"\",\n    \"extraParam\": {\n        \"productType\": \"Compensation\",\n        \"ssn\": \"1234\",\n        \"ach_type\": \"same_day\"\n    },\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"trxMethod\": \"ACH\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\",\n    \"utc_offset\": \"-330\",\n    \"mdr\": \"0.00\"\n}"},{"id":"3fdf7baa-d0d9-4f55-9c2f-92ae74244ee6","name":"Create PayOut - Error (Processing exception)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5772@example.com\",\n        \"phone\": \"+1 2025550123\",\n        \"full_name\": \"test test\",\n        \"zip_code\": \"10001\",\n        \"street_address\": \"1 Example Street\",\n        \"city\": \"Brookfield\",\n        \"stateCode\": \"NY\",\n        \"country\": \"US\",\n        \"date_of_birth\": \"1994-07-10\"\n    },\n    \"beneficiaryDetail\": {\n        \"bankAccountName\": \"test test\",\n        \"bankAccountNumber\": \"1234567890120000\",\n        \"routingNumber\": \"021000021\",\n        \"bankName\": \"JPMorgan Chase\"\n    },\n    \"purpose\": \"test payout\",\n    \"currency\": \"USD\",\n    \"amount\": 5.0,\n    \"merchantRef\": \"test_ach_001\",\n    \"extraParam\": {\n        \"last4_ssn\": \"1234\",\n        \"ach_type\": \"same_day\"\n    },\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/payout"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"something went wrong\",\n    \"code\": \"exception\",\n    \"status\": \"error\"\n}"},{"id":"d3e3c09b-28c9-4879-8ae9-7282f6863d68","name":"Create PayOut - Error (Validation)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5772@example.com\",\n        \"phone\": \"+1 2025550123\",\n        \"full_name\": \"test test\",\n        \"zip_code\": \"10001\",\n        \"street_address\": \"1 Example Street\",\n        \"city\": \"Brookfield\",\n        \"stateCode\": \"NY\",\n        \"country\": \"US\",\n        \"date_of_birth\": \"1994-07-10\"\n    },\n    \"beneficiaryDetail\": {\n        \"bankAccountName\": \"test test\",\n        \"bankAccountNumber\": \"1234567890120000\",\n        \"routingNumber\": \"021000021\",\n        \"bankName\": \"JPMorgan Chase\"\n    },\n    \"purpose\": \"test payout\",\n    \"currency\": \"USD\",\n    \"amount\": 5.0,\n    \"merchantRef\": \"test_ach_001\",\n    \"extraParam\": {\n        \"last4_ssn\": \"1234\",\n        \"ach_type\": \"same_day\"\n    },\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/payout"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Brand not found!\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"70f9d755-14ae-4544-b952-e4569e7883c8"},{"name":"Get Status","id":"d00cd95a-ef04-4785-b35f-f2e74a79a88c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/getpayout/{payoutId}","description":"<p>Poll the current state of a payout using the <code>payoutId</code> returned when the payout was created. This is the fallback to webhooks.</p>\n<h3 id=\"possible-payout-statuses\">Possible Payout Statuses</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>Description</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>created</code></td>\n<td>Payout request created</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>payout_in_process</code></td>\n<td>Transfer submitted to the ACH network</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>paid</code></td>\n<td>Funds credited to the beneficiary</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>Payout failed or was rejected</td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"788af4c0-5e08-438e-b767-55e372ed6500","id":"788af4c0-5e08-438e-b767-55e372ed6500","name":"🇺🇸 ACH Payout","type":"folder"}},"urlObject":{"path":["getpayout","{payoutId}"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"cf6b8997-3123-4137-8399-f248ecbe9dce","name":"Get Status - Paid","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/getpayout/{payoutId}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"payoutId\": \"6a158153a62bcd7745c51746\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5772@example.com\",\n        \"phone\": \"+1 2025550123\",\n        \"full_name\": \"test test\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"US\",\n        \"city\": \"Brookfield\",\n        \"zip_code\": \"10001\",\n        \"stateCode\": \"NY\"\n    },\n    \"updated_on\": 1783690301,\n    \"payoutMethod\": \"PAYOUT-ACH\",\n    \"beneficiaryDetail\": {\n        \"bankAccountName\": \"test test\",\n        \"bankName\": \"JPMorgan Chase\",\n        \"bankAccountNumber\": \"1234567890120000\"\n    },\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 5,\n    \"errorMsg\": \"Transaction succeeded-APPROVED\",\n    \"is_test\": false,\n    \"purpose\": \"test payout\",\n    \"created_on\": 1783690051,\n    \"merchantRef\": \"6a158153a62bcd7745c51746\",\n    \"merchantName\": \"Testing\",\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1783690051\n        },\n        {\n            \"status\": \"payout_in_process\",\n            \"timestamp\": 1783690071\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1783690301\n        }\n    ],\n    \"currency\": \"USD\",\n    \"fx_Currency\": \"USD\",\n    \"fx_Amount\": \"5.0\",\n    \"transFees\": \"-1.0\",\n    \"extraFee\": \"0\",\n    \"paymentOn\": 1783690301,\n    \"payOutDetails\": {},\n    \"checkout_url\": \"https://api.paysecure.net/payout/6a158153a62bcd7745c51746/\",\n    \"taxAmount\": 0,\n    \"taxPercent\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\n    \"redirectType\": \"POST\",\n    \"pendingReview\": \"No\",\n    \"sessionId\": \"\",\n    \"extraParam\": {\n        \"productType\": \"Compensation\",\n        \"ssn\": \"1234\",\n        \"ach_type\": \"same_day\"\n    },\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"trxMethod\": \"ACH\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\",\n    \"utc_offset\": \"-330\",\n    \"mdr\": \"0.00\"\n}"},{"id":"af4c31fd-b6c3-44fa-82f7-6c5447c72abe","name":"Get Status - Error (Payout not found)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/getpayout/{payoutId}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Payout not found!\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"d00cd95a-ef04-4785-b35f-f2e74a79a88c"}],"id":"ba1671ff-0cf1-4a2c-b8a5-34dcde093736","description":"<p>Create an ACH payout and track it to a terminal status.</p>\n","_postman_id":"ba1671ff-0cf1-4a2c-b8a5-34dcde093736","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"788af4c0-5e08-438e-b767-55e372ed6500","id":"788af4c0-5e08-438e-b767-55e372ed6500","name":"🇺🇸 ACH Payout","type":"folder"}}}],"id":"788af4c0-5e08-438e-b767-55e372ed6500","description":"<p>ACH Payout lets you send funds to a customer's US bank account over the ACH network. You create a payout with the customer's and beneficiary's bank details; Paysecure validates the request, processes the transfer, and notifies you by webhook when it completes.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Payment type</td>\n<td>Bank transfer payout (ACH, push)</td>\n</tr>\n<tr>\n<td>Countries</td>\n<td>🇺🇸 United States</td>\n</tr>\n<tr>\n<td>Processing currency</td>\n<td><code>USD</code></td>\n</tr>\n<tr>\n<td>PayIn</td>\n<td>❌ (payout only — see Bank Transfers / other methods for pay-ins)</td>\n</tr>\n<tr>\n<td>PayOut</td>\n<td>✅</td>\n</tr>\n<tr>\n<td>Processing speed</td>\n<td><code>ach_type</code>: <code>same_day</code> or standard ACH windows</td>\n</tr>\n<tr>\n<td>Chargebacks</td>\n<td>❌ Not applicable — merchant-initiated credit</td>\n</tr>\n<tr>\n<td>Status confirmation</td>\n<td>Asynchronous — webhook on terminal status; Get Status API for polling</td>\n</tr>\n<tr>\n<td>Manual review</td>\n<td>Payouts may be held for review (<code>pendingReview</code>) if enabled on your account — see Payout Manual Review</td>\n</tr>\n<tr>\n<td>Transaction limits</td>\n<td>As configured for your merchant account</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"102f0951-8bcf-43cc-8e07-bdcd3ba2b2cc"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"3cb0bcac-c931-483d-bc59-2e74e16e2938"}}],"_postman_id":"788af4c0-5e08-438e-b767-55e372ed6500"},{"name":"🌎 Skrill","item":[{"name":"Concepts","item":[],"id":"16bc1ad5-8b27-4782-bf54-a4678903d02d","description":"<h2 id=\"overview\">Overview</h2>\n<p>Skrill is a wallet-based payment method that allows customers to complete payments using their Skrill account balance. The merchant initiates a purchase using the Purchase API; Paysecure returns a unique <code>purchaseId</code> and a <code>checkout_url</code> used to redirect the customer to the Skrill payment page.</p>\n<img src=\"https://content.pstmn.io/51b6fb04-3e79-42cb-b944-ca62c5bacddc/c2tyaWxsX3BheWluX2Zsb3cucG5n\" />\n\n<p>On the Skrill payment page, the customer can authenticate and pay using either of:</p>\n<ul>\n<li><p>Logging in to their Skrill account with email address and password.</p>\n</li>\n<li><p>Scanning the QR code displayed on the payment page and completing the payment in the Skrill mobile application.</p>\n</li>\n</ul>\n<p>After successful authentication, Skrill processes the payment and communicates the result to Paysecure. Paysecure then sends a webhook notification to the merchant with the transaction status, and the customer is redirected to the configured redirect URL.</p>\n<p><strong>Rely on the webhook (server-to-server callback) for the final transaction status.</strong> Redirect URLs are for customer experience only.</p>\n<h2 id=\"prerequisites\">Prerequisites</h2>\n<ul>\n<li><p>Merchant account configured in Paysecure, with valid API credentials and a valid <code>brand_id</code>.</p>\n</li>\n<li><p>Redirect URLs and callback URLs configured.</p>\n</li>\n<li><p>Customer details collected before initiating the payment.</p>\n</li>\n<li><p>The customer has an active Skrill wallet with sufficient balance.</p>\n</li>\n<li><p><strong>The customer must authenticate at Skrill with the same email address passed in the Purchase API</strong> (<code>client.email</code>).</p>\n</li>\n</ul>\n<h2 id=\"payin-flow\">PayIn Flow</h2>\n<ol>\n<li><p><strong>Create Purchase</strong> — the merchant creates a purchase using the Purchase API with <code>paymentMethod</code> = <code>SKRILL</code>.</p>\n</li>\n<li><p><strong>Receive Checkout URL</strong> — the response returns a <code>checkout_url</code>.</p>\n</li>\n<li><p><strong>Redirect Customer</strong> — the customer is redirected to the checkout URL.</p>\n</li>\n<li><p><strong>Skrill Authentication</strong> — the customer scans the QR code with the Skrill app, or logs in with email and password.</p>\n</li>\n<li><p><strong>Payment Authorization</strong> — Skrill validates the wallet credentials and checks the wallet balance.</p>\n</li>\n<li><p><strong>Payment Completion</strong> — if sufficient balance is available, the payment is completed.</p>\n</li>\n<li><p><strong>Merchant Notification</strong> — the merchant receives the webhook notification and the customer is redirected.</p>\n</li>\n</ol>\n<h2 id=\"checkout-experience\">Checkout Experience</h2>\n<p>After redirection, the customer is presented with the Skrill payment page. This scanner appears on opening the checkout URL:</p>\n<img src=\"https://content.pstmn.io/a62d1874-5962-4bcc-aced-12511d41818d/VW50aXRsZWQgZGVzaWduLnBuZw==\" />\n\n<p>Choosing \"continue in browser\" shows the login screen:</p>\n<img src=\"https://content.pstmn.io/67e64183-c9ad-454d-b684-26f3c2ad2b18/bmUucG5n\" />\n\n<h2 id=\"error-handling\">Error Handling</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Transaction Failed</td>\n<td>Payment could not be completed.</td>\n</tr>\n<tr>\n<td>transaction_error</td>\n<td>Transaction processing failed.</td>\n</tr>\n<tr>\n<td>Authentication Failed</td>\n<td>Customer authentication at Skrill failed.</td>\n</tr>\n<tr>\n<td>Insufficient Balance</td>\n<td>Wallet balance is insufficient.</td>\n</tr>\n</tbody>\n</table>\n</div><p>When a payment fails, the purchase moves to <code>error</code> (shown as <code>payment_failed</code> in <code>status_history</code>) and the attempt carries an <code>error</code> object — see the webhook sample below.</p>\n<h2 id=\"webhook\">Webhook</h2>\n<p>When the transaction status changes, Paysecure sends a server-to-server POST to your configured callback URL with the full purchase object. Verify the signature using your Public Key as described in the 🔌 Webhooks section.</p>\n<p><strong>Webhook sample — failed payment</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": {\n    \"purchaseId\": \"6a3a7edaccf6ad8dcb121f26\",\n    \"client\": {\n      \"customerId\": \"NA\",\n      \"email\": \"user5772@example.com\",\n      \"phone\": \"+44 07000000000\",\n      \"full_name\": \"test test\",\n      \"date_of_birth\": \"1994-07-10\",\n      \"street_address\": \"1 Example Street\",\n      \"country\": \"GB\",\n      \"city\": \"Milford\",\n      \"zip_code\": \"234567\",\n      \"cc\": [],\n      \"bcc\": [],\n      \"stateCode\": \"LO\"\n    },\n    \"updated_on\": 1783690167,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"SKRILL\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"Transaction Failed\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1783690051,\n    \"merchantRef\": \"6a3a7edaccf6ad8dcb121f26\",\n    \"purchase\": {\n      \"currency\": \"EUR\",\n      \"products\": [\n        {\n          \"name\": \"e-commerce\",\n          \"quantity\": 1,\n          \"price\": 11.5,\n          \"discount\": 0,\n          \"tax_percent\": \"0.00\"\n        }\n      ],\n      \"total\": 11.5,\n      \"requestAmount\": 11.5,\n      \"language\": \"en\",\n      \"notes\": \"\",\n      \"debt\": 0,\n      \"total_formatted\": 1,\n      \"taxAmount\": 0,\n      \"taxPercent\": 0,\n      \"request_client_details\": [],\n      \"email_message\": \"\"\n    },\n    \"payment\": {\n      \"is_outgoing\": false,\n      \"payment_type\": \"PURCHASE\",\n      \"amount\": 11.5,\n      \"currency\": \"EUR\",\n      \"net_amount\": 11.5,\n      \"fee_amount\": 0,\n      \"pending_amount\": 0,\n      \"pending_unfreeze_on\": null,\n      \"description\": \"\",\n      \"paid_on\": 1783690059,\n      \"remote_paid_on\": 1783690059\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\": \"Testing\",\n      \"brand_name\": \"Testing\",\n      \"registration_number\": \"\",\n      \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n      \"payment_method\": \"\",\n      \"flow\": \"payform\",\n      \"extra\": {\n        \"amount\": 11.5,\n        \"masked_pan\": \"SKRILL\"\n      },\n      \"country\": \"\",\n      \"attempts\": [\n        {\n          \"client_ip\": \"203.0.113.81\",\n          \"type\": \"execute\",\n          \"payment_method\": \"SKRILL\",\n          \"flow\": \"payform\",\n          \"successful\": false,\n          \"country\": \"SKRILL\",\n          \"processing_time\": 1783690067,\n          \"extra\": {\n            \"amount\": 11.5,\n            \"masked_pan\": \"SKRILL\"\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\": 1783690051\n      },\n      {\n        \"status\": \"pending_execute\",\n        \"timestamp\": 1783690059\n      },\n      {\n        \"status\": \"payment_in_process\",\n        \"timestamp\": 1783690065\n      },\n      {\n        \"status\": \"payment_failed\",\n        \"timestamp\": 1783690167\n      }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS5858\",\n    \"issued\": \"2026-07-10\",\n    \"due\": 1783690051,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"extraFee\": \"0\",\n    \"totalRefunded\": 0,\n    \"pix_payload\": {},\n    \"payInDetails\": {},\n    \"paidOn\": 0,\n    \"receivedAmt\": 0,\n    \"taxAmount\": 0,\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\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    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.81\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a3a7edaccf6ad8dcb121f26/\",\n    \"payoutProcess\": false\n  },\n  \"status\": \"error\"\n}\n\n</code></pre>\n<p>A successful payment sends the same envelope with <code>status</code> = <code>PAID</code> and a <code>paid</code> entry in <code>status_history</code>.</p>\n","_postman_id":"16bc1ad5-8b27-4782-bf54-a4678903d02d","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"05acc050-4695-4934-833c-8a15284ec129","id":"05acc050-4695-4934-833c-8a15284ec129","name":"🌎 Skrill","type":"folder"}}},{"name":"PayIn API","item":[{"name":"Purchases","id":"713f14cf-a08b-4a5e-91fc-073470a5714e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5772@example.com\",\n        \"full_name\": \"test test\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"LO\",\n        \"street_address\": \"1 Example Street\",\n        \"zip_code\": \"234567\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"phone\": \"+44 07000000000\"\n    },\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": 11.5\n            }\n        ]\n    },\n    \"paymentMethod\": \"SKRILL\",\n    \"merchantRef\": \"test_skrill_001\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases","description":"<p>To initiate a Skrill 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 response returns a <code>checkout_url</code> — redirect your customer there to authenticate with Skrill and complete the payment. <strong>The response does not confirm payment</strong>; the final status arrives via webhook or by polling Get Status.</p>\n<h3 id=\"request-body-parameters\">Request Body Parameters</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>Mandatory.  <br />Customer email address. Must match the customer's Skrill wallet email at login.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td>Mandatory.  <br />Customer street address.</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>Mandatory.  <br />Customer city.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>Mandatory.  <br />Customer postal code.</td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>Mandatory.  <br />ISO 3166-1 alpha-2 country code in uppercase.</td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td>Optional.  <br />But recommended — customer full name, at least 2 words.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>Optional.  <br />Customer phone number.</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Optional.  <br />State code in uppercase format.</td>\n</tr>\n<tr>\n<td>client.date_of_birth</td>\n<td>Optional.  <br />Customer date of birth in YYYY-MM-DD format.</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory.  <br />ISO 4217 currency code (e.g. <code>EUR</code>).</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory.  <br />Product or service name.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory.  <br />Price in decimal format up to 2 decimals. Example: EUR 11 and 50 cents → <code>11.50</code>.</td>\n</tr>\n<tr>\n<td>purchase.expireInMin</td>\n<td>Optional.  <br />Checkout expiration time in minutes.</td>\n</tr>\n<tr>\n<td>paymentMethod</td>\n<td>Conditional.  <br />Mandatory if you are not using Paysecure Cashier. Value: <code>SKRILL</code>.</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Mandatory.  <br />Obtain from the Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>merchantRef</td>\n<td>Optional.  <br />Strongly recommended — see Essential Optional Parameters below.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory.  <br />URL to send the customer to if the transaction is successful.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Mandatory.  <br />URL to send the customer to while the payment is pending.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory.  <br />URL to send the customer to if the transaction has failed.</td>\n</tr>\n<tr>\n<td>success_callback</td>\n<td>Optional.  <br />Merchant webhook endpoint for successful payment notifications.</td>\n</tr>\n<tr>\n<td>failure_callback</td>\n<td>Optional.  <br />Merchant webhook endpoint for failed payment notifications.</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. Its inclusion offers two significant advantages:</p>\n<ol>\n<li><p><strong>Prevention of Duplicate Requests:</strong> if a second purchase request is made using the same <code>merchantRef</code>, the system recognises it and prevents duplicate transactions.</p>\n</li>\n<li><p><strong>Facilitation of Transaction Retrieval:</strong> if the response times out or the <code>purchaseId</code> isn't received, the <code>merchantRef</code> allows you to retrieve the transaction details.</p>\n</li>\n</ol>\n<h3 id=\"response\">Response</h3>\n<p>The success response echoes the full purchase object. The fields that drive your next step are <code>purchaseId</code> (store it) and <code>checkout_url</code> (redirect the customer to it). <code>status</code> is <code>CREATED</code> at this point; the final result arrives by webhook.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"8a32d5db-7f4e-4c7b-858c-aad14fd0480d","id":"8a32d5db-7f4e-4c7b-858c-aad14fd0480d","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"54077081-169e-4f31-b543-b9367dbc677b","name":"Purchase - Success (Created)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5772@example.com\",\n        \"full_name\": \"test test\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"LO\",\n        \"street_address\": \"1 Example Street\",\n        \"zip_code\": \"234567\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"phone\": \"+44 07000000000\"\n    },\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": 11.5\n            }\n        ]\n    },\n    \"paymentMethod\": \"SKRILL\",\n    \"merchantRef\": \"test_skrill_001\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a44fd1061ad9b6b462f5df9\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5772@example.com\",\n        \"phone\": \"+44 07000000000\",\n        \"full_name\": \"test test\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"LO\"\n    },\n    \"updated_on\": 1783690167,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"SKRILL\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1783690051,\n    \"merchantRef\": \"6a44fd1061ad9b6b462f5df9\",\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"quantity\": 1,\n                \"price\": 11.5,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 11.5,\n        \"requestAmount\": 11.5,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"taxAmount\": 0,\n        \"taxPercent\": 0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 11.5,\n        \"currency\": \"EUR\",\n        \"net_amount\": 11.5,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": null,\n        \"remote_paid_on\": null\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\": \"Testing\",\n        \"brand_name\": \"Testing\",\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\": 1783690051\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS5858\",\n    \"issued\": \"2026-07-10\",\n    \"due\": 1783690051,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"extraFee\": \"0\",\n    \"totalRefunded\": 0,\n    \"pix_payload\": {},\n    \"payInDetails\": {},\n    \"paidOn\": 0,\n    \"receivedAmt\": 0,\n    \"taxAmount\": 0,\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\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    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.81\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a44fd1061ad9b6b462f5df9/\",\n    \"payoutProcess\": false\n}"},{"id":"1611b819-8c43-4453-a6ee-1f8bf0d3e139","name":"Purchase - Error (Brand not found)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5772@example.com\",\n        \"full_name\": \"test test\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"LO\",\n        \"street_address\": \"1 Example Street\",\n        \"zip_code\": \"234567\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"phone\": \"+44 07000000000\"\n    },\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": 11.5\n            }\n        ]\n    },\n    \"paymentMethod\": \"SKRILL\",\n    \"merchantRef\": \"test_skrill_001\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Brand not found!\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"713f14cf-a08b-4a5e-91fc-073470a5714e"},{"name":"Get Status","id":"44c82037-232e-4002-8e76-4c46fd899bd2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}","description":"<p>Poll the current status and details of a purchase using the <code>purchaseId</code> returned by the Purchase API. This is the fallback to webhooks.</p>\n<h3 id=\"possible-payment-statuses\">Possible Payment Statuses</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>Description</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>created</code></td>\n<td>Purchase order created, awaiting customer</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>pending_execute</code></td>\n<td>Customer redirected to the checkout page</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>payment_in_process</code></td>\n<td>Payment is under processing at Skrill</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>paid</code></td>\n<td>Transaction successful</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>Transaction failed (<code>payment_failed</code> in <code>status_history</code>)</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>expired</code></td>\n<td>Purchase has expired</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>overdue</code></td>\n<td>Purchase is overdue</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>cancelled</code></td>\n<td>Purchase is cancelled</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>refund_in_process</code></td>\n<td>Refund is under processing</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>refunded</code></td>\n<td>Payment is refunded</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>chargeback</code></td>\n<td>Payment is in chargeback state</td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><p>The top-level <code>status</code> in the response is uppercase (e.g. <code>PAID</code>); entries in <code>status_history</code> are lowercase. Refund and chargeback statuses apply only where those features are enabled for your account.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"8a32d5db-7f4e-4c7b-858c-aad14fd0480d","id":"8a32d5db-7f4e-4c7b-858c-aad14fd0480d","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"25caa9ef-28e6-47e3-bbcb-826019496a1c","name":"Get Status - Paid","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a3a7edaccf6ad8dcb121f26\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5772@example.com\",\n        \"phone\": \"+44 07000000000\",\n        \"full_name\": \"test test\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"LO\"\n    },\n    \"updated_on\": 1783690167,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"SKRILL\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"Transaction succeeded-APPROVED\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1783690051,\n    \"merchantRef\": \"6a3a7edaccf6ad8dcb121f26\",\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"quantity\": 1,\n                \"price\": 11.5,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 11.5,\n        \"requestAmount\": 11.5,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"taxAmount\": 0,\n        \"taxPercent\": 0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 11.5,\n        \"currency\": \"EUR\",\n        \"net_amount\": 11.5,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1783690059,\n        \"remote_paid_on\": 1783690059\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\": \"Testing\",\n        \"brand_name\": \"Testing\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"amount\": 11.5,\n            \"masked_pan\": \"SKRILL\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.81\",\n                \"type\": \"execute\",\n                \"payment_method\": \"SKRILL\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"SKRILL\",\n                \"processing_time\": 1783690067,\n                \"extra\": {\n                    \"amount\": 11.5,\n                    \"masked_pan\": \"SKRILL\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1783690051\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1783690059\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1783690065\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1783690167\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS5858\",\n    \"issued\": \"2026-07-10\",\n    \"due\": 1783690051,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"extraFee\": \"0\",\n    \"totalRefunded\": 0,\n    \"pix_payload\": {},\n    \"payInDetails\": {},\n    \"paidOn\": 1783690167,\n    \"receivedAmt\": 11.5,\n    \"taxAmount\": 0,\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 11.5,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.81\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a3a7edaccf6ad8dcb121f26/\",\n    \"payoutProcess\": false\n}"},{"id":"bcbccf7b-6360-44e1-94f9-a78e254adc83","name":"Get Status - Error (Failed payment)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a3a7edaccf6ad8dcb121f26\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5772@example.com\",\n        \"phone\": \"+44 07000000000\",\n        \"full_name\": \"test test\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"LO\"\n    },\n    \"updated_on\": 1783690167,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"SKRILL\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"Transaction Failed\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1783690051,\n    \"merchantRef\": \"6a3a7edaccf6ad8dcb121f26\",\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"quantity\": 1,\n                \"price\": 11.5,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 11.5,\n        \"requestAmount\": 11.5,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"taxAmount\": 0,\n        \"taxPercent\": 0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 11.5,\n        \"currency\": \"EUR\",\n        \"net_amount\": 11.5,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1783690059,\n        \"remote_paid_on\": 1783690059\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\": \"Testing\",\n        \"brand_name\": \"Testing\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"amount\": 11.5,\n            \"masked_pan\": \"SKRILL\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.81\",\n                \"type\": \"execute\",\n                \"payment_method\": \"SKRILL\",\n                \"flow\": \"payform\",\n                \"successful\": false,\n                \"country\": \"SKRILL\",\n                \"processing_time\": 1783690067,\n                \"extra\": {\n                    \"amount\": 11.5,\n                    \"masked_pan\": \"SKRILL\"\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\": 1783690051\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1783690059\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1783690065\n        },\n        {\n            \"status\": \"payment_failed\",\n            \"timestamp\": 1783690167\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS5858\",\n    \"issued\": \"2026-07-10\",\n    \"due\": 1783690051,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"extraFee\": \"0\",\n    \"totalRefunded\": 0,\n    \"pix_payload\": {},\n    \"payInDetails\": {},\n    \"paidOn\": 0,\n    \"receivedAmt\": 0,\n    \"taxAmount\": 0,\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\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    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.81\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a3a7edaccf6ad8dcb121f26/\",\n    \"payoutProcess\": false\n}"},{"id":"6c710151-34ba-4bec-9fec-3e97abb1e4b1","name":"Get Status - Error (Purchase not found)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Purchase not found!\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"44c82037-232e-4002-8e76-4c46fd899bd2"}],"id":"8a32d5db-7f4e-4c7b-858c-aad14fd0480d","description":"<p>Create a Skrill purchase and track it to a terminal status. Both calls use the standard Paysecure purchase contract.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"3cc4712a-b8ff-40bf-a44d-1ff320b63d98"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"09f11960-9428-45d3-8dd8-e1bc85dc2cbc"}}],"_postman_id":"8a32d5db-7f4e-4c7b-858c-aad14fd0480d"}],"id":"05acc050-4695-4934-833c-8a15284ec129","description":"<p>Skrill is a wallet-based payment method: the customer pays from their Skrill account balance, either by logging in with email and password or by scanning a QR code with the Skrill mobile app. You create a standard purchase with <code>paymentMethod</code> = <code>SKRILL</code> and redirect the customer to the returned <code>checkout_url</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Payment type</td>\n<td>Digital wallet</td>\n</tr>\n<tr>\n<td>Countries</td>\n<td>Global (as enabled for your merchant account)</td>\n</tr>\n<tr>\n<td>Processing currency</td>\n<td>ISO 4217 fiat (e.g. <code>EUR</code>)</td>\n</tr>\n<tr>\n<td>PayIn</td>\n<td>✅</td>\n</tr>\n<tr>\n<td>PayOut</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>Refunds</td>\n<td>Contact your Account Manager (<code>refund_availability</code> shown per transaction)</td>\n</tr>\n<tr>\n<td>Recurring / MIT</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>Customer flow</td>\n<td>Redirect to hosted page → Skrill login or QR scan in Skrill app</td>\n</tr>\n<tr>\n<td>Payment confirmation</td>\n<td>Asynchronous — final status via webhook; redirect is for customer experience only</td>\n</tr>\n<tr>\n<td>Key constraint</td>\n<td>The email used at Skrill login must be the customer's Skrill wallet email</td>\n</tr>\n<tr>\n<td>Transaction limits</td>\n<td>As configured for your merchant account</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"4c0b0502-cf20-4361-aaa5-0f30737b698c"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"6afd61f4-5b6e-4cf4-9738-4508e4c15d44"}}],"_postman_id":"05acc050-4695-4934-833c-8a15284ec129"},{"name":"🇳🇱 iDEAL","item":[{"name":"Concepts","item":[],"id":"c300871d-b596-47d8-970d-236f199c89ac","description":"<h2 id=\"overview\">Overview</h2>\n<p>iDEAL is a Dutch online banking payment method. Instead of entering card details, the customer is redirected to the iDEAL payment page and completes the payment inside their own bank's app or internet-banking session. The bank authorises the transfer in real time and iDEAL confirms it back to Paysecure, so you learn the outcome within seconds rather than days.</p>\n<p>iDEAL is available to any customer holding a payment account at a participating Dutch bank, and it is the default expectation for consumer checkouts in the Netherlands. It is a push payment: the customer initiates and approves the transfer, which is why the payment cannot later be reversed as a chargeback.</p>\n<img src=\"https://content.pstmn.io/393291e9-ae98-4a1d-bc96-7e650355c8d7/aW1hZ2UucG5n\" width=\"1652\" height=\"1580\" />\n\n<h2 id=\"coverage--limits\">Coverage &amp; Limits</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Country</strong></th>\n<th><strong>Currency</strong></th>\n<th><strong>Minimum</strong></th>\n<th><strong>Maximum</strong></th>\n<th><strong>Expiry window</strong></th>\n<th><strong>Confirmation delay</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>🇳🇱 Netherlands</td>\n<td>EUR</td>\n<td>EUR 1</td>\n<td>Set per merchant profile, and additionally capped by the customer's own issuing bank</td>\n<td>Approximately 15 minutes from creation of the purchase</td>\n<td>Real-time — seconds after the customer approves</td>\n</tr>\n</tbody>\n</table>\n</div><p>Notes:</p>\n<ul>\n<li><p><strong>Currency is EUR only.</strong> A purchase sent with <code>paymentMethod</code> = <code>IDEAL</code> and any other <code>purchase.currency</code> is rejected at creation.</p>\n</li>\n<li><p><strong>Country.</strong> <code>client.country</code> must be <code>NL</code>. The customer's address fields are not used for bank selection — the customer chooses their own bank on the iDEAL payment page.</p>\n</li>\n<li><p><strong>Expiry.</strong> If the customer does not complete the payment before the window closes, the purchase becomes terminal and unpayable, and the <code>checkout_url</code> stops accepting payment. Create a new purchase to let the customer retry; never reuse an expired <code>purchaseId</code>.</p>\n</li>\n<li><p><strong>Refund window.</strong> Refunds must be initiated within the period shown by <code>refund_upto</code> on the purchase object. Always read <code>refund_availability</code> and <code>refundable_amount</code> from the purchase rather than assuming.</p>\n</li>\n</ul>\n<h2 id=\"payin-flow\">PayIn Flow</h2>\n<h3 id=\"how-it-works\">How it works</h3>\n<p>You create a purchase with <code>paymentMethod</code> = <code>IDEAL</code> and redirect the customer to the <code>checkout_url</code> returned in the response. On the iDEAL payment page the customer either scans the displayed QR code with their banking app, or presses <strong>Select your bank</strong> to continue through internet banking. Once the customer approves the transfer in their bank, iDEAL confirms it to Paysecure, Paysecure fires the <code>paid</code> webhook to your <code>success_callback</code> and returns the customer to your <code>success_redirect</code>.</p>\n<h3 id=\"flow\">Flow</h3>\n<ul>\n<li><p><strong>Merchant creates the purchase:</strong> call <code>POST https://api.paysecure.net/api/v1/purchases/</code> with <code>paymentMethod</code> = <code>IDEAL</code>, <code>purchase.currency</code> = <code>EUR</code>, your <code>brand_id</code> and the redirect/callback URLs. The response is the full purchase object with <code>status</code> = <code>CREATED</code>.</p>\n</li>\n<li><p><strong>Merchant redirects the customer:</strong> send the customer's browser to the <code>checkout_url</code> from the response. Do not rebuild this URL yourself — always use the value returned by the API.</p>\n</li>\n<li><p><strong>Customer chooses how to pay:</strong> the iDEAL payment page offers two paths — scan the QR code with a banking app (typical on desktop), or <strong>Select your bank</strong> and continue in internet banking (typical on mobile, which app-switches straight into the bank). Once the customer reaches the page and starts the payment, the purchase moves to <code>pending_execute</code>.</p>\n</li>\n<li><p><strong>Customer approves in their bank:</strong> the customer confirms the amount and the beneficiary inside their own banking session. At this point the purchase moves to <code>payment_in_process</code>.</p>\n</li>\n<li><p><strong>Paysecure confirms the payment:</strong> on receiving confirmation from iDEAL, the purchase moves to <code>paid</code> and Paysecure POSTs the webhook to your <code>success_callback</code>.</p>\n</li>\n<li><p><strong>Customer is returned to your site:</strong> the customer is redirected to <code>success_redirect</code> on success, <code>pending_redirect</code> while the outcome is still settling, and <code>failure_redirect</code> if the payment failed or the customer pressed <strong>Cancel</strong> on the iDEAL page.</p>\n</li>\n<li><p><strong>Merchant confirms server-side:</strong> treat the webhook — or a <code>GET https://api.paysecure.net/api/v1/purchases/{purchaseId}/</code> call — as the only authority on the outcome. Never fulfil an order on the strength of the browser landing on <code>success_redirect</code>; a customer can reach that URL without a payment having completed.</p>\n</li>\n</ul>\n<h3 id=\"unhappy-paths-your-integration-must-handle\">Unhappy paths your integration must handle</h3>\n<ul>\n<li><p><strong>Customer abandons the iDEAL page</strong> → the purchase stays <code>CREATED</code>, or <code>PENDING_EXECUTE</code> if the customer reached the page and started the payment, until the expiry window closes and it becomes terminal. No webhook fires at the moment of abandonment — the <code>expired</code> webhook is what tells you.</p>\n</li>\n<li><p><strong>Customer presses Cancel</strong> → the customer returns to <code>failure_redirect</code> and the purchase ends in a non-paid terminal state.</p>\n</li>\n<li><p><strong>Bank declines or the authorisation fails</strong> → the purchase moves to <code>error</code> and the customer returns to <code>failure_redirect</code>.</p>\n</li>\n<li><p><strong>Customer closes the browser after approving</strong> → the payment still completes. The webhook is the reason your integration must be webhook-driven, not redirect-driven.</p>\n</li>\n</ul>\n<h2 id=\"webhook-events-for-ideal\">Webhook Events for iDEAL</h2>\n<p>Non-failure events are delivered to <code>success_callback</code>, failure events to <code>failure_callback</code>. Two lifecycle statuses produce no webhook at all — they are visible only on the purchase object.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Event</strong></th>\n<th><strong>Status</strong></th>\n<th><strong>When it fires</strong></th>\n<th><strong>Delivered to</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>purchase created</td>\n<td><code>created</code></td>\n<td>Purchase registered, <code>checkout_url</code> issued, awaiting the customer</td>\n<td>No webhook — returned synchronously in the create response</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>payment started</td>\n<td><code>pending_execute</code></td>\n<td>Customer reached the iDEAL payment page and started the payment</td>\n<td>No webhook — read via Get Status</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>payment in process</td>\n<td><code>payment_in_process</code></td>\n<td>Customer approved in their bank, awaiting confirmation from iDEAL</td>\n<td><code>success_callback</code>, where intermediate notifications are enabled on your profile</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>purchase paid</td>\n<td><code>paid</code></td>\n<td>Funds confirmed — safe to fulfil</td>\n<td><code>success_callback</code></td>\n<td>✅</td>\n</tr>\n<tr>\n<td>purchase expired</td>\n<td><code>expired</code></td>\n<td>Customer did not complete the payment within the expiry window</td>\n<td><code>failure_callback</code></td>\n<td>✅</td>\n</tr>\n<tr>\n<td>purchase error</td>\n<td><code>error</code></td>\n<td>Payment failed, was declined, or was cancelled by the customer</td>\n<td><code>failure_callback</code></td>\n<td>✅</td>\n</tr>\n<tr>\n<td>purchase refunded</td>\n<td><code>refunded</code></td>\n<td>A full refund was processed back to the customer's account</td>\n<td><code>success_callback</code></td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><p>For the webhook payload shape, retry behaviour and signature verification, see the <strong>🔌 Webhooks</strong> section of these docs — it is not duplicated here.</p>\n<p>Two rules that save integration time:</p>\n<ul>\n<li><p><strong>Be idempotent.</strong> A webhook can be delivered more than once for the same status. Key your handler on <code>purchaseId</code> plus <code>status</code>.</p>\n</li>\n<li><p><strong>Do not rely on ordering.</strong> Under normal conditions statuses arrive in the order above, but always re-read <code>status</code> from the payload rather than inferring it from which handler was hit.</p>\n</li>\n</ul>\n<h2 id=\"testing-in-sandbox\">Testing in Sandbox</h2>\n<p>In sandbox, <code>POST /purchases/</code> with <code>paymentMethod</code> = <code>IDEAL</code> returns a <code>checkout_url</code> exactly as production does, so you can verify your create-purchase call, your redirect, your webhook handler and your status polling end to end.</p>\n<p>To test each outcome:</p>\n<ul>\n<li><p><strong>Success</strong> — open the <code>checkout_url</code> and complete the simulated payment. The purchase moves to <code>paid</code> and your <code>success_callback</code> is invoked.</p>\n</li>\n<li><p><strong>Failure / cancellation</strong> — press <strong>Cancel</strong> on the payment page. The purchase ends in a non-paid terminal state and the customer is returned to <code>failure_redirect</code>.</p>\n</li>\n<li><p><strong>Expiry</strong> — create a purchase and simply do not pay it. Wait out the expiry window and confirm your integration handles the terminal non-paid state without leaving the order stuck in a pending state.</p>\n</li>\n</ul>\n<p>Sandbox iDEAL does not use real bank credentials. If you need deterministic test outcomes or specific decline reasons wired into your sandbox brand, contact your Account Manager — the available simulator options depend on how your sandbox account is provisioned.</p>\n<p>Before you go live, confirm: iDEAL is enabled on your production merchant profile, your production webhook URLs are registered and reachable over HTTPS, and your <code>brand_id</code> is the production one.</p>\n<h2 id=\"faqs\">FAQs</h2>\n<p><strong>Do I need to ask the customer which bank they use?</strong><br />No. Bank selection happens on the iDEAL payment page — the customer either scans the QR code with their banking app or presses <strong>Select your bank</strong> there. You do not send an issuer or bank code in the request.</p>\n<p><strong>Can iDEAL be charged in a currency other than EUR?</strong><br />No. iDEAL settles in EUR and a purchase in any other currency is rejected at creation. If you price in another currency, convert to EUR before calling <code>/purchases/</code>.</p>\n<p><strong>Can I take recurring payments with iDEAL?</strong><br />Not through this endpoint. iDEAL authorises a single push payment per purchase. If you need recurring collection in the Netherlands, discuss SEPA Direct Debit with your Account Manager.</p>\n<p><strong>Can an iDEAL payment be charged back?</strong><br />No. The customer authorises the transfer inside their own bank, so there is no card-style chargeback right. Disputes are handled commercially — you refund the customer.</p>\n<p><strong>Can I partially refund an iDEAL payment?</strong><br />No. iDEAL supports full refunds only on this integration; <code>refund_availability</code> on a paid iDEAL purchase reads <code>FULL_ONLY</code>.</p>\n<p><strong>Why does the payment page show iDEAL together with Wero branding?</strong><br />iDEAL is part of the European Payments Initiative, which also operates Wero, and the payment page carries the co-branding. It has no effect on your integration, your request, or the status values you receive.</p>\n<p><strong>How long should I wait before treating a purchase as failed?</strong><br />Until the expiry window closes. A customer who has app-switched into their bank may take several minutes. Do not time out your own order earlier than the purchase does, or you will cancel orders that are about to be paid.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"27d61963-028e-4dfd-a917-2b38063a754b"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"81b4ad89-809c-48d5-a476-3401375b7fa7"}}],"_postman_id":"c300871d-b596-47d8-970d-236f199c89ac"},{"name":"PayIn API","item":[{"name":"Purchases","id":"12a04964-3a94-4cf6-a098-3cc95eee1699","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3705@example.com\",\n        \"country\": \"NL\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"LO\",\n        \"street_address\": \"1 Example Street\",\n        \"zip_code\": \"234567\",\n        \"full_name\": \"Reese Nakamura\",\n        \"phone\": \"+44 07932665877\",\n        \"date_of_birth\": \"1994-07-10\"\n    },\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": \"1\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"IDEAL\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases/","description":"<p>To initiate an iDEAL payment, the very first call to make is <code>/purchases</code>. It registers the purchase against your brand and returns the full purchase object, including the <code>checkout_url</code> you redirect the customer to. The response arrives with <code>status</code> = <code>CREATED</code>; the payment itself has not happened yet.</p>\n<p><code>paymentMethod</code> must be <code>IDEAL</code> (uppercase) and <code>purchase.currency</code> must be <code>EUR</code>. You do not send a bank or issuer code — the customer selects their bank on the iDEAL payment page.</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\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>paymentMethod</td>\n<td>Mandatory. <br />Must be <code>IDEAL</code> (uppercase) to route the purchase to iDEAL.</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Mandatory. <br />Identifies which of your brands the purchase belongs to. Can be located in the Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory. <br />ISO 4217 code. Must be <code>EUR</code> for iDEAL — any other currency is rejected.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory. <br />Description of the item shown to the customer. At least one product is required.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory. <br />Amount for this product as a string. Send it as a decimal with two places — EUR 1 → <code>1.00</code>, EUR 12.50 → <code>12.50</code>. Integers such as <code>1</code> are accepted and interpreted as <code>1.00</code>.</td>\n</tr>\n<tr>\n<td>client.email</td>\n<td>Conditional. <br />Not used by iDEAL itself, but strongly recommended: it is how the purchase is traced in the Dashboard and how the receipt is sent. Pass a correct email address.</td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>Mandatory. <br />ISO 3166-1 alpha-2 code. Must be <code>NL</code> for iDEAL.</td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td>Conditional. <br />Recommended for reconciliation and fraud screening. Not matched against the bank account name by iDEAL.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>Optional. <br />Include the country dialling code. Used for support and fraud screening, not for the payment itself.</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>Optional. <br />Billing city. Not used for bank selection.</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Optional. <br />Region/province code for the billing address. The Netherlands has no state requirement for iDEAL; pass it only if you hold the value.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td>Optional. <br />Billing street address. Not used for bank selection.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>Optional. <br />Billing postcode. Not used for bank selection.</td>\n</tr>\n<tr>\n<td>client.date_of_birth</td>\n<td>Optional. <br /><code>YYYY-MM-DD</code>. Used for fraud screening where your profile is configured for it.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory. <br />Browser URL the customer is returned to after a successful payment. Never fulfil an order on this redirect alone — confirm server-side.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Optional. <br />Browser URL the customer is returned to while the outcome is still settling. If omitted, the customer is sent to <code>success_redirect</code>.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory. <br />Browser URL the customer is returned to if the payment fails or they press <strong>Cancel</strong> on the iDEAL page.</td>\n</tr>\n<tr>\n<td>success_callback</td>\n<td>Mandatory. <br />Server-to-server webhook URL for non-failure events — <code>paid</code>, <code>refunded</code>, and <code>payment_in_process</code> where intermediate notifications are enabled on your profile. Must be HTTPS and publicly reachable. This is the authoritative notification of the outcome.</td>\n</tr>\n<tr>\n<td>failure_callback</td>\n<td>Mandatory. <br />Server-to-server webhook URL for failure events — <code>error</code> and <code>expired</code>. Must be HTTPS and publicly reachable.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"essential-optional-parameters\">Essential Optional Parameters</h2>\n<p><code>merchantRef</code> is your own reference for the transaction, and passing it is strongly recommended:</p>\n<ul>\n<li><strong>Duplicate prevention</strong> — if the same <code>merchantRef</code> is submitted twice, the duplicate purchase is rejected rather than double-charging your customer. This matters most on retries after a network timeout, where you cannot tell whether the first call landed.</li>\n<li><strong>Transaction retrieval</strong> — you can look a purchase up by your own order or invoice number in the Dashboard and in reporting, without having to store and index Paysecure's <code>purchaseId</code> first.</li>\n</ul>\n<p>If you do not send <code>merchantRef</code>, Paysecure generates one and returns it on the purchase object.</p>\n<h2 id=\"response\">Response</h2>\n<p>The API echoes the complete purchase object. For an iDEAL create-purchase the fields that drive your next step are:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>What to do with it</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>purchaseId</code></td>\n<td>Store it against your order. It is the key for <code>GET /purchases/{purchaseId}/</code>, for refunds, and for matching webhooks.</td>\n</tr>\n<tr>\n<td><code>checkout_url</code></td>\n<td>Redirect the customer's browser here. This is the iDEAL payment page that shows the QR code and the <strong>Select your bank</strong> option. Use the returned value as-is.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td><code>CREATED</code> at this point. The payment has not been made yet.</td>\n</tr>\n<tr>\n<td><code>status_history</code></td>\n<td>Lowercase statuses with Unix timestamps — the audit trail of the purchase.</td>\n</tr>\n<tr>\n<td><code>refund_availability</code></td>\n<td><code>NONE</code> until the purchase is paid; it becomes <code>FULL_ONLY</code> once <code>status</code> is <code>PAID</code>.</td>\n</tr>\n<tr>\n<td><code>merchantRef</code></td>\n<td>Your reference, or the one Paysecure generated if you did not send one.</td>\n</tr>\n</tbody>\n</table>\n</div><p>There is no iDEAL-specific payload object in the response: unlike QR-first methods, iDEAL does not hand you a raw QR payload to render yourself — the payment page renders it.</p>\n<p>Note that <code>purchase.products.price</code> is returned as a number (<code>1</code>) even when it was submitted as a string (<code>\"1\"</code>), and monetary fields on <code>payment</code> are numbers throughout.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"e5dc3fb9-44b0-492c-8311-88a559428b6a","id":"e5dc3fb9-44b0-492c-8311-88a559428b6a","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"774b4b1d-3bf1-41c6-896c-6bfed1152767","name":"Purchase - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3705@example.com\",\n        \"country\": \"NL\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"LO\",\n        \"street_address\": \"1 Example Street\",\n        \"zip_code\": \"234567\",\n        \"full_name\": \"Reese Nakamura\",\n        \"phone\": \"+44 07932665877\",\n        \"date_of_birth\": \"1994-07-10\"\n    },\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": \"1\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"IDEAL\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"68b1f4c2a9d3e14f27c5b810\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"user3705@example.com\",\n        \"phone\": \"+44 07932665877\",\n        \"full_name\": \"Reese Nakamura\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"personal_code\": \"\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"NL\",\n        \"city\": \"Milford\",\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\": \"LO\"\n    },\n    \"updated_on\": 1785918915,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785918915,\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\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        \"request_client_details\": [],\n        \"timezone\": \"Europe/Amsterdam\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 1,\n        \"currency\": \"EUR\",\n        \"net_amount\": 0,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": null,\n        \"remote_paid_on\": null\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\": \"Example Store BV\",\n        \"brand_name\": \"Example Store\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"IDEAL\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"\",\n        \"attempts\": []\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785999644\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785999644\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1785999645\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1785999645\n        }\n    ],\n    \"viewedOn\": null,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"b7c1e6a4-2f83-4d19-9a5c-0e3f7d2b48c1\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS41207\",\n    \"issued\": \"2026-08-05\",\n    \"due\": 1785918915,\n    \"refund_upto\": 1801470915,\n    \"cc_descriptor\": \"EXAMPLE STORE\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.138\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/68b1f4c2a9d3e14f27c5b810/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/68b1f4c2a9d3e14f27c5b810/\"\n}"},{"id":"1ef2d69c-5e02-4e5d-9f54-52bfab13f5e1","name":"Purchase - Error (Brand not found)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3705@example.com\",\n        \"country\": \"NL\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"LO\",\n        \"street_address\": \"1 Example Street\",\n        \"zip_code\": \"234567\",\n        \"full_name\": \"Reese Nakamura\",\n        \"phone\": \"+44 07932665877\",\n        \"date_of_birth\": \"1994-07-10\"\n    },\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": \"1\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"IDEAL\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Brand not found\",\n    \"code\": \"transaction_error\"\n}"},{"id":"b4e1e854-980a-4157-8365-3947180a7cc1","name":"Purchase - Error (Currency not supported)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3705@example.com\",\n        \"country\": \"NL\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"LO\",\n        \"street_address\": \"1 Example Street\",\n        \"zip_code\": \"234567\",\n        \"full_name\": \"Reese Nakamura\",\n        \"phone\": \"+44 07932665877\",\n        \"date_of_birth\": \"1994-07-10\"\n    },\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": \"1\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"IDEAL\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Payment method IDEAL is not available for currency USD\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"12a04964-3a94-4cf6-a098-3cc95eee1699"},{"name":"Get Status","id":"9786bb83-b90a-49a7-8dea-29ea1ce87c90","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/","description":"<p>Use this call to read the current state of an iDEAL purchase. It returns the same complete purchase object as the create call, with <code>status</code>, <code>status_history</code> and the <code>payment</code> block updated to reflect reality.</p>\n<p>Call it when you receive a webhook (to confirm the state from the source rather than trusting the payload alone), when a customer returns to your <code>success_redirect</code>, and during end-of-day reconciliation. Do not poll it in a tight loop as a substitute for handling webhooks — for a purchase awaiting customer action, once every 30–60 seconds until the expiry window closes is ample.</p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\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>purchaseId</td>\n<td>Mandatory. <br />The <code>purchaseId</code> returned by <code>POST /purchases/</code>. Path parameter, e.g. <code>https://api.paysecure.net/api/v1/purchases/68b1f4c2a9d3e14f27c5b810/</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"status-values-for-ideal\">Status values for iDEAL</h2>\n<p>Top-level <code>status</code> is uppercase; the entries in <code>status_history</code> are lowercase with Unix timestamps.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Meaning</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>CREATED</code></td>\n<td>Purchase registered, <code>checkout_url</code> issued, customer has not paid yet</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>PENDING_EXECUTE</code></td>\n<td>Customer has landed on the iDEAL page and started the payment</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>PAYMENT_IN_PROCESS</code></td>\n<td>Customer approved in their bank, awaiting confirmation from iDEAL</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>PAID</code></td>\n<td>Funds confirmed — safe to fulfil the order</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>EXPIRED</code></td>\n<td>Customer did not complete the payment within the expiry window</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>ERROR</code></td>\n<td>Payment failed, was declined, or was cancelled by the customer</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>REFUNDED</code></td>\n<td>The full amount was refunded to the customer</td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><p><code>status_history</code> can also contain informational entries that never appear as a top-level <code>status</code> — most commonly <code>viewed</code>, recorded when the purchase or receipt page was opened. Ignore these when driving your state machine: they carry no payment meaning, and an unrecognised entry in <code>status_history</code> must not break your parser.</p>\n<p>Fulfil only on <code>PAID</code>. Treat <code>EXPIRED</code> and <code>ERROR</code> as final for that <code>purchaseId</code> — to let the customer try again, create a new purchase.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"e5dc3fb9-44b0-492c-8311-88a559428b6a","id":"e5dc3fb9-44b0-492c-8311-88a559428b6a","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"1b9b3fc4-a407-492d-a59f-937a4c798549","name":"Get Status - Success (Paid)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"68b1f4c2a9d3e14f27c5b810\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"user3705@example.com\",\n        \"phone\": \"+44 07932665877\",\n        \"full_name\": \"Reese Nakamura\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"personal_code\": \"\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"NL\",\n        \"city\": \"Milford\",\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\": \"LO\"\n    },\n    \"updated_on\": 1785919104,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785918915,\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\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        \"request_client_details\": [],\n        \"timezone\": \"Europe/Amsterdam\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 1,\n        \"currency\": \"EUR\",\n        \"net_amount\": 1,\n        \"fee_amount\": 0.03,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1785918961,\n        \"remote_paid_on\": 1785918961\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\": \"Example Store BV\",\n        \"brand_name\": \"Example Store\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"IDEAL\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"NL\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.138\",\n                \"type\": \"execute\",\n                \"payment_method\": \"IDEAL\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"NL\",\n                \"processing_time\": 1785918961,\n                \"extra\": {}\n            }\n        ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785918915\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785918939\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1785918952\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1785918961\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1785919104\n        }\n    ],\n    \"viewedOn\": 1785919104,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"b7c1e6a4-2f83-4d19-9a5c-0e3f7d2b48c1\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS41207\",\n    \"issued\": \"2026-08-05\",\n    \"due\": 1785918915,\n    \"refund_upto\": 1801470915,\n    \"cc_descriptor\": \"EXAMPLE STORE\",\n    \"refund_availability\": \"FULL_ONLY\",\n    \"refundable_amount\": 1,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.138\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/68b1f4c2a9d3e14f27c5b810/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/68b1f4c2a9d3e14f27c5b810/\"\n}"},{"id":"72cedf43-70f6-43d9-bbd2-7d6d94aab6f3","name":"Get Status - Error (Purchase not found)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Purchase not found\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"9786bb83-b90a-49a7-8dea-29ea1ce87c90"},{"name":"Refund","id":"f7107692-d8a2-452a-92d0-541a3e906b77","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund/","description":"<p>Returns the full purchase amount to the bank account the customer paid from. iDEAL refunds are pushed back over SEPA, so the money lands in the customer's account rather than being reversed on a card.</p>\n<p>Only a purchase whose <code>status</code> is <code>PAID</code> can be refunded, and only within the window shown by <code>refund_upto</code> on the purchase object. Read <code>refund_availability</code> before calling: for a paid iDEAL purchase it reads <code>FULL_ONLY</code>, which means the whole amount or nothing — <strong>iDEAL does not support partial refunds on this integration</strong>. No request body is required; the full <code>refundable_amount</code> is returned.</p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\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>purchaseId</td>\n<td>Mandatory. <br />The <code>purchaseId</code> of the paid purchase to refund. Path parameter, e.g. <code>https://api.paysecure.net/api/v1/purchases/68b1f4c2a9d3e14f27c5b810/refund/</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<p>The complete purchase object is returned with <code>status</code> = <code>REFUNDED</code>, a <code>refunded</code> entry appended to <code>status_history</code>, <code>refund_availability</code> back to <code>NONE</code> and <code>refundable_amount</code> at <code>0</code>. A <code>refunded</code> webhook is also delivered to your <code>success_callback</code>.</p>\n<p>The customer's bank may take one to a few business days to show the credit. Treat the <code>REFUNDED</code> status as confirmation that Paysecure has released the refund, not that it has already appeared on the customer's statement.</p>\n<p>Common reasons a refund is rejected:</p>\n<ul>\n<li>The purchase is not <code>PAID</code> (for example still <code>CREATED</code>, or <code>EXPIRED</code>).</li>\n<li>The refund window has passed — compare against <code>refund_upto</code>.</li>\n<li>The purchase has already been refunded, so <code>refundable_amount</code> is <code>0</code>.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"e5dc3fb9-44b0-492c-8311-88a559428b6a","id":"e5dc3fb9-44b0-492c-8311-88a559428b6a","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}","refund",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"58ef470d-4392-45fe-8f8b-5952e29c2c2e","name":"Refund - Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"68b1f4c2a9d3e14f27c5b810\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"user3705@example.com\",\n        \"phone\": \"+44 07932665877\",\n        \"full_name\": \"Reese Nakamura\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"personal_code\": \"\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"NL\",\n        \"city\": \"Milford\",\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\": \"LO\"\n    },\n    \"updated_on\": 1786008310,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785918915,\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\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        \"request_client_details\": [],\n        \"timezone\": \"Europe/Amsterdam\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 1,\n        \"currency\": \"EUR\",\n        \"net_amount\": 1,\n        \"fee_amount\": 0.03,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1785918961,\n        \"remote_paid_on\": 1785918961\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\": \"Example Store BV\",\n        \"brand_name\": \"Example Store\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"IDEAL\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"NL\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.138\",\n                \"type\": \"execute\",\n                \"payment_method\": \"IDEAL\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"NL\",\n                \"processing_time\": 1785918961,\n                \"extra\": {}\n            }\n        ]\n    },\n    \"status\": \"REFUNDED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785918915\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785918939\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1785918952\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1785918961\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1785919104\n        },\n        {\n            \"status\": \"refunded\",\n            \"timestamp\": 1786008310\n        }\n    ],\n    \"viewedOn\": 1785919104,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"b7c1e6a4-2f83-4d19-9a5c-0e3f7d2b48c1\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS41207\",\n    \"issued\": \"2026-08-05\",\n    \"due\": 1785918915,\n    \"refund_upto\": 1801470915,\n    \"cc_descriptor\": \"EXAMPLE STORE\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.138\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/68b1f4c2a9d3e14f27c5b810/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/68b1f4c2a9d3e14f27c5b810/\"\n}"},{"id":"6e391e89-cf3e-428b-bf6f-c8e05e443f1f","name":"Refund - Error (Not refundable)","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Refund is not available for this purchase\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"f7107692-d8a2-452a-92d0-541a3e906b77"}],"id":"e5dc3fb9-44b0-492c-8311-88a559428b6a","description":"<p>The iDEAL PayIn integration is Paysecure's standard <code>/purchases</code> contract with <code>paymentMethod</code> set to <code>IDEAL</code>. There is no iDEAL-specific request object and no method-specific payload in the response — everything the customer needs is served by the <code>checkout_url</code> that Paysecure returns.</p>\n<p>Two calls cover the integration, with a third for refunds:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Request</strong></th>\n<th><strong>Endpoint</strong></th>\n<th><strong>Purpose</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Purchases</td>\n<td><code>POST https://api.paysecure.net/api/v1/purchases/</code></td>\n<td>Create the purchase and get the <code>checkout_url</code> to redirect the customer to</td>\n</tr>\n<tr>\n<td>Get Status</td>\n<td><code>GET https://api.paysecure.net/api/v1/purchases/{purchaseId}/</code></td>\n<td>Read the current state of a purchase (reconciliation, webhook verification)</td>\n</tr>\n<tr>\n<td>Refund</td>\n<td><code>POST https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund/</code></td>\n<td>Return the full amount to the customer's bank account</td>\n</tr>\n</tbody>\n</table>\n</div><p>Your <code>Brand ID</code> and <code>API key</code> can be located in the Dashboard section of your merchant account login. Authenticate every call with <code>Authorization: Bearer {{APIKey}}</code>.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"75cce91e-fa27-4b41-b220-6faf4fe0a276"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"7ca6d63c-ed8f-4806-aef4-40394abeea7b"}}],"_postman_id":"e5dc3fb9-44b0-492c-8311-88a559428b6a"}],"id":"1ce0324e-75e6-432e-9459-4e6427351711","description":"<p>iDEAL is the dominant online payment method in the Netherlands, accounting for the large majority of Dutch e-commerce transactions. The customer authorises a real-time transfer inside their own banking app — either by scanning a QR code or by selecting their bank on the iDEAL payment page — so the funds are confirmed before you release the goods or credit the account. Because the payment is pushed by the customer from their own bank account, there are no card-style chargebacks.</p>\n<p>Enabling iDEAL alongside cards is normally the single largest conversion lift available for a Netherlands-facing checkout: Dutch consumers expect it, and many will abandon a checkout that only offers cards.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Payment type</td>\n<td>Real-time bank transfer (push payment)</td>\n</tr>\n<tr>\n<td>Countries</td>\n<td>🇳🇱 Netherlands</td>\n</tr>\n<tr>\n<td>Processing currency</td>\n<td>EUR</td>\n</tr>\n<tr>\n<td>PayIn</td>\n<td>✅</td>\n</tr>\n<tr>\n<td>PayOut</td>\n<td>❌ Not supported</td>\n</tr>\n<tr>\n<td>Refunds</td>\n<td>✅ Full refund only (no partial refunds)</td>\n</tr>\n<tr>\n<td>Recurring / MIT</td>\n<td>❌ Not supported on this endpoint</td>\n</tr>\n<tr>\n<td>Chargebacks</td>\n<td>❌ Not applicable — the customer authorises the push in their own bank</td>\n</tr>\n<tr>\n<td>Customer flow</td>\n<td>Redirect to the iDEAL payment page → QR scan in the banking app, or bank selection for internet banking</td>\n</tr>\n<tr>\n<td>Payment confirmation</td>\n<td>Real-time — the <code>paid</code> webhook normally arrives within seconds of the customer approving</td>\n</tr>\n<tr>\n<td>Transaction limits</td>\n<td>Set per merchant profile and additionally capped by the customer's issuing bank — contact your Account Manager</td>\n</tr>\n<tr>\n<td>Settlement</td>\n<td>T+1 in EUR (confirm your contracted cycle with your Account Manager)</td>\n</tr>\n<tr>\n<td><code>paymentMethod</code> enum</td>\n<td><code>IDEAL</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"7a4e8d54-ac35-4d30-94a2-efe64e199423"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"377a6d30-e0e6-402c-9bbc-174b1aeb1c40"}}],"_postman_id":"1ce0324e-75e6-432e-9459-4e6427351711"},{"name":"🇧🇪 Bancontact","item":[{"name":"Concepts","item":[],"id":"a7bf3592-2c9b-422a-8142-a29e991921a6","description":"<h2 id=\"overview\">Overview</h2>\n<p>Bancontact is the Belgian domestic payment scheme, issued as a debit card by every major Belgian bank and usable online through the Bancontact app. On your checkout the customer chooses Bancontact, is redirected to the hosted payment page, and confirms the payment either by scanning a QR code with the Bancontact app or by entering their Bancontact card number and authenticating. The bank authorises in real time, so you learn the outcome within seconds rather than days.</p>\n<p>Because Bancontact is a debit scheme, the funds are checked against the customer's account at authorisation — there is no deferred-settlement risk in the way there is with an invoice-based method. Your integration is a redirect integration: you never touch card data, and 3-D Secure is handled inside the Bancontact flow rather than by you.</p>\n<img src=\"https://content.pstmn.io/27d5c065-2b5e-4a28-9688-71ead7ef85a9/YmFuY29udGFjdF9wYXlpbl9mbG93LnBuZw==\" alt />\n\n<h2 id=\"coverage--limits\">Coverage &amp; Limits</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Country</strong></th>\n<th><strong>Currency</strong></th>\n<th><strong>Minimum</strong></th>\n<th><strong>Maximum</strong></th>\n<th><strong>Expiry window</strong></th>\n<th><strong>Confirmation delay</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>🇧🇪 Belgium</td>\n<td>EUR</td>\n<td>EUR 0.01</td>\n<td>Set per merchant profile, and additionally capped by the customer's own issuing bank</td>\n<td>Approximately 15 minutes from creation of the purchase</td>\n<td>Real-time — seconds after the customer confirms</td>\n</tr>\n</tbody>\n</table>\n</div><p>Notes:</p>\n<ul>\n<li><p><strong>Currency is EUR only.</strong> A purchase sent with <code>paymentMethod</code> = <code>BANCONTACT</code> and any other <code>purchase.currency</code> is rejected at creation.</p>\n</li>\n<li><p><strong>Country.</strong> <code>client.country</code> must be <code>BE</code>. The customer's address fields play no part in the authorisation — the customer authenticates with their own app or card.</p>\n</li>\n<li><p><strong>Expiry.</strong> If the customer does not confirm before the window closes, the purchase becomes terminal and unpayable, and the <code>checkout_url</code> stops accepting payment. Create a new purchase to let the customer retry; never reuse an expired <code>purchaseId</code>.</p>\n</li>\n<li><p><strong>Refund window.</strong> Refunds must be initiated within the period shown by <code>refund_upto</code> on the purchase object. Always read <code>refund_availability</code> and <code>refundable_amount</code> from the purchase rather than assuming.</p>\n</li>\n</ul>\n<h2 id=\"payin-flow\">PayIn Flow</h2>\n<h3 id=\"how-it-works\">How it works</h3>\n<p>You create a purchase with <code>paymentMethod</code> = <code>BANCONTACT</code> and redirect the customer to the <code>checkout_url</code> returned in the response. On the hosted page the customer either scans the displayed QR code with the Bancontact app and confirms there, or enters their Bancontact card number and completes the authentication their bank asks for. Once the bank authorises, Paysecure fires the <code>paid</code> webhook to your <code>success_callback</code> and returns the customer to your <code>success_redirect</code>.</p>\n<h3 id=\"flow\">Flow</h3>\n<ul>\n<li><p><strong>Merchant creates the purchase:</strong> call <code>POST https://api.paysecure.net/api/v1/purchases/</code> with <code>paymentMethod</code> = <code>BANCONTACT</code>, <code>purchase.currency</code> = <code>EUR</code>, your <code>brand_id</code> and the redirect/callback URLs. The response is the full purchase object with <code>status</code> = <code>CREATED</code>.</p>\n</li>\n<li><p><strong>Merchant redirects the customer:</strong> send the customer's browser to the <code>checkout_url</code> from the response. Do not rebuild this URL yourself — always use the value returned by the API.</p>\n</li>\n<li><p><strong>Customer chooses how to confirm:</strong> the hosted page offers two paths — scan the QR code with the Bancontact app (typical on desktop), or enter Bancontact card details and authenticate (typical when the app is not installed). On a mobile browser the QR path app-switches straight into the Bancontact app. Once the customer reaches the page and starts the payment, the purchase moves to <code>pending_execute</code>.</p>\n</li>\n<li><p><strong>Customer authorises:</strong> the customer confirms the amount and the beneficiary in the app, or completes their bank's authentication step for the card path. At this point the purchase moves to <code>payment_in_process</code>.</p>\n</li>\n<li><p><strong>Paysecure confirms the payment:</strong> on receiving the authorisation, the purchase moves to <code>paid</code> and Paysecure POSTs the webhook to your <code>success_callback</code>.</p>\n</li>\n<li><p><strong>Customer is returned to your site:</strong> the customer is redirected to <code>success_redirect</code> on success, <code>pending_redirect</code> while the outcome is still settling, and <code>failure_redirect</code> if the payment failed or the customer cancelled on the hosted page.</p>\n</li>\n<li><p><strong>Merchant confirms server-side:</strong> treat the webhook — or a <code>GET https://api.paysecure.net/api/v1/purchases/{purchaseId}/</code> call — as the only authority on the outcome. Never fulfil an order on the strength of the browser landing on <code>success_redirect</code>; a customer can reach that URL without a payment having completed.</p>\n</li>\n</ul>\n<h3 id=\"unhappy-paths-your-integration-must-handle\">Unhappy paths your integration must handle</h3>\n<ul>\n<li><p><strong>Customer abandons the hosted page</strong> → the purchase stays <code>CREATED</code>, or <code>PENDING_EXECUTE</code> if the customer reached the page and started the payment, until the expiry window closes and it becomes terminal. No webhook fires at the moment of abandonment — the <code>expired</code> webhook is what tells you.</p>\n</li>\n<li><p><strong>Customer cancels on the hosted page</strong> → the customer returns to <code>failure_redirect</code> and the purchase ends in a non-paid terminal state.</p>\n</li>\n<li><p><strong>Insufficient funds, or the bank declines the authorisation</strong> → the purchase moves to <code>error</code> and the customer returns to <code>failure_redirect</code>. Because Bancontact is a debit scheme, a declined authorisation on an account with too little balance is a normal, expected outcome — surface a retry, not an error page.</p>\n</li>\n<li><p><strong>Authentication is not completed in time</strong> → the purchase moves to <code>error</code> or expires, depending on where the customer stopped. Handle both as non-paid.</p>\n</li>\n<li><p><strong>Customer closes the browser after confirming</strong> → the payment still completes. The webhook is the reason your integration must be webhook-driven, not redirect-driven.</p>\n</li>\n</ul>\n<h2 id=\"webhook-events-for-bancontact\">Webhook Events for Bancontact</h2>\n<p>Non-failure events are delivered to <code>success_callback</code>, failure events to <code>failure_callback</code>. Two lifecycle statuses produce no webhook at all — they are visible only on the purchase object.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Event</strong></th>\n<th><strong>Status</strong></th>\n<th><strong>When it fires</strong></th>\n<th><strong>Delivered to</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>purchase created</td>\n<td><code>created</code></td>\n<td>Purchase registered, <code>checkout_url</code> issued, awaiting the customer</td>\n<td>No webhook — returned synchronously in the create response</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>payment started</td>\n<td><code>pending_execute</code></td>\n<td>Customer reached the hosted page and started the payment</td>\n<td>No webhook — read via Get Status</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>payment in process</td>\n<td><code>payment_in_process</code></td>\n<td>Customer confirmed, awaiting the bank's authorisation</td>\n<td><code>success_callback</code>, where intermediate notifications are enabled on your profile</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>purchase paid</td>\n<td><code>paid</code></td>\n<td>Authorisation confirmed — safe to fulfil</td>\n<td><code>success_callback</code></td>\n<td>✅</td>\n</tr>\n<tr>\n<td>purchase expired</td>\n<td><code>expired</code></td>\n<td>Customer did not confirm within the expiry window</td>\n<td><code>failure_callback</code></td>\n<td>✅</td>\n</tr>\n<tr>\n<td>purchase error</td>\n<td><code>error</code></td>\n<td>Payment failed, was declined, or was cancelled by the customer</td>\n<td><code>failure_callback</code></td>\n<td>✅</td>\n</tr>\n<tr>\n<td>purchase refunded</td>\n<td><code>refunded</code></td>\n<td>A full refund was processed back to the customer</td>\n<td><code>success_callback</code></td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><p>For the webhook payload shape, retry behaviour and signature verification, see the <strong>🔌 Webhooks</strong> section of these docs — it is not duplicated here.</p>\n<p>Two rules that save integration time:</p>\n<ul>\n<li><p><strong>Be idempotent.</strong> A webhook can be delivered more than once for the same status. Key your handler on <code>purchaseId</code> plus <code>status</code>.</p>\n</li>\n<li><p><strong>Do not rely on ordering.</strong> Under normal conditions statuses arrive in the order above, but always re-read <code>status</code> from the payload rather than inferring it from which handler was hit.</p>\n</li>\n</ul>\n<h2 id=\"testing-in-sandbox\">Testing in Sandbox</h2>\n<p>In sandbox, <code>POST /purchases/</code> with <code>paymentMethod</code> = <code>BANCONTACT</code> returns a <code>checkout_url</code> exactly as production does, so you can verify your create-purchase call, your redirect, your webhook handler and your status polling end to end.</p>\n<p>To test each outcome:</p>\n<ul>\n<li><p><strong>Success</strong> — open the <code>checkout_url</code> and complete the simulated payment. The purchase moves to <code>paid</code> and your <code>success_callback</code> is invoked.</p>\n</li>\n<li><p><strong>Failure / cancellation</strong> — cancel on the hosted page. The purchase ends in a non-paid terminal state and the customer is returned to <code>failure_redirect</code>.</p>\n</li>\n<li><p><strong>Expiry</strong> — create a purchase and simply do not pay it. Wait out the expiry window and confirm your integration handles the terminal non-paid state without leaving the order stuck in a pending state.</p>\n</li>\n</ul>\n<p>Sandbox Bancontact does not use real cards or a real Bancontact app. If you need deterministic test outcomes or specific decline reasons wired into your sandbox brand, contact your Account Manager — the available simulator options depend on how your sandbox account is provisioned.</p>\n<p>Before you go live, confirm: Bancontact is enabled on your production merchant profile, your production webhook URLs are registered and reachable over HTTPS, and your <code>brand_id</code> is the production one.</p>\n<h2 id=\"faqs\">FAQs</h2>\n<p><strong>Do I need to collect card details for the card path?</strong><br />No. Both paths are completed on the hosted page reached via <code>checkout_url</code>, so card data never enters your systems — this is the lowest-scope way to accept it. Confirm your own PCI DSS obligations (typically SAQ A for a redirect integration) with your compliance team.</p>\n<p><strong>Do I need to integrate 3-D Secure?</strong><br />No. Authentication is part of the Bancontact flow itself — the app confirmation or the bank's card authentication step. There is no separate 3DS call for you to make and no authentication result for you to interpret.</p>\n<p><strong>Can Bancontact be charged in a currency other than EUR?</strong><br />No. Bancontact settles in EUR and a purchase in any other currency is rejected at creation. If you price in another currency, convert to EUR before calling <code>/purchases/</code>.</p>\n<p><strong>Can I take recurring payments with Bancontact?</strong><br />Not through this endpoint. Bancontact authorises a single payment per purchase. If you need recurring collection in Belgium, discuss SEPA Direct Debit with your Account Manager.</p>\n<p><strong>Can I partially refund a Bancontact payment?</strong><br />No. Bancontact supports full refunds only on this integration; <code>refund_availability</code> on a paid Bancontact purchase reads <code>FULL_ONLY</code>.</p>\n<p><strong>Is Bancontact the same thing as Mister Cash?</strong><br />Yes — Mister Cash was the scheme's former name and the pairing is sometimes still written as \"Bancontact Mister Cash\" or abbreviated <code>BCMC</code> in other providers' documentation. In the Paysecure API the enum is <code>BANCONTACT</code>.</p>\n<p><strong>How long should I wait before treating a purchase as failed?</strong><br />Until the expiry window closes. A customer who has app-switched into the Bancontact app may take several minutes. Do not time out your own order earlier than the purchase does, or you will cancel orders that are about to be paid.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"7952da53-4305-4419-bae8-7aa37949d54b","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"ef7f488f-9f5e-4ab0-9e97-5b97b30e0451","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"_postman_id":"a7bf3592-2c9b-422a-8142-a29e991921a6"},{"name":"PayIn API","item":[{"name":"Purchases","id":"7c8cc3fd-5551-4cc1-9a95-1e716d090dc2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"customer@example.com\",\n        \"country\": \"BE\",\n        \"city\": \"Brussels\",\n        \"stateCode\": \"BRU\",\n        \"street_address\": \"Rue de la Loi 16\",\n        \"zip_code\": \"1000\",\n        \"full_name\": \"Jan Peeters\",\n        \"phone\": \"+32 470 12 34 56\",\n        \"date_of_birth\": \"1990-04-12\"\n    },\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": \"1.00\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"BANCONTACT\",\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"ORDER-10245\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases/","description":"<p>To initiate a Bancontact payment, the very first call to make is <code>/purchases</code>. It registers the purchase against your brand and returns the full purchase object, including the <code>checkout_url</code> you redirect the customer to. The response arrives with <code>status</code> = <code>CREATED</code>; the payment itself has not happened yet.</p>\n<p><code>paymentMethod</code> must be <code>BANCONTACT</code> (uppercase) and <code>purchase.currency</code> must be <code>EUR</code>. You do not send card details, a QR payload, or any authentication data — the hosted page handles the customer's chosen path.</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\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>paymentMethod</td>\n<td>Mandatory. <br />Must be <code>BANCONTACT</code> (uppercase) to route the purchase to Bancontact.</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Mandatory. <br />Identifies which of your brands the purchase belongs to. Can be located in the Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory. <br />ISO 4217 code. Must be <code>EUR</code> for Bancontact — any other currency is rejected.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory. <br />Description of the item shown to the customer. At least one product is required.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory. <br />Amount for this product as a string. Send it as a decimal with two places — EUR 1 → <code>1.00</code>, EUR 12.50 → <code>12.50</code>. Integers such as <code>1</code> are accepted and interpreted as <code>1.00</code>.</td>\n</tr>\n<tr>\n<td>merchantRef</td>\n<td>Optional. <br />Strongly recommended. Your own order or invoice reference. See <strong>Essential Optional Parameters</strong> below for why you want it. If omitted, Paysecure generates one and returns it.</td>\n</tr>\n<tr>\n<td>client.email</td>\n<td>Conditional. <br />Not used by Bancontact itself, but strongly recommended: it is how the purchase is traced in the Dashboard and how the receipt is sent. Pass a correct email address.</td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>Mandatory. <br />ISO 3166-1 alpha-2 code. Must be <code>BE</code> for Bancontact.</td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td>Conditional. <br />Recommended for reconciliation and fraud screening. Not matched against the cardholder name by Bancontact.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>Optional. <br />Include the country dialling code. Used for support and fraud screening, not for the payment itself.</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>Optional. <br />Billing city. Plays no part in the authorisation.</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Optional. <br />Region/province code for the billing address. Belgium has no state requirement for Bancontact; pass it only if you hold the value.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td>Optional. <br />Billing street address. Plays no part in the authorisation.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>Optional. <br />Billing postcode. Plays no part in the authorisation.</td>\n</tr>\n<tr>\n<td>client.date_of_birth</td>\n<td>Optional. <br /><code>YYYY-MM-DD</code>. Used for fraud screening where your profile is configured for it.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory. <br />Browser URL the customer is returned to after a successful payment. Never fulfil an order on this redirect alone — confirm server-side.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Optional. <br />Browser URL the customer is returned to while the outcome is still settling. If omitted, the customer is sent to <code>success_redirect</code>.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory. <br />Browser URL the customer is returned to if the payment fails or they cancel on the hosted page.</td>\n</tr>\n<tr>\n<td>success_callback</td>\n<td>Mandatory. <br />Server-to-server webhook URL for non-failure events — <code>paid</code>, <code>refunded</code>, and <code>payment_in_process</code> where intermediate notifications are enabled on your profile. Must be HTTPS and publicly reachable. This is the authoritative notification of the outcome.</td>\n</tr>\n<tr>\n<td>failure_callback</td>\n<td>Mandatory. <br />Server-to-server webhook URL for failure events — <code>error</code> and <code>expired</code>. Must be HTTPS and publicly reachable.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"essential-optional-parameters\">Essential Optional Parameters</h2>\n<p><code>merchantRef</code> is your own reference for the transaction, and passing it is strongly recommended:</p>\n<ul>\n<li><strong>Duplicate prevention</strong> — if the same <code>merchantRef</code> is submitted twice, the duplicate purchase is rejected rather than double-charging your customer. This matters most on retries after a network timeout, where you cannot tell whether the first call landed.</li>\n<li><strong>Transaction retrieval</strong> — you can look a purchase up by your own order or invoice number in the Dashboard and in reporting, without having to store and index Paysecure's <code>purchaseId</code> first.</li>\n</ul>\n<h2 id=\"response\">Response</h2>\n<p>The API echoes the complete purchase object. For a Bancontact create-purchase the fields that drive your next step are:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>What to do with it</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>purchaseId</code></td>\n<td>Store it against your order. It is the key for <code>GET /purchases/{purchaseId}/</code>, for refunds, and for matching webhooks.</td>\n</tr>\n<tr>\n<td><code>checkout_url</code></td>\n<td>Redirect the customer's browser here. This is the hosted page that shows the Bancontact QR code and the card-entry option. Use the returned value as-is.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td><code>CREATED</code> at this point. The payment has not been made yet.</td>\n</tr>\n<tr>\n<td><code>status_history</code></td>\n<td>Lowercase statuses with Unix timestamps — the audit trail of the purchase.</td>\n</tr>\n<tr>\n<td><code>refund_availability</code></td>\n<td><code>NONE</code> until the purchase is paid; it becomes <code>FULL_ONLY</code> once <code>status</code> is <code>PAID</code>.</td>\n</tr>\n<tr>\n<td><code>merchantRef</code></td>\n<td>Your reference, echoed back, or the one Paysecure generated if you did not send one.</td>\n</tr>\n</tbody>\n</table>\n</div><p>There is no Bancontact-specific payload object in the response: the QR code is rendered by the hosted page, so you are not handed a raw payload to render yourself.</p>\n<p>Note that <code>purchase.products.price</code> is returned as a number (<code>1</code>) even when it was submitted as a string (<code>\"1.00\"</code>), and monetary fields on <code>payment</code> are numbers throughout.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"4b9cb7a5-c684-446a-8e10-c89fb250c5bc","id":"4b9cb7a5-c684-446a-8e10-c89fb250c5bc","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"66d1a5c2-cbaf-4b73-a4d7-fdea703c9bdf","name":"Purchase - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"customer@example.com\",\n        \"country\": \"BE\",\n        \"city\": \"Brussels\",\n        \"stateCode\": \"BRU\",\n        \"street_address\": \"Rue de la Loi 16\",\n        \"zip_code\": \"1000\",\n        \"full_name\": \"Jan Peeters\",\n        \"phone\": \"+32 470 12 34 56\",\n        \"date_of_birth\": \"1990-04-12\"\n    },\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": \"1.00\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"BANCONTACT\",\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"ORDER-10245\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"68b2a71e4c8d95f30b17ea62\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"customer@example.com\",\n        \"phone\": \"+32 470 12 34 56\",\n        \"full_name\": \"Jan Peeters\",\n        \"date_of_birth\": \"1990-04-12\",\n        \"personal_code\": \"\",\n        \"street_address\": \"Rue de la Loi 16\",\n        \"country\": \"BE\",\n        \"city\": \"Brussels\",\n        \"zip_code\": \"1000\",\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\": \"BRU\"\n    },\n    \"updated_on\": 1785931200,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785931200,\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\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        \"request_client_details\": [],\n        \"timezone\": \"Europe/Brussels\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 1,\n        \"currency\": \"EUR\",\n        \"net_amount\": 0,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": null,\n        \"remote_paid_on\": null\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\": \"Example Store BV\",\n        \"brand_name\": \"Example Store\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"BANCONTACT\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"\",\n        \"attempts\": []\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785931200\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785931231\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1785931244\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1785931252\n        }\n    ],\n    \"viewedOn\": null,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"ORDER-10245\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS41318\",\n    \"issued\": \"2026-08-05\",\n    \"due\": 1785931200,\n    \"refund_upto\": 1801483200,\n    \"cc_descriptor\": \"EXAMPLE STORE\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.48\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/68b2a71e4c8d95f30b17ea62/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/68b2a71e4c8d95f30b17ea62/\"\n}"},{"id":"423c9821-f090-474e-83d1-a71b04aaac6a","name":"Purchase - Error (Brand not found)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"customer@example.com\",\n        \"country\": \"BE\",\n        \"city\": \"Brussels\",\n        \"stateCode\": \"BRU\",\n        \"street_address\": \"Rue de la Loi 16\",\n        \"zip_code\": \"1000\",\n        \"full_name\": \"Jan Peeters\",\n        \"phone\": \"+32 470 12 34 56\",\n        \"date_of_birth\": \"1990-04-12\"\n    },\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": \"1.00\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"BANCONTACT\",\n    \"brand_id\": \"invalid-brand-id\",\n    \"merchantRef\": \"ORDER-10245\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Brand not found\",\n    \"code\": \"transaction_error\"\n}"},{"id":"3a4ecb2b-588a-4e12-9861-75c173b18e9a","name":"Purchase - Error (Currency not supported)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"customer@example.com\",\n        \"country\": \"BE\",\n        \"city\": \"Brussels\",\n        \"stateCode\": \"BRU\",\n        \"street_address\": \"Rue de la Loi 16\",\n        \"zip_code\": \"1000\",\n        \"full_name\": \"Jan Peeters\",\n        \"phone\": \"+32 470 12 34 56\",\n        \"date_of_birth\": \"1990-04-12\"\n    },\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": \"1.00\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"BANCONTACT\",\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"ORDER-10245\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Payment method BANCONTACT is not available for currency USD\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"7c8cc3fd-5551-4cc1-9a95-1e716d090dc2"},{"name":"Get Status","id":"bbd32713-56ea-4846-a918-c567fd05d020","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/","description":"<p>Use this call to read the current state of a Bancontact purchase. It returns the same complete purchase object as the create call, with <code>status</code>, <code>status_history</code> and the <code>payment</code> block updated to reflect reality.</p>\n<p>Call it when you receive a webhook (to confirm the state from the source rather than trusting the payload alone), when a customer returns to your <code>success_redirect</code>, and during end-of-day reconciliation. Do not poll it in a tight loop as a substitute for handling webhooks — for a purchase awaiting customer action, once every 30–60 seconds until the expiry window closes is ample.</p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\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>purchaseId</td>\n<td>Mandatory. <br />The <code>purchaseId</code> returned by <code>POST /purchases/</code>. Path parameter, e.g. <code>https://api.paysecure.net/api/v1/purchases/68b2a71e4c8d95f30b17ea62/</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"status-values-for-bancontact\">Status values for Bancontact</h2>\n<p>Top-level <code>status</code> is uppercase; the entries in <code>status_history</code> are lowercase with Unix timestamps.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Meaning</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>CREATED</code></td>\n<td>Purchase registered, <code>checkout_url</code> issued, customer has not paid yet</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>PENDING_EXECUTE</code></td>\n<td>Customer has landed on the hosted page and started the payment</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>PAYMENT_IN_PROCESS</code></td>\n<td>Customer confirmed, awaiting the bank's authorisation</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>PAID</code></td>\n<td>Authorisation confirmed — safe to fulfil the order</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>EXPIRED</code></td>\n<td>Customer did not confirm within the expiry window</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>ERROR</code></td>\n<td>Payment failed, was declined, or was cancelled by the customer</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>REFUNDED</code></td>\n<td>The full amount was refunded to the customer</td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><p><code>status_history</code> can also contain informational entries that never appear as a top-level <code>status</code> — most commonly <code>viewed</code>, recorded when the purchase or receipt page was opened. Ignore these when driving your state machine: they carry no payment meaning, and an unrecognised entry in <code>status_history</code> must not break your parser.</p>\n<p>Fulfil only on <code>PAID</code>. Treat <code>EXPIRED</code> and <code>ERROR</code> as final for that <code>purchaseId</code> — to let the customer try again, create a new purchase.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"4b9cb7a5-c684-446a-8e10-c89fb250c5bc","id":"4b9cb7a5-c684-446a-8e10-c89fb250c5bc","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"6867ecfa-7a9f-4934-997e-eee54d954d8a","name":"Get Status - Success (Paid)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"68b2a71e4c8d95f30b17ea62\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"customer@example.com\",\n        \"phone\": \"+32 470 12 34 56\",\n        \"full_name\": \"Jan Peeters\",\n        \"date_of_birth\": \"1990-04-12\",\n        \"personal_code\": \"\",\n        \"street_address\": \"Rue de la Loi 16\",\n        \"country\": \"BE\",\n        \"city\": \"Brussels\",\n        \"zip_code\": \"1000\",\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\": \"BRU\"\n    },\n    \"updated_on\": 1785931396,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785931200,\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\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        \"request_client_details\": [],\n        \"timezone\": \"Europe/Brussels\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 1,\n        \"currency\": \"EUR\",\n        \"net_amount\": 1,\n        \"fee_amount\": 0.03,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1785931252,\n        \"remote_paid_on\": 1785931252\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\": \"Example Store BV\",\n        \"brand_name\": \"Example Store\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"BANCONTACT\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"BE\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.48\",\n                \"type\": \"execute\",\n                \"payment_method\": \"BANCONTACT\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"BE\",\n                \"processing_time\": 1785931252,\n                \"extra\": {}\n            }\n        ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785931200\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785931231\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1785931244\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1785931252\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1785931396\n        }\n    ],\n    \"viewedOn\": 1785931396,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"ORDER-10245\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS41318\",\n    \"issued\": \"2026-08-05\",\n    \"due\": 1785931200,\n    \"refund_upto\": 1801483200,\n    \"cc_descriptor\": \"EXAMPLE STORE\",\n    \"refund_availability\": \"FULL_ONLY\",\n    \"refundable_amount\": 1,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.48\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/68b2a71e4c8d95f30b17ea62/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/68b2a71e4c8d95f30b17ea62/\"\n}"},{"id":"00fa00c2-bbc6-4f55-b28b-2d3fc879cd97","name":"Get Status - Error (Purchase not found)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Purchase not found\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"bbd32713-56ea-4846-a918-c567fd05d020"},{"name":"Refund","id":"eab13196-c99e-4fe3-a736-ffaf40243ff9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund/","description":"<p>Returns the full purchase amount to the customer, credited back to the Bancontact account or card used for the original payment.</p>\n<p>Only a purchase whose <code>status</code> is <code>PAID</code> can be refunded, and only within the window shown by <code>refund_upto</code> on the purchase object. Read <code>refund_availability</code> before calling: for a paid Bancontact purchase it reads <code>FULL_ONLY</code>, which means the whole amount or nothing — <strong>Bancontact does not support partial refunds on this integration</strong>. No request body is required; the full <code>refundable_amount</code> is returned.</p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\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>purchaseId</td>\n<td>Mandatory. <br />The <code>purchaseId</code> of the paid purchase to refund. Path parameter, e.g. <code>https://api.paysecure.net/api/v1/purchases/68b2a71e4c8d95f30b17ea62/refund/</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<p>The complete purchase object is returned with <code>status</code> = <code>REFUNDED</code>, a <code>refunded</code> entry appended to <code>status_history</code>, <code>refund_availability</code> back to <code>NONE</code> and <code>refundable_amount</code> at <code>0</code>. A <code>refunded</code> webhook is also delivered to your <code>success_callback</code>.</p>\n<p>The customer's bank may take one to a few business days to show the credit. Treat the <code>REFUNDED</code> status as confirmation that Paysecure has released the refund, not that it has already appeared on the customer's statement.</p>\n<p>Common reasons a refund is rejected:</p>\n<ul>\n<li>The purchase is not <code>PAID</code> (for example still <code>CREATED</code>, or <code>EXPIRED</code>).</li>\n<li>The refund window has passed — compare against <code>refund_upto</code>.</li>\n<li>The purchase has already been refunded, so <code>refundable_amount</code> is <code>0</code>.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"4b9cb7a5-c684-446a-8e10-c89fb250c5bc","id":"4b9cb7a5-c684-446a-8e10-c89fb250c5bc","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}","refund",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"fce8f9e5-8270-481d-b858-f9c3f7f3ec3a","name":"Refund - Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"68b2a71e4c8d95f30b17ea62\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"customer@example.com\",\n        \"phone\": \"+32 470 12 34 56\",\n        \"full_name\": \"Jan Peeters\",\n        \"date_of_birth\": \"1990-04-12\",\n        \"personal_code\": \"\",\n        \"street_address\": \"Rue de la Loi 16\",\n        \"country\": \"BE\",\n        \"city\": \"Brussels\",\n        \"zip_code\": \"1000\",\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\": \"BRU\"\n    },\n    \"updated_on\": 1786023007,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785931200,\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\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        \"request_client_details\": [],\n        \"timezone\": \"Europe/Brussels\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 1,\n        \"currency\": \"EUR\",\n        \"net_amount\": 1,\n        \"fee_amount\": 0.03,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1785931252,\n        \"remote_paid_on\": 1785931252\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\": \"Example Store BV\",\n        \"brand_name\": \"Example Store\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"BANCONTACT\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"BE\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.48\",\n                \"type\": \"execute\",\n                \"payment_method\": \"BANCONTACT\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"BE\",\n                \"processing_time\": 1785931252,\n                \"extra\": {}\n            }\n        ]\n    },\n    \"status\": \"REFUNDED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785931200\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785931231\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1785931244\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1785931252\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1785931396\n        },\n        {\n            \"status\": \"refunded\",\n            \"timestamp\": 1786023007\n        }\n    ],\n    \"viewedOn\": 1785931396,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"ORDER-10245\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS41318\",\n    \"issued\": \"2026-08-05\",\n    \"due\": 1785931200,\n    \"refund_upto\": 1801483200,\n    \"cc_descriptor\": \"EXAMPLE STORE\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.48\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/68b2a71e4c8d95f30b17ea62/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/68b2a71e4c8d95f30b17ea62/\"\n}"},{"id":"2e5f43c5-f8a7-43e0-9337-b5b987fc8d66","name":"Refund - Error (Not refundable)","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Refund is not available for this purchase\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"eab13196-c99e-4fe3-a736-ffaf40243ff9"}],"id":"4b9cb7a5-c684-446a-8e10-c89fb250c5bc","description":"<p>The Bancontact PayIn integration is Paysecure's standard <code>/purchases</code> contract with <code>paymentMethod</code> set to <code>BANCONTACT</code>. There is no Bancontact-specific request object and no method-specific payload in the response — everything the customer needs, QR code included, is served by the <code>checkout_url</code> that Paysecure returns.</p>\n<p>Two calls cover the integration, with a third for refunds:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Request</strong></th>\n<th><strong>Endpoint</strong></th>\n<th><strong>Purpose</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Purchases</td>\n<td><code>POST https://api.paysecure.net/api/v1/purchases/</code></td>\n<td>Create the purchase and get the <code>checkout_url</code> to redirect the customer to</td>\n</tr>\n<tr>\n<td>Get Status</td>\n<td><code>GET https://api.paysecure.net/api/v1/purchases/{purchaseId}/</code></td>\n<td>Read the current state of a purchase (reconciliation, webhook verification)</td>\n</tr>\n<tr>\n<td>Refund</td>\n<td><code>POST https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund/</code></td>\n<td>Return the full amount to the customer</td>\n</tr>\n</tbody>\n</table>\n</div><p>Your <code>Brand ID</code> and <code>API key</code> can be located in the Dashboard section of your merchant account login. Authenticate every call with <code>Authorization: Bearer {{APIKey}}</code>.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"fafe43a8-2e85-4a1f-9387-bd515f3aadd2","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"8165601a-8dae-43a5-96bd-0fa32a4c907b","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"_postman_id":"4b9cb7a5-c684-446a-8e10-c89fb250c5bc"}],"id":"20748a16-3191-4c36-9e19-9def41b7b483","description":"<p>Bancontact is Belgium's domestic payment scheme and the payment method Belgian consumers reach for first — it is accepted essentially everywhere in the country and is the default expectation at a Belgian checkout. The customer authorises the payment either by scanning a QR code with the Bancontact app (also branded Payconiq) or by entering their Bancontact card details and confirming, so the authorisation is always strongly authenticated and you learn the outcome in real time.</p>\n<p>You never handle card data and you do not integrate 3-D Secure separately: the customer authenticates inside the Bancontact flow on the hosted page reached via <code>checkout_url</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Payment type</td>\n<td>Domestic debit scheme — QR-based app confirmation or Bancontact card entry</td>\n</tr>\n<tr>\n<td>Countries</td>\n<td>🇧🇪 Belgium</td>\n</tr>\n<tr>\n<td>Processing currency</td>\n<td>EUR</td>\n</tr>\n<tr>\n<td>PayIn</td>\n<td>✅</td>\n</tr>\n<tr>\n<td>PayOut</td>\n<td>❌ Not supported</td>\n</tr>\n<tr>\n<td>Refunds</td>\n<td>✅ Full refund only (no partial refunds)</td>\n</tr>\n<tr>\n<td>Recurring / MIT</td>\n<td>❌ Not supported on this endpoint</td>\n</tr>\n<tr>\n<td>Chargebacks</td>\n<td>⚠️ Limited — fraud claims rarely reach you because authentication is mandatory on every payment; non-fraud complaints are handled commercially (you refund). Confirm your dispute process with your Account Manager</td>\n</tr>\n<tr>\n<td>Customer flow</td>\n<td>Redirect to the hosted page → QR scan in the Bancontact app, or Bancontact card entry</td>\n</tr>\n<tr>\n<td>Payment confirmation</td>\n<td>Real-time — the <code>paid</code> webhook normally arrives within seconds of the customer confirming</td>\n</tr>\n<tr>\n<td>Transaction limits</td>\n<td>Set per merchant profile and additionally capped by the customer's issuing bank — contact your Account Manager</td>\n</tr>\n<tr>\n<td>Settlement</td>\n<td>T+1 in EUR (confirm your contracted cycle with your Account Manager)</td>\n</tr>\n<tr>\n<td><code>paymentMethod</code> enum</td>\n<td><code>BANCONTACT</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"91c0a7bf-7cb8-4221-8a86-6e20a318c985","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"8e78ae03-9702-4e46-af67-365145330db8","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"_postman_id":"20748a16-3191-4c36-9e19-9def41b7b483"},{"name":"🇦🇷 QR","item":[{"name":"Concepts","item":[],"id":"0ee56d7b-0935-44eb-8962-b395b60ca82f","description":"<h2 id=\"overview\">Overview</h2>\n<p>QR is Argentina's interoperable QR payment standard: a single QR code that a customer can scan with their own bank app or wallet, review, and approve as a transfer from their account. Because the standard is interoperable, you do not need to know or ask which app the customer uses — one QR works across participating banks and wallets.</p>\n<p>For your integration it behaves as a push payment. Paysecure registers the purchase, the hosted page renders the QR, and the customer initiates the transfer from their side. That means no chargebacks, but also that you cannot force the timing: the customer decides when to scan.</p>\n<img src=\"https://content.pstmn.io/18f13aee-34a8-4a49-82a2-3d6b6bbee752/cXJfYXJfcGF5aW5fZmxvdy5wbmc=\" width=\"1652\" height=\"1459\" />\n\n<h2 id=\"coverage--limits\">Coverage &amp; Limits</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Country</strong></th>\n<th><strong>Currency</strong></th>\n<th><strong>Minimum</strong></th>\n<th><strong>Maximum</strong></th>\n<th><strong>Expiry window</strong></th>\n<th><strong>Confirmation delay</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>🇦🇷 Argentina</td>\n<td>ARS</td>\n<td>Set per merchant profile</td>\n<td>Set per merchant profile, and additionally capped by the customer's own bank or wallet transfer limits</td>\n<td>Approximately 24 hours from creation of the purchase</td>\n<td>Real-time from the moment the customer confirms in their app</td>\n</tr>\n</tbody>\n</table>\n</div><p>Notes:</p>\n<ul>\n<li><p><strong>Currency is ARS only.</strong> A purchase sent with <code>paymentMethod</code> = <code>QR</code> and any other <code>purchase.currency</code> is rejected at creation.</p>\n</li>\n<li><p><strong>Country.</strong> Set <code>client.country</code> to <code>AR</code>. The customer's address fields play no part in the transfer — the customer authorises inside their own app.</p>\n</li>\n<li><p><strong>The 24-hour expiry is the defining characteristic of this method.</strong> The hosted page shows the customer a live countdown. Until that countdown reaches zero the purchase is payable, so your order must stay open and your stock reservation (if any) must survive it.</p>\n</li>\n<li><p><strong>Refund window.</strong> Refunds must be initiated within the period shown by <code>refund_upto</code> on the purchase object. Always read <code>refund_availability</code> and <code>refundable_amount</code> from the purchase rather than assuming.</p>\n</li>\n</ul>\n<h2 id=\"payin-flow\">PayIn Flow</h2>\n<h3 id=\"how-it-works\">How it works</h3>\n<p>You create a purchase with <code>paymentMethod</code> = <code>QR</code> and redirect the customer to the <code>checkout_url</code> returned in the response. The hosted page displays the QR code together with the amount in ARS and a countdown to expiry. The customer scans it with their bank app or wallet, confirms the transfer there, and Paysecure fires the <code>paid</code> webhook to your <code>success_callback</code> as soon as the transfer is confirmed.</p>\n<h3 id=\"flow\">Flow</h3>\n<ul>\n<li><p><strong>Merchant creates the purchase:</strong> call <code>POST https://api.paysecure.net/api/v1/purchases/</code> with <code>paymentMethod</code> = <code>QR</code>, <code>purchase.currency</code> = <code>ARS</code>, your <code>brand_id</code> and the redirect/callback URLs. The response is the full purchase object with <code>status</code> = <code>CREATED</code>.</p>\n</li>\n<li><p><strong>Merchant redirects the customer:</strong> send the customer's browser to the <code>checkout_url</code> from the response. Do not rebuild this URL yourself — always use the value returned by the API.</p>\n</li>\n<li><p><strong>Customer scans the QR:</strong> the hosted page shows the QR, the ARS amount and the remaining time. The customer opens their own bank app or wallet, scans, and reviews the transfer. Once the customer reaches the page, the purchase moves to <code>pending_execute</code>.</p>\n</li>\n<li><p><strong>Customer confirms in their app:</strong> the transfer is authorised inside the customer's app, not on your site or on the hosted page. At this point the purchase moves to <code>payment_in_process</code>.</p>\n</li>\n<li><p><strong>Paysecure confirms the payment:</strong> on receiving confirmation of the transfer, the purchase moves to <code>paid</code> and Paysecure POSTs the webhook to your <code>success_callback</code>.</p>\n</li>\n<li><p><strong>Merchant confirms server-side:</strong> the webhook — or a <code>GET https://api.paysecure.net/api/v1/purchases/{purchaseId}/</code> call — is the only authority on the outcome. Never fulfil an order on the strength of the browser landing on <code>success_redirect</code>.</p>\n</li>\n</ul>\n<h3 id=\"why-the-redirect-is-not-your-completion-signal\">Why the redirect is not your completion signal</h3>\n<p>With a 24-hour window, the browser redirect is best-effort, not a reliable event:</p>\n<ul>\n<li><p>The customer scans with a <strong>phone</strong> while the checkout sits in a <strong>desktop browser</strong>. The payment completes with nothing happening in that browser tab.</p>\n</li>\n<li><p>The customer closes the tab, then pays hours later. There is no browser session left to redirect.</p>\n</li>\n<li><p>The customer pays and then navigates away before the redirect fires.</p>\n</li>\n</ul>\n<p>In every one of those cases the payment is real and the webhook arrives. Build the completion path entirely around <code>success_callback</code> and <code>GET /purchases/{purchaseId}/</code>, and treat <code>success_redirect</code> purely as a nicer experience for the customers who happen to still be there. <code>pending_redirect</code> is the right landing page for a customer who returns to the browser while the purchase is still awaiting confirmation.</p>\n<h3 id=\"unhappy-paths-your-integration-must-handle\">Unhappy paths your integration must handle</h3>\n<ul>\n<li><p><strong>Customer never scans</strong> → the purchase stays <code>CREATED</code>, or <code>PENDING_EXECUTE</code> if they reached the page, for up to ~24 hours, then becomes terminal and unpayable. No webhook fires at the moment of abandonment — the <code>expired</code> webhook is what tells you.</p>\n</li>\n<li><p><strong>Customer scans but does not confirm in their app</strong> → the purchase stays <code>PENDING_EXECUTE</code> and runs to expiry. Note too that even <code>payment_in_process</code> is not a guarantee of payment — it is non-terminal and can still end in <code>expired</code> or <code>error</code>.</p>\n</li>\n<li><p><strong>Customer's bank or wallet rejects the transfer</strong> (insufficient balance, transfer limit reached) → the purchase moves to <code>error</code> and, if the customer is still on the hosted page, they are returned to <code>failure_redirect</code>.</p>\n</li>\n<li><p><strong>Customer pays after your own order timeout</strong> → this is the failure mode most likely to bite you. If you cancel your order at 30 minutes but the purchase is payable for 24 hours, you will receive a <code>paid</code> webhook for an order you already cancelled. Either keep the order open for the full window or refund promptly on the late <code>paid</code>.</p>\n</li>\n<li><p><strong>Expired QR</strong> → the <code>checkout_url</code> stops accepting payment. Create a new purchase to let the customer retry; never reuse an expired <code>purchaseId</code>.</p>\n</li>\n</ul>\n<h2 id=\"webhook-events-for-qr\">Webhook Events for QR</h2>\n<p>Non-failure events are delivered to <code>success_callback</code>, failure events to <code>failure_callback</code>. Two lifecycle statuses produce no webhook at all — they are visible only on the purchase object.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Event</strong></th>\n<th><strong>Status</strong></th>\n<th><strong>When it fires</strong></th>\n<th><strong>Delivered to</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>purchase created</td>\n<td><code>created</code></td>\n<td>Purchase registered, QR issued, awaiting the customer</td>\n<td>No webhook — returned synchronously in the create response</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>payment started</td>\n<td><code>pending_execute</code></td>\n<td>Customer reached the hosted page and the QR was displayed</td>\n<td>No webhook — read via Get Status</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>payment in process</td>\n<td><code>payment_in_process</code></td>\n<td>Customer confirmed in their app, awaiting confirmation of the transfer</td>\n<td><code>success_callback</code>, where intermediate notifications are enabled on your profile</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>purchase paid</td>\n<td><code>paid</code></td>\n<td>Transfer confirmed — safe to fulfil</td>\n<td><code>success_callback</code></td>\n<td>✅</td>\n</tr>\n<tr>\n<td>purchase expired</td>\n<td><code>expired</code></td>\n<td>The ~24-hour window closed without payment</td>\n<td><code>failure_callback</code></td>\n<td>✅</td>\n</tr>\n<tr>\n<td>purchase error</td>\n<td><code>error</code></td>\n<td>The transfer failed or was rejected by the customer's bank or wallet</td>\n<td><code>failure_callback</code></td>\n<td>✅</td>\n</tr>\n<tr>\n<td>purchase refunded</td>\n<td><code>refunded</code></td>\n<td>A full refund was processed back to the customer</td>\n<td><code>success_callback</code></td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><p>For the webhook payload shape, retry behaviour and signature verification, see the <strong>🔌 Webhooks</strong> section of these docs — it is not duplicated here.</p>\n<p>Three rules that save integration time on this method specifically:</p>\n<ul>\n<li><p><strong>Be idempotent.</strong> A webhook can be delivered more than once for the same status. Key your handler on <code>purchaseId</code> plus <code>status</code>.</p>\n</li>\n<li><p><strong>Do not rely on ordering.</strong> Always re-read <code>status</code> from the payload rather than inferring it from which handler was hit.</p>\n</li>\n<li><p><strong>Accept late webhooks.</strong> A <code>paid</code> webhook arriving 20 hours after the purchase was created is normal here, not an anomaly. Your handler must still work at that point — do not expire the purchase in your own database before the window closes.</p>\n</li>\n</ul>\n<h2 id=\"faqs\">FAQs</h2>\n<p><strong>Which apps can the customer pay with?</strong><br />Any Argentine bank app or wallet that supports the interoperable QR standard. That is the point of interoperability: you display one QR and the customer uses whatever they already have. The exact acceptance set depends on the underlying provider — confirm the current list with your Account Manager if you want to name specific apps in your own checkout copy.</p>\n<p><strong>Can I render the QR myself instead of redirecting?</strong><br />Not with this integration. The QR is rendered by the hosted page reached via <code>checkout_url</code>, and the response does not return a raw QR payload. If you need to display the QR natively in your own app, raise it with your Account Manager.</p>\n<p><strong>How long is the QR valid?</strong><br />Approximately 24 hours. The hosted page shows the customer a live countdown. This is much longer than card or European bank-redirect methods, and it is the single most important thing to account for in your order lifecycle.</p>\n<p><strong>Can QR be charged in a currency other than ARS?</strong><br />No. The method settles in ARS and a purchase in any other currency is rejected at creation. If you price in another currency, convert to ARS before calling <code>/purchases/</code>.</p>\n<p><strong>Can I take recurring payments with QR?</strong><br />No. Each purchase generates its own QR, which the customer must scan and approve. There is no stored credential or mandate to reuse.</p>\n<p><strong>Can a QR payment be charged back?</strong><br />No. The customer initiates and approves the transfer from their own account, so there is no card-style chargeback right. Disputes are handled commercially — you refund the customer.</p>\n<p><strong>Can I partially refund a QR payment?</strong><br />No. This integration supports full refunds only; <code>refund_availability</code> on a paid QR purchase reads <code>FULL_ONLY</code>.</p>\n<p><strong>What should I show the customer while I wait?</strong><br />A pending state, not a failure. Land returning customers on <code>pending_redirect</code> and tell them the payment can take up to 24 hours to be completed if they have not scanned yet. Send the order-confirmation email on the <code>paid</code> webhook, not on the redirect.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"4f05ce58-ca68-4f98-8caa-84a46ed86389","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"73fe1c1d-a42c-42a1-8923-de3e748af8f5","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"_postman_id":"0ee56d7b-0935-44eb-8962-b395b60ca82f"},{"name":"PayIn API","item":[{"name":"Purchases","id":"e819cfe8-4433-4397-aa8e-822712bfee70","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"customer@example.com\",\n        \"country\": \"AR\",\n        \"city\": \"Buenos Aires\",\n        \"stateCode\": \"C\",\n        \"street_address\": \"Av. Corrientes 1234\",\n        \"zip_code\": \"C1043AAZ\",\n        \"phone\": \"+54 11 4321 1234\",\n        \"date_of_birth\": \"1990-04-12\"\n    },\n    \"purchase\": {\n        \"currency\": \"ARS\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": 520\n            }\n        ]\n    },\n    \"paymentMethod\": \"QR\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"IsCryptoPurchase\": \"No\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/","description":"<p>To initiate a QR payment, the very first call to make is <code>/purchases</code>. It registers the purchase against your brand and returns the full purchase object, including the <code>checkout_url</code> that displays the QR to the customer. The response arrives with <code>status</code> = <code>CREATED</code>; the customer has not paid yet, and may not for hours.</p>\n<p><code>paymentMethod</code> must be <code>QR</code> (uppercase) and <code>purchase.currency</code> must be <code>ARS</code>. You do not send a wallet, bank or issuer selection — one interoperable QR serves every participating app.</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\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>paymentMethod</td>\n<td>Mandatory.  <br />Must be <code>QR</code> (uppercase) to route the purchase to Argentina's interoperable QR.</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Mandatory.  <br />Identifies which of your brands the purchase belongs to. Can be located in the Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory.  <br />ISO 4217 code. Must be <code>ARS</code> for QR — any other currency is rejected.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory.  <br />Description of the item shown to the customer. At least one product is required.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory.  <br />Amount for this product. Accepted as either a number (<code>520</code>) or a string (<code>\"520.00\"</code>); where you have centavos, send a decimal with two places — ARS 520.50 → <code>520.50</code>. The amount the customer sees on the QR page is this value formatted in ARS.</td>\n</tr>\n<tr>\n<td>client.email</td>\n<td>Conditional.  <br />Not used by the QR transfer itself, but strongly recommended: it is how the purchase is traced in the Dashboard and how the receipt is sent. Pass a correct email address.</td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>Mandatory.  <br />ISO 3166-1 alpha-2 code. Set it to <code>AR</code> for Argentine QR purchases.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>Optional.  <br />Recommended with the country dialling code (<code>+54</code>). Used for support and fraud screening, not for the transfer itself.</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>Optional.  <br />Billing city. Plays no part in the transfer.</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Optional.  <br />ISO 3166-2 subdivision code for the billing address — <code>C</code> for the Autonomous City of Buenos Aires, <code>B</code> for Buenos Aires Province. Pass it only if you hold the value.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td>Optional.  <br />Billing street address. Plays no part in the transfer.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>Optional.  <br />Billing postcode. Plays no part in the transfer.</td>\n</tr>\n<tr>\n<td>client.date_of_birth</td>\n<td>Optional.  <br /><code>YYYY-MM-DD</code>, and a real date in the past. Used for fraud screening where your profile is configured for it.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory.  <br />Browser URL the customer is returned to after a successful payment — <strong>if their browser session is still open.</strong> With a ~24-hour window it often is not. Never fulfil an order on this redirect alone.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Optional.  <br />Browser URL the customer is returned to while the purchase is still awaiting confirmation. If omitted, the customer is sent to <code>success_redirect</code>. On this method it is the most likely landing page of the three, so give it a real pending page rather than reusing your success page.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory.  <br />Browser URL the customer is returned to if the transfer fails or is rejected.</td>\n</tr>\n<tr>\n<td>success_callback</td>\n<td>Mandatory.  <br />Server-to-server webhook URL for non-failure events — <code>paid</code>, <code>refunded</code>, and <code>payment_in_process</code> where intermediate notifications are enabled on your profile. Must be HTTPS and publicly reachable. On this method it is not just the authoritative notification, it is usually the <em>only</em> notification you will get.</td>\n</tr>\n<tr>\n<td>failure_callback</td>\n<td>Mandatory.  <br />Server-to-server webhook URL for failure events — <code>error</code> and <code>expired</code>. Must be HTTPS and publicly reachable.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"essential-optional-parameters\">Essential Optional Parameters</h2>\n<p><code>merchantRef</code> is your own reference for the transaction, and passing it is strongly recommended:</p>\n<ul>\n<li><p><strong>Duplicate prevention</strong> — if the same <code>merchantRef</code> is submitted twice, the duplicate purchase is rejected rather than creating a second QR for the same order. This matters most on retries after a network timeout, where you cannot tell whether the first call landed.</p>\n</li>\n<li><p><strong>Transaction retrieval</strong> — you can look a purchase up by your own order or invoice number in the Dashboard and in reporting, without having to store and index Paysecure's <code>purchaseId</code> first.</p>\n</li>\n</ul>\n<p>If you do not send <code>merchantRef</code>, Paysecure generates one and returns it on the purchase object.</p>\n<h2 id=\"response\">Response</h2>\n<p>The API echoes the complete purchase object. For a QR create-purchase the fields that drive your next step are:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>What to do with it</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>purchaseId</code></td>\n<td>Store it against your order. It is the key for <code>GET /purchases/{purchaseId}/</code>, for refunds, and for matching webhooks — including one that may arrive a day later.</td>\n</tr>\n<tr>\n<td><code>checkout_url</code></td>\n<td>Redirect the customer's browser here. This is the hosted page that renders the QR, the ARS amount and the expiry countdown. Use the returned value as-is.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td><code>CREATED</code> at this point. Nothing has been paid.</td>\n</tr>\n<tr>\n<td><code>status_history</code></td>\n<td>Lowercase statuses with Unix timestamps — the audit trail of the purchase. On this method the gap between <code>pending_execute</code> and <code>payment_in_process</code> can be hours.</td>\n</tr>\n<tr>\n<td><code>refund_availability</code></td>\n<td><code>NONE</code> until the purchase is paid; it becomes <code>FULL_ONLY</code> once <code>status</code> is <code>PAID</code>.</td>\n</tr>\n<tr>\n<td><code>merchantRef</code></td>\n<td>Your reference, or the one Paysecure generated if you did not send one.</td>\n</tr>\n</tbody>\n</table>\n</div><p>There is no QR-specific payload object in the response — no raw QR string and no Base64 image. The QR is rendered by the hosted page, so <code>checkout_url</code> is the only thing you need to hand the customer.</p>\n<p>Note that monetary fields on <code>payment</code> and <code>purchase</code> are returned as numbers, and <code>purchase.products.price</code> comes back as a number (<code>520</code>) whichever type you submitted.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"162f0e01-9580-4c42-8fe1-733318db2b62","id":"162f0e01-9580-4c42-8fe1-733318db2b62","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"3b9c338f-2a6a-46a1-8e99-7b67d29e88d4","name":"Purchase - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"customer@example.com\",\n        \"country\": \"AR\",\n        \"city\": \"Buenos Aires\",\n        \"stateCode\": \"C\",\n        \"street_address\": \"Av. Corrientes 1234\",\n        \"zip_code\": \"C1043AAZ\",\n        \"phone\": \"+54 11 4321 1234\",\n        \"date_of_birth\": \"1990-04-12\"\n    },\n    \"purchase\": {\n        \"currency\": \"ARS\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": 520\n            }\n        ]\n    },\n    \"paymentMethod\": \"QR\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"IsCryptoPurchase\": \"No\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"68b3c58af1e2764b0d92ac41\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"customer@example.com\",\n        \"phone\": \"+54 11 4321 1234\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"1990-04-12\",\n        \"personal_code\": \"\",\n        \"street_address\": \"Av. Corrientes 1234\",\n        \"country\": \"AR\",\n        \"city\": \"Buenos Aires\",\n        \"zip_code\": \"C1043AAZ\",\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\": \"C\"\n    },\n    \"updated_on\": 1785931200,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785931200,\n    \"purchase\": {\n        \"currency\": \"ARS\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"quantity\": 1,\n                \"price\": 520,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 520,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 520,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Argentina/Buenos_Aires\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 520,\n        \"currency\": \"ARS\",\n        \"net_amount\": 0,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": null,\n        \"remote_paid_on\": null\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\": \"Example Store SA\",\n        \"brand_name\": \"Example Store\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"QR\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"\",\n        \"attempts\": []\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785931200\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785931218\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1785940212\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1785940220\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1785940400\n        }\n    ],\n    \"viewedOn\": null,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"c4e91a72-58bd-4f06-8b13-7ad2e95c1f34\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS41402\",\n    \"issued\": \"2026-08-05\",\n    \"due\": 1785931200,\n    \"refund_upto\": 1801483200,\n    \"cc_descriptor\": \"EXAMPLE STORE\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.48\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/68b3c58af1e2764b0d92ac41/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/68b3c58af1e2764b0d92ac41/\"\n}"},{"id":"d59fdc29-6682-4e00-b8e5-9355b17151d4","name":"Purchase - Error (Brand not found)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"customer@example.com\",\n        \"country\": \"AR\",\n        \"city\": \"Buenos Aires\",\n        \"stateCode\": \"C\",\n        \"street_address\": \"Av. Corrientes 1234\",\n        \"zip_code\": \"C1043AAZ\",\n        \"phone\": \"+54 11 4321 1234\",\n        \"date_of_birth\": \"1990-04-12\"\n    },\n    \"purchase\": {\n        \"currency\": \"ARS\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": 520\n            }\n        ]\n    },\n    \"paymentMethod\": \"QR\",\n    \"brand_id\": \"invalid-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"IsCryptoPurchase\": \"No\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Brand not found\",\n    \"code\": \"transaction_error\"\n}"},{"id":"80f98189-7bab-4463-ad42-0889f4192119","name":"Purchase - Error (Currency not supported)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"customer@example.com\",\n        \"country\": \"AR\",\n        \"city\": \"Buenos Aires\",\n        \"stateCode\": \"C\",\n        \"street_address\": \"Av. Corrientes 1234\",\n        \"zip_code\": \"C1043AAZ\",\n        \"phone\": \"+54 11 4321 1234\",\n        \"date_of_birth\": \"1990-04-12\"\n    },\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": 520\n            }\n        ]\n    },\n    \"paymentMethod\": \"QR\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"IsCryptoPurchase\": \"No\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Payment method QR is not available for currency USD\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"e819cfe8-4433-4397-aa8e-822712bfee70"},{"name":"Get Status","id":"e946568c-1707-4612-ae04-506def93771f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/","description":"<p>Use this call to read the current state of a QR purchase. It returns the same complete purchase object as the create call, with <code>status</code>, <code>status_history</code> and the <code>payment</code> block updated to reflect reality.</p>\n<p>Call it when you receive a webhook (to confirm the state from the source rather than trusting the payload alone), when a customer returns to your <code>pending_redirect</code> or <code>success_redirect</code>, and during end-of-day reconciliation.</p>\n<p>Polling cadence on this method is different from a card or European bank-redirect flow, because the window is ~24 hours rather than minutes:</p>\n<ul>\n<li>Do <strong>not</strong> poll every few seconds for a day. Handle the webhook, and use this call to confirm.</li>\n<li>A reasonable belt-and-braces pattern is a check a few minutes after creation, then every 15–30 minutes until the purchase reaches a terminal status or the window closes.</li>\n<li>Always reconcile any purchase still non-terminal after the window with one final call, so an order is never left indefinitely pending in your own database.</li>\n</ul>\n<h2 id=\"path-parameters\">Path Parameters</h2>\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>purchaseId</td>\n<td>Mandatory. <br />The <code>purchaseId</code> returned by <code>POST /purchases/</code>. Path parameter, e.g. <code>https://api.paysecure.net/api/v1/purchases/68b3c58af1e2764b0d92ac41/</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"status-values-for-qr\">Status values for QR</h2>\n<p>Top-level <code>status</code> is uppercase; the entries in <code>status_history</code> are lowercase with Unix timestamps.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Meaning</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>CREATED</code></td>\n<td>Purchase registered, QR issued, customer has not paid yet</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>PENDING_EXECUTE</code></td>\n<td>Customer has landed on the hosted page and the QR was displayed</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>PAYMENT_IN_PROCESS</code></td>\n<td>Customer confirmed in their app, awaiting confirmation of the transfer</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>PAID</code></td>\n<td>Transfer confirmed — safe to fulfil the order</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>EXPIRED</code></td>\n<td>The ~24-hour window closed without payment</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>ERROR</code></td>\n<td>The transfer failed or was rejected by the customer's bank or wallet</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>REFUNDED</code></td>\n<td>The full amount was refunded to the customer</td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><p><code>status_history</code> can also contain informational entries that never appear as a top-level <code>status</code> — most commonly <code>viewed</code>, recorded when the purchase or receipt page was opened. Ignore these when driving your state machine: they carry no payment meaning, and an unrecognised entry in <code>status_history</code> must not break your parser.</p>\n<p>Fulfil only on <code>PAID</code>. Treat <code>EXPIRED</code> and <code>ERROR</code> as final for that <code>purchaseId</code> — to let the customer try again, create a new purchase, which issues a new QR.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"162f0e01-9580-4c42-8fe1-733318db2b62","id":"162f0e01-9580-4c42-8fe1-733318db2b62","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"247e92c3-d709-4a9b-8a03-e75fd714a18b","name":"Get Status - Success (Paid)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"68b3c58af1e2764b0d92ac41\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"customer@example.com\",\n        \"phone\": \"+54 11 4321 1234\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"1990-04-12\",\n        \"personal_code\": \"\",\n        \"street_address\": \"Av. Corrientes 1234\",\n        \"country\": \"AR\",\n        \"city\": \"Buenos Aires\",\n        \"zip_code\": \"C1043AAZ\",\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\": \"C\"\n    },\n    \"updated_on\": 1785940400,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785931200,\n    \"purchase\": {\n        \"currency\": \"ARS\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"quantity\": 1,\n                \"price\": 520,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 520,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 520,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Argentina/Buenos_Aires\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 520,\n        \"currency\": \"ARS\",\n        \"net_amount\": 520,\n        \"fee_amount\": 15.6,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1785940220,\n        \"remote_paid_on\": 1785940220\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\": \"Example Store SA\",\n        \"brand_name\": \"Example Store\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"QR\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"AR\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.48\",\n                \"type\": \"execute\",\n                \"payment_method\": \"QR\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"AR\",\n                \"processing_time\": 1785940220,\n                \"extra\": {}\n            }\n        ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785931200\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785931218\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1785940212\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1785940220\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1785940400\n        }\n    ],\n    \"viewedOn\": 1785940400,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"c4e91a72-58bd-4f06-8b13-7ad2e95c1f34\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS41402\",\n    \"issued\": \"2026-08-05\",\n    \"due\": 1785931200,\n    \"refund_upto\": 1801483200,\n    \"cc_descriptor\": \"EXAMPLE STORE\",\n    \"refund_availability\": \"FULL_ONLY\",\n    \"refundable_amount\": 520,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.48\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/68b3c58af1e2764b0d92ac41/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/68b3c58af1e2764b0d92ac41/\"\n}"},{"id":"c52ba677-cfb0-428e-b55f-0ea8f57aa057","name":"Get Status - Error (Purchase not found)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Purchase not found\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"e946568c-1707-4612-ae04-506def93771f"},{"name":"Refund","id":"f7c82652-0648-4d01-baeb-31f0336f5fb2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund/","description":"<p>Returns the full purchase amount to the customer, credited back to the account the transfer came from.</p>\n<p>Only a purchase whose <code>status</code> is <code>PAID</code> can be refunded, and only within the window shown by <code>refund_upto</code> on the purchase object. Read <code>refund_availability</code> before calling: for a paid QR purchase it reads <code>FULL_ONLY</code>, which means the whole amount or nothing — <strong>partial refunds are not supported on this integration</strong>. No request body is required; the full <code>refundable_amount</code> is returned.</p>\n<p>This is also the endpoint you need for the late-payment case described in Concepts: if a customer pays after you have already cancelled the order on your side, refund promptly rather than leaving the funds unreconciled.</p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\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>purchaseId</td>\n<td>Mandatory.  <br />The <code>purchaseId</code> of the paid purchase to refund. Path parameter, e.g. <code>https://api.paysecure.net/api/v1/purchases/68b3c58af1e2764b0d92ac41/refund/</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<p>The complete purchase object is returned with <code>status</code> = <code>REFUNDED</code>, a <code>refunded</code> entry appended to <code>status_history</code>, <code>refund_availability</code> back to <code>NONE</code> and <code>refundable_amount</code> at <code>0</code>. A <code>refunded</code> webhook is also delivered to your <code>success_callback</code>.</p>\n<p>The customer's bank or wallet may take one to a few business days to show the credit. Treat the <code>REFUNDED</code> status as confirmation that Paysecure has released the refund, not that it has already appeared on the customer's statement.</p>\n<p>Common reasons a refund is rejected:</p>\n<ul>\n<li><p>The purchase is not <code>PAID</code> (for example still <code>CREATED</code>, or <code>EXPIRED</code>).</p>\n</li>\n<li><p>The refund window has passed — compare against <code>refund_upto</code>.</p>\n</li>\n<li><p>The purchase has already been refunded, so <code>refundable_amount</code> is <code>0</code>.</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"162f0e01-9580-4c42-8fe1-733318db2b62","id":"162f0e01-9580-4c42-8fe1-733318db2b62","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}","refund",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"757b0260-c183-48ee-87c8-462ab5cfb63d","name":"Refund - Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"68b3c58af1e2764b0d92ac41\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"customer@example.com\",\n        \"phone\": \"+54 11 4321 1234\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"1990-04-12\",\n        \"personal_code\": \"\",\n        \"street_address\": \"Av. Corrientes 1234\",\n        \"country\": \"AR\",\n        \"city\": \"Buenos Aires\",\n        \"zip_code\": \"C1043AAZ\",\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\": \"C\"\n    },\n    \"updated_on\": 1786026200,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785931200,\n    \"purchase\": {\n        \"currency\": \"ARS\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"quantity\": 1,\n                \"price\": 520,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 520,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 520,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Argentina/Buenos_Aires\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 520,\n        \"currency\": \"ARS\",\n        \"net_amount\": 520,\n        \"fee_amount\": 15.6,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1785940220,\n        \"remote_paid_on\": 1785940220\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\": \"Example Store SA\",\n        \"brand_name\": \"Example Store\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"QR\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"AR\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.48\",\n                \"type\": \"execute\",\n                \"payment_method\": \"QR\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"AR\",\n                \"processing_time\": 1785940220,\n                \"extra\": {}\n            }\n        ]\n    },\n    \"status\": \"REFUNDED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785931200\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785931218\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1785940212\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1785940220\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1785940400\n        },\n        {\n            \"status\": \"refunded\",\n            \"timestamp\": 1786026200\n        }\n    ],\n    \"viewedOn\": 1785940400,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"c4e91a72-58bd-4f06-8b13-7ad2e95c1f34\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS41402\",\n    \"issued\": \"2026-08-05\",\n    \"due\": 1785931200,\n    \"refund_upto\": 1801483200,\n    \"cc_descriptor\": \"EXAMPLE STORE\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.48\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/68b3c58af1e2764b0d92ac41/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/68b3c58af1e2764b0d92ac41/\"\n}"},{"id":"3f7ac294-c707-46d9-b7fa-b69eac543437","name":"Refund - Error (Not refundable)","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Refund is not available for this purchase\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"f7c82652-0648-4d01-baeb-31f0336f5fb2"}],"id":"162f0e01-9580-4c42-8fe1-733318db2b62","description":"<p>The QR PayIn integration is Paysecure's standard <code>/purchases</code> contract with <code>paymentMethod</code> set to <code>QR</code>, plus one method-specific request flag (<code>IsCryptoPurchase</code>). There is no QR-specific object in the response — the QR code itself is rendered by the hosted page reached via <code>checkout_url</code>.</p>\n<p>Two calls cover the integration, with a third for refunds:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Request</strong></th>\n<th><strong>Endpoint</strong></th>\n<th><strong>Purpose</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Purchases</td>\n<td><code>POST https://api.paysecure.net/api/v1/purchases/</code></td>\n<td>Create the purchase and get the <code>checkout_url</code> that displays the QR</td>\n</tr>\n<tr>\n<td>Get Status</td>\n<td><code>GET https://api.paysecure.net/api/v1/purchases/{purchaseId}/</code></td>\n<td>Read the current state of a purchase (reconciliation, webhook verification)</td>\n</tr>\n<tr>\n<td>Refund</td>\n<td><code>POST https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund/</code></td>\n<td>Return the full amount to the customer</td>\n</tr>\n</tbody>\n</table>\n</div><p>Your <code>Brand ID</code> and <code>API key</code> can be located in the Dashboard section of your merchant account login. Authenticate every call with <code>Authorization: Bearer {{APIKey}}</code>.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"22716c82-5538-4d20-8f13-afef11d994f6","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"ab2be69f-6f6c-4015-b174-c911e16d2271","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"_postman_id":"162f0e01-9580-4c42-8fe1-733318db2b62"}],"id":"93cb7e91-75cf-4f95-a103-1e5ad5df0b13","description":"<p>QR is Argentina's interoperable QR payment standard. You create a purchase, redirect the customer to the hosted page, and the customer scans the displayed QR code with their own bank app or wallet and confirms the transfer from their account. Funds are pushed by the customer, so there is no card-style chargeback exposure, and confirmation reaches you in real time.</p>\n<p>The one thing to design for up front: <strong>the QR stays valid for roughly 24 hours, not a few minutes.</strong> A customer can leave your checkout, close the browser, and pay from their phone hours later. Your integration must be webhook-driven and must keep the order open for the whole window — see the PayIn Flow section in Concepts.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Payment type</td>\n<td>Real-time bank transfer via interoperable QR (push payment)</td>\n</tr>\n<tr>\n<td>Countries</td>\n<td>🇦🇷 Argentina</td>\n</tr>\n<tr>\n<td>Processing currency</td>\n<td>ARS</td>\n</tr>\n<tr>\n<td>PayIn</td>\n<td>✅</td>\n</tr>\n<tr>\n<td>PayOut</td>\n<td>❌ Not supported</td>\n</tr>\n<tr>\n<td>Refunds</td>\n<td>✅ Full refund only (no partial refunds)</td>\n</tr>\n<tr>\n<td>Recurring / MIT</td>\n<td>❌ Not supported — each purchase generates its own QR</td>\n</tr>\n<tr>\n<td>Chargebacks</td>\n<td>❌ Not applicable — the customer pushes the transfer from their own account</td>\n</tr>\n<tr>\n<td>Customer flow</td>\n<td>Redirect to the hosted page → scan the QR with any Argentine bank app or wallet → confirm in that app</td>\n</tr>\n<tr>\n<td>Payment confirmation</td>\n<td>Real-time once the customer confirms — but the customer may confirm hours after checkout</td>\n</tr>\n<tr>\n<td>Expiry window</td>\n<td>Approximately 24 hours from creation of the purchase</td>\n</tr>\n<tr>\n<td>Transaction limits</td>\n<td>Set per merchant profile and additionally capped by the customer's own bank or wallet transfer limits — contact your Account Manager</td>\n</tr>\n<tr>\n<td>Settlement</td>\n<td>In ARS, per your contract — confirm the cycle with your Account Manager</td>\n</tr>\n<tr>\n<td><code>paymentMethod</code> enum</td>\n<td><code>QR</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"50926a18-bc37-4da5-97d1-08de674b13cb","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"bcd095e5-a440-4259-9369-3771ee9f138d","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"_postman_id":"93cb7e91-75cf-4f95-a103-1e5ad5df0b13"},{"name":"🌐 Paymint - Crypto Wallet","item":[{"name":"Concepts","item":[],"id":"82dd7576-f2df-4de5-b546-f5ee99d6f946","description":"<h3 id=\"customer-payment-flow\">Customer Payment Flow</h3>\n<p>1. Onboarding &amp; Wallet Creation</p>\n<ul>\n<li><p>Customer visits your site and selects a product/service.</p>\n</li>\n<li><p>At checkout, if the merchant has not pre-populated the email field, the system prompts the customer to input their email address.</p>\n</li>\n</ul>\n<p>2. Fiat Payment Initiation</p>\n<ul>\n<li><p>Customer selects a payment method and pays in fiat (currency shown on the checkout screen).</p>\n</li>\n<li><p>Paysecure monitors the transaction and, on successful payment, give success to merchant.</p>\n</li>\n<li><p>On the backend, we convert the amount to stablecoin (e.g., USDC).</p>\n</li>\n</ul>\n<p>3. Post Fiat-Payment Notification</p>\n<ul>\n<li>Merchant can track the transaction through webhooks or the Paysecure dashboard.</li>\n</ul>\n<p>4. Fiat to Crypto Conversion (Behind the scenes)</p>\n<ul>\n<li><p>The fiat amount is converted to crypto using Paysecure’s exchange integrations.</p>\n</li>\n<li><p>The converted crypto is credited to the customer’s wallet in real time.</p>\n</li>\n</ul>\n<p>5. Merchant Crypto Settlement</p>\n<ul>\n<li><p>The required amount is automatically transferred from the customer’s Paymint wallet to your merchant's Paymint wallet.</p>\n</li>\n<li><p>Both transactions (funding and transfer) are recorded in Paysecure’s ledger for compliance and traceability.</p>\n</li>\n</ul>\n<p>6. Wallet Management<br />Customer Dashboard Access Customers can manage their Paymint wallets through paymint.locker, where they can view wallet balance and transaction history.</p>\n<p>7. Wallet Security</p>\n<ul>\n<li><p>2FA verification for wallet access.</p>\n</li>\n<li><p>Ledger integrity checks for all transactions.</p>\n</li>\n</ul>\n<p>Wallet Recovery or Closure</p>\n<ul>\n<li>Customers can recover wallet access via OTP/email.</li>\n</ul>\n","_postman_id":"82dd7576-f2df-4de5-b546-f5ee99d6f946"},{"name":"Payin API","item":[{"name":"Purchases","id":"93997692-8eb3-45b6-84f6-1fec07eedd57","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user2308@example.com\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"city\": \"Milford\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"68403\",\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    \"extraParam\": {\r\n        \"IsCryptoPurchase\": \"yes\"\r\n    },\r\n    \"paymentMethod\": \"\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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>extraParam.IsCryptoPurchase</td>\n<td>for paymint, send \"Yes\"</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>pending_redirect</td>\n<td>URL to send the user if the transactions is in progress</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 Paysecure.</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 Paysecure'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 Paysecure and at customer's Bank, the merchant and Paysecure 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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure 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, Paysecure 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://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"db3a35c5-c9cd-4eaf-8375-9462376ef97c","name":"Purchase- success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user2308@example.com\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"city\": \"Milford\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"68403\",\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\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.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\":\"user5890@example.com\",\"phone\":\"+447755564318\",\"full_name\":\"Test test\",\"date_of_birth\":\"1970-07-10\",\"street_address\":\"13 Documentation Way\",\"country\":\"CA\",\"city\":\"Milford\",\"zip_code\":\"68403\",\"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\":\"Skyler Nakamurasinghal\",\"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\": \"203.0.113.80, 203.0.113.228, 203.0.113.208\",\"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\":\"your-brand-id\",\"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\":\"user9999@example.com\",\"secretQA\":\"66a8c78af1fc2f768304bce4\",\"secretAnswer\":\"ps8766a8af\"},\"paidOn\":0,\"receivedAmt\":0.0,\"refund_availability\":\"NONE\",\"refundable_amount\":0.0,\"success_redirect\":\"https://your.success.redirect.com\",\"failure_redirect\":\"https://your.failure.redirect.com\",\"cancel_redirect\":\"\",\"success_callback\":\"https://your.success.callback.com\",\"failure_callback\":\"https://your.failure.callback.com\",\"platform\":\"API\",\"created_from_ip\": \"203.0.113.80, 203.0.113.228, 203.0.113.208\",\"checkout_url\":\"https://api.paysecure.net/payments/67efd0ff97be603f97a3a697/\",\"payoutProcess\":false}"}],"_postman_id":"93997692-8eb3-45b6-84f6-1fec07eedd57"},{"name":"Get Status","id":"93a7da7f-6893-4cab-8a81-9bdb6c1b949e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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","urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"4e86c981-357a-48df-a79f-523d1e826967","name":"Purchases-success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.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\": \"user5890@example.com\",\n        \"phone\": \"+14377717874\",\n        \"full_name\": \"Test test\",\n        \"date_of_birth\": \"1970-07-10\",\n        \"street_address\": \"13 Documentation Way\",\n        \"country\": \"CA\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"68403\",\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\": \"Skyler Nakamurasinghal\",\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\": \"203.0.113.128, 203.0.113.179, 203.0.113.62\",\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\": \"your-brand-id\",\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\": \"user6989@example.com\",\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.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\": \"203.0.113.128, 203.0.113.179, 203.0.113.62\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6790e75fa46a5a5bb0b00e55/\",\n    \"payoutProcess\": false\n}"},{"id":"dfa81ea6-8157-4706-b03e-785f1f729ce5","name":"Purchases Error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"code":400,"_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":"93a7da7f-6893-4cab-8a81-9bdb6c1b949e"}],"id":"690b4996-9f7e-40df-bc1a-332418dc9402","description":"<p><strong>API Flow</strong></p>\n<ol>\n<li><p>The merchant initiates the purchase via the <code>/purchases</code> 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>If the \"paymentMethod\" is passed, the payment instructions are shared with the customer. The flow differs as per the payment method.</p>\n</li>\n<li><p>If the \"paymentMethod\" is not passed, the custoemr is redirected to Paysecure cashier and complet the 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 and the user would be redirected to the appropriate success or failure redirect URL.</p>\n</li>\n</ol>\n","_postman_id":"690b4996-9f7e-40df-bc1a-332418dc9402"}],"id":"a3d77595-893c-4f9f-ae39-05dce17513d5","description":"<h2 id=\"overview\">Overview</h2>\n<p>Paymint is a new payment method by Paysecure that allows your customers to pay in fiat while you receive funds directly in cryptocurrency, such as USDC. With Paymint, you can offer your customers a seamless payment experience in their local currency, while crypto conversion and settlement are handled in the background.<br />This guide explains the core concepts and outlines the API integration steps required to enable Paymint on your platform.</p>\n","_postman_id":"a3d77595-893c-4f9f-ae39-05dce17513d5"},{"name":"🌎 Neosurf - Voucher Payments","item":[{"name":"Concepts","item":[],"id":"139f2b2d-4b7c-4ec0-bbcf-7118e106582d","description":"<h2 id=\"1-what-is-a-neosurf-voucher\">1. What Is a Neosurf Voucher?</h2>\n<p>A <strong>Neosurf voucher</strong> is a prepaid payment instrument that lets users make online purchases without needing a bank account or credit card. Each voucher comes with a unique code (and sometimes a PIN) and is issued in fixed denominations. These vouchers are particularly popular for digital goods and services such as gaming, software, and entertainment.</p>\n<p><strong>Key Features:</strong></p>\n<ul>\n<li><p><strong>Prepaid &amp; Secure:</strong> Funds are preloaded, reducing fraud risk.</p>\n</li>\n<li><p><strong>Anonymous:</strong> No need to share personal banking details.</p>\n</li>\n<li><p><strong>Fixed Denominations:</strong> Typically available in preset values (e.g., €10, €20, €50).</p>\n</li>\n<li><p><strong>Instant Use:</strong> Once purchased, the voucher can be used immediately for online transactions.</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"2-how-can-a-customer-buy-a-neosurf-voucher\">2. How Can a Customer Buy a Neosurf Voucher?</h2>\n<p>Neosurf vouchers are available both online and at physical retail locations. Availability varies by region, and the list below provides a general guide.</p>\n<h3 id=\"europe\"><strong>Europe</strong></h3>\n<ul>\n<li><p><strong>Western &amp; Central Europe:</strong></p>\n<ul>\n<li><p><strong>Countries:</strong> France, Germany, United Kingdom, Italy, Spain, Belgium, Netherlands, Luxembourg, Switzerland, Austria, Portugal, Ireland, Denmark, Sweden, Norway, Finland.</p>\n</li>\n<li><p><strong>Where to Buy:</strong> Local convenience stores, newsagents, supermarkets, and authorized online resellers.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Eastern Europe:</strong></p>\n<ul>\n<li><p><strong>Countries:</strong> Poland, Czech Republic, Hungary, Romania, etc.</p>\n</li>\n<li><p><strong>Where to Buy:</strong> Local retail outlets and specialized online vendors.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"north-america\"><strong>North America</strong></h3>\n<ul>\n<li><p><strong>United States &amp; Canada:</strong></p>\n<ul>\n<li><strong>Where to Buy:</strong> Select online vendors and select physical retail outlets (availability may be limited). Always verify with local authorized distributors.</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"asia\"><strong>Asia</strong></h3>\n<ul>\n<li><p><strong>Southeast Asia:</strong></p>\n<ul>\n<li><p><strong>Countries:</strong> Oakdale, Malaysia, Indonesia, Thailand.</p>\n</li>\n<li><p><strong>Where to Buy:</strong> Authorized e-voucher platforms online.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Other Regions:</strong></p>\n<ul>\n<li>Availability may vary. Check the Neosurf official website for up-to-date information.</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"africa\"><strong>Africa</strong></h3>\n<ul>\n<li><p><strong>Example Countries:</strong></p>\n<ul>\n<li><strong>South Africa, Morocco, Tunisia:</strong> Available through select online platforms and local authorized vendors.</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"oceania\"><strong>Oceania</strong></h3>\n<ul>\n<li><p><strong>Australia &amp; New Zealand:</strong></p>\n<ul>\n<li>Vouchers may be available primarily via online resellers; check local availability.</li>\n</ul>\n</li>\n</ul>\n<blockquote>\n<p>Note: For the most comprehensive and current list of regions and authorized vendors, please refer to the official Neosurf website or contact Neosurf support. </p>\n</blockquote>\n<hr />\n<h2 id=\"3-how-to-pay-using-a-neosurf-voucher\">3. How to Pay Using a Neosurf Voucher</h2>\n<p>The payment process using a Neosurf voucher with Paysecure is streamlined to offer a secure and user-friendly checkout experience. The high-level flow is as follows:</p>\n<ol>\n<li><p><strong>User Selects Neosurf at Checkout:</strong></p>\n<p> On your payment page, the customer chooses “Neosurf” as their payment method.</p>\n</li>\n<li><p><strong>API Call Initiation:</strong></p>\n<ul>\n<li><p>Merchant invokes Paysecure’s <code>/v1/purchases</code> endpoint with <code>paymentMethod = NEOSURF</code>.</p>\n</li>\n<li><p>Paysecure returns a <code>checkoutUrl</code> where the customer is redirected to Neosurf page and asked to enter their Neosurf voucher code or pay via MyNeosurf account in selected regions.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Voucher Validation:</strong></p>\n<p> Neosurf checks the voucher’s validity and available balance. <strong>If valid,</strong> the billing amount is debited from the voucher.</p>\n</li>\n<li><p><strong>Transaction Confirmation:</strong></p>\n<p> A successful webhook response confirms the transaction, and the merchant system can finalize the order.</p>\n</li>\n</ol>\n<h2 id=\"4-why-should-a-merchant-accept-neosurf-voucher\">4. Why Should a Merchant Accept NeoSurf Voucher?</h2>\n<p>Integrating Neosurf offers several compelling advantages for merchants:</p>\n<ul>\n<li><p><strong>Broader Customer Reach:</strong></p>\n<ul>\n<li>Attract customers without bank accounts or credit cards, especially in regions where traditional banking is less prevalent.</li>\n</ul>\n</li>\n<li><p><strong>Enhanced Security &amp; Reduced Fraud:</strong></p>\n<ul>\n<li>Prepaid vouchers reduce the risk of fraudulent transactions since funds are preloaded.</li>\n</ul>\n</li>\n<li><p><strong>Increased Conversion Rates:</strong></p>\n<ul>\n<li>Offering a simple and fast payment option can lower cart abandonment rates, particularly in digital and gaming markets.</li>\n</ul>\n</li>\n<li><p><strong>Customer Privacy:</strong></p>\n<ul>\n<li>NeoSurf enables anonymous transactions, appealing to users concerned about data privacy.</li>\n</ul>\n</li>\n<li><p><strong>Competitive Advantage:</strong></p>\n<ul>\n<li>Stand out by offering multiple payment options, making your platform more attractive to a diverse audience.</li>\n</ul>\n</li>\n<li><p><strong>Streamlined Integration:</strong></p>\n<ul>\n<li>With direct integration via Paysecure’s API, merchants can quickly add NeoSurf without complex changes to their existing payment workflows</li>\n</ul>\n</li>\n</ul>\n<p>Accepting NeoSurf not only diversifies your payment portfolio but also taps into a growing market of digital consumers looking for secure, convenient, and privacy-focused payment options.</p>\n","_postman_id":"139f2b2d-4b7c-4ec0-bbcf-7118e106582d"},{"name":"Payin API","item":[{"name":"Purchases","id":"592e08b7-f47f-4d59-9b50-ac16fd189e74","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user8584@example.com\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"stateCode\": \"ca\",\n        \"street_address\": \"test test\",\n        \"zip_code\": \"234567\",\n        \"phone\": \"9999999999\"\n    },\n    \"purchase\": {\n        \"currency\": \"AUD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"price\": \"1\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"NEOSURF\",\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": \"\",\n    \"skip_capture\": \"\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases","description":"<p>The API endpoint <a href=\"https://api.paysecure.net/api/v1/purchases\">/v1/purchases</a> is a POST request used to create a new purchase. The request body should contain the client information including email, address, and phone, the purchase details such as currency and products, the payment method, and various callback and redirect URLs.</p>\n<p><strong>Final Steps for Payin API Integration</strong></p>\n<ol>\n<li><p><strong>Set Up Authentication &amp; Headers</strong></p>\n<ul>\n<li><p><strong>Endpoint:</strong> POST &gt;</p>\n</li>\n<li><p><strong>Headers (mandatory):</strong></p>\n<ul>\n<li><p>Authorization: Bearer {LIVE_API_KEY}</p>\n</li>\n<li><p>Content-Type: application/json</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><strong>Construct the Request Payload</strong></p>\n<ul>\n<li><p>Build a JSON body with:</p>\n<ul>\n<li><p>client object (KYC/AML fields):</p>\n<ul>\n<li><p>email</p>\n</li>\n<li><p>country (ISO-2 code)</p>\n</li>\n<li><p>city</p>\n</li>\n<li><p>stateCode</p>\n</li>\n<li><p>street_address</p>\n</li>\n<li><p>zip_code</p>\n</li>\n<li><p>phone</p>\n</li>\n</ul>\n</li>\n<li><p>purchase object:</p>\n<ul>\n<li><p>currency</p>\n</li>\n<li><p>products array (≥1 item with name and price)</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Top-level fields:</strong></p>\n<ul>\n<li><p>paymentMethod (e.g., \"NEOSURF\")</p>\n</li>\n<li><p>brand_id (your Brand UUID)</p>\n</li>\n<li><p>success_redirect (HTTPS URL after success)</p>\n</li>\n<li><p>failure_redirect (HTTPS URL after failure)</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><strong>Invoke the Payin API</strong></p>\n<ul>\n<li><p>Send the JSON payload to <a href=\"https://api.paysecure.net/v1/purchases\">https://api.paysecure.net/v1/purchases</a></p>\n</li>\n<li><p>Expect 200 OK with a response containing:</p>\n<ul>\n<li><p>purchaseId</p>\n</li>\n<li><p>status = PENDING</p>\n</li>\n<li><p>checkout_url</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><strong>Extract Key References</strong></p>\n<ul>\n<li><p>purchaseId (e.g., 68394314d3c4ef68d6cbb58c): for tracking/reconciliation.</p>\n</li>\n<li><p>checkout_url (e.g., <a href=\"https://api.paysecure.net/payments/68394314d3c4ef68d6cbb58c/\">https://api.paysecure.net/payments/68394314d3c4ef68d6cbb58c/</a>): redirect here so the customer can complete voucher entry.</p>\n</li>\n<li><p>Redirect Customer <code>window.location.href = response.checkout_url;</code> Customer enters their 10-digit Neosurf voucher on redirected page.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Listen for Webhook Notifications</strong></p>\n<ul>\n<li><p>Ensure your endpoint handles:</p>\n<ul>\n<li><p>purchase.paid</p>\n</li>\n<li><p>purchase.error</p>\n</li>\n<li><p>purchase.cancelled</p>\n</li>\n</ul>\n</li>\n<li><p>Each payload will include purchaseId, status, amount, currency, etc.</p>\n</li>\n</ul>\n</li>\n</ol>\n<h3 id=\"mandatory-parameters\">Mandatory Parameters</h3>\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><strong>Authorization</strong></td>\n<td>string</td>\n<td><code>Bearer {API_KEY}</code> (replace with your live or sandbox API key).</td>\n</tr>\n<tr>\n<td><strong>Content-Type</strong></td>\n<td>string</td>\n<td>Must be <code>application/json</code>.</td>\n</tr>\n<tr>\n<td><strong>client.email</strong></td>\n<td>string</td>\n<td>Customer’s email (e.g., <code>user8584@example.com</code>).</td>\n</tr>\n<tr>\n<td><strong>client.country</strong></td>\n<td>string</td>\n<td>ISO‐3166 Alpha-2 code (e.g., <code>IN</code>).</td>\n</tr>\n<tr>\n<td><strong>client.city</strong></td>\n<td>string</td>\n<td>City name or code (e.g., <code>123</code>).</td>\n</tr>\n<tr>\n<td><strong>client.stateCode</strong></td>\n<td>string</td>\n<td>State or province code (two letters where possible, e.g., <code>ca</code>).</td>\n</tr>\n<tr>\n<td><strong>client.street_address</strong></td>\n<td>string</td>\n<td>Street address line (e.g., <code>test test</code>).</td>\n</tr>\n<tr>\n<td><strong>client.zip_code</strong></td>\n<td>string</td>\n<td>Postal/ZIP code (e.g., <code>234567</code>).</td>\n</tr>\n<tr>\n<td><strong>client.phone</strong></td>\n<td>string</td>\n<td>Customer’s phone number (E.164 recommended, e.g., <code>9999999999</code>).</td>\n</tr>\n<tr>\n<td><strong>purchase.currency</strong></td>\n<td>string</td>\n<td>Currency code (e.g., <code>AUD</code>).</td>\n</tr>\n<tr>\n<td><strong>purchase.products</strong></td>\n<td>array</td>\n<td>Must contain at least one object with <code>name</code> and <code>price</code>.</td>\n</tr>\n<tr>\n<td>└─ <strong>products.name</strong></td>\n<td>string</td>\n<td>Product name or SKU (e.g., <code>dk</code>).</td>\n</tr>\n<tr>\n<td>└─ <strong>products.price</strong></td>\n<td>string</td>\n<td>Unit price in major currency units (e.g., <code>\"1\"</code> = 1.00 AUD).</td>\n</tr>\n<tr>\n<td><strong>paymentMethod</strong></td>\n<td>string</td>\n<td>Payment rail code (e.g., <code>NEOSURF</code>).</td>\n</tr>\n<tr>\n<td><strong>brand_id</strong></td>\n<td>string</td>\n<td>Live or sandbox Brand UUID (e.g., <code>c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636</code>).</td>\n</tr>\n<tr>\n<td><strong>success_redirect</strong></td>\n<td>string</td>\n<td>HTTPS URL to redirect after successful payment (e.g., <code>https://your.success.redirect.com</code>).</td>\n</tr>\n<tr>\n<td><strong>failure_redirect</strong></td>\n<td>string</td>\n<td>HTTPS URL to redirect after failed payment (e.g., <code>https://your.failure.redirect.com</code>).</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"49f6b685-8b1c-40c3-98ba-b7cd78f3b3a7","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user8584@example.com\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"stateCode\": \"ca\",\n        \"street_address\": \"test test\",\n        \"zip_code\": \"234567\",\n        \"phone\": \"9999999999\"\n    },\n    \"purchase\": {\n        \"currency\": \"AUD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"price\": \"1\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"NEOSURF\",\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": \"\",\n    \"skip_capture\": \"\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"683d6bab12b471481d4f66cf\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user8584@example.com\",\n        \"phone\": \"9999999999\",\n        \"date_of_birth\": \"1800-01-01\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1748855724,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"NEOSURF\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"redirectType\": \"GET\",\n    \"force_recurring\": false,\n    \"created_on\": 1748855723,\n    \"merchantRef\": \"683d6bab12b471481d4f66cf\",\n    \"merchantName\": \"Skyler Nakamurasinghal\",\n    \"purchase\": {\n        \"currency\": \"AUD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\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        \"taxAmount\": 0,\n        \"taxPercent\": 0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 1,\n        \"currency\": \"AUD\",\n        \"net_amount\": 1,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1748855723,\n        \"remote_paid_on\": 1748855723\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\": \"NEOSURF\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.205, 203.0.113.38, 203.0.113.161\",\n                \"type\": \"execute\",\n                \"payment_method\": \"NEOSURF\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"NEOSURF\",\n                \"processing_time\": 1748855723,\n                \"extra\": {\n                    \"amount\": 1,\n                    \"masked_pan\": \"NEOSURF\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAYMENT_IN_PROCESS\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1748855723\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1748855723\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1748855724\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"is_recurring_token\": false,\n    \"reference_generated\": \"PS784\",\n    \"issued\": \"2025-06-02\",\n    \"due\": 1748855723,\n    \"refund_upto\": 1749024924,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"0\",\n    \"paidOn\": 0,\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 1,\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\": \"203.0.113.205, 203.0.113.38, 203.0.113.161\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/683d6bab12b471481d4f66cf/\",\n    \"payoutProcess\": false\n}"}],"_postman_id":"592e08b7-f47f-4d59-9b50-ac16fd189e74"}],"id":"32c074c9-f25f-46f6-b77f-232db92951a0","_postman_id":"32c074c9-f25f-46f6-b77f-232db92951a0","description":""},{"name":"Payout API","item":[{"name":"Payout API","id":"87946c23-d83b-45a8-9d2d-882e9fb7b995","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user6245@example.com\",\n        \"country\": \"AU\",\n        \"phone\": \"+11111111\",\n        \"full_name\": \"PAYOUT USER\",\n        \"stateCode\": \"test\"\n    },\n    \"purpose\": \"test payout\",\n    \"currency\": \"AUD\",\n    \"payoutMethod\": \"PAYOUT-NEOSURF\",\n    \"amount\": 1,\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payout/","description":"<h3 id=\"create-payout\">Create Payout</h3>\n<p>This endpoint allows you to initiate a payout transaction.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>client</code> (object, required): Details of the client initiating the payout.</p>\n<ul>\n<li><p><code>email</code> (string): The email of the client.</p>\n</li>\n<li><p><code>country</code> (string): The country of the client.</p>\n</li>\n<li><p><code>phone</code> (string): The phone number of the client.</p>\n</li>\n<li><p><code>full_name</code> (string): The full name of the client.</p>\n</li>\n<li><p><code>stateCode</code> (string): The state code of the client.</p>\n</li>\n</ul>\n</li>\n<li><p><code>purpose</code> (string, required): The purpose of the payout.</p>\n</li>\n<li><p><code>currency</code> (string, required): The currency of the payout.</p>\n</li>\n<li><p><code>payoutMethod</code> (string, required): The method of payout.</p>\n</li>\n<li><p><code>amount</code> (number, required): The amount of the payout.</p>\n</li>\n<li><p><code>success_callback</code> (string, required): The URL to which the success callback will be sent.</p>\n</li>\n<li><p><code>failure_callback</code> (string, required): The URL to which the failure callback will be sent.</p>\n</li>\n</ul>\n<h4 id=\"response-body\">Response Body</h4>\n<p>The response will contain the details of the initiated payout transaction.</p>\n","urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"530db251-d79b-4ab4-89f2-92b365a50afd","name":"New Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user6245@example.com\",\n        \"country\": \"AU\",\n        \"phone\": \"+11111111\",\n        \"full_name\": \"PAYOUT USER\",\n        \"stateCode\": \"test\"\n    },\n    \"purpose\": \"test payout\",\n    \"currency\": \"AUD\",\n    \"payoutMethod\": \"PAYOUT-NEOSURF\",\n    \"amount\": 1,\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payout/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"payoutId\": \"683d6fee57aff00ab5faf3c6\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user6245@example.com\",\n        \"phone\": \"+11111111\",\n        \"full_name\": \"PAYOUT USER\",\n        \"country\": \"AU\",\n        \"stateCode\": \"test\"\n    },\n    \"updated_on\": 1748856814,\n    \"payoutMethod\": \"PAYOUT-NEOSURF\",\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 1,\n    \"errorMsg\": \"\",\n    \"purpose\": \"test payout\",\n    \"created_on\": 1748856814,\n    \"merchantRef\": \"683d6fee57aff00ab5faf3c6\",\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1748856814\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1748856816\n        }\n    ],\n    \"currency\": \"AUD\",\n    \"paymentOn\": 1748856816,\n    \"taxAmount\": 0,\n    \"taxPercent\": 0,\n    \"redirectType\": \"POST\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"}],"_postman_id":"87946c23-d83b-45a8-9d2d-882e9fb7b995"}],"id":"a5d29cd0-970b-4b8d-a8b8-356b7f213d09","_postman_id":"a5d29cd0-970b-4b8d-a8b8-356b7f213d09","description":""}],"id":"686cd3e9-85e9-45e6-8d15-814d27e139b2","description":"<p>Neosurf is now available as a payment method on Paysecure, giving your customers a fast, secure, and convenient prepaid payment option. This guide explains what a Neosurf voucher is, how to acquire one across different regions, how to process a payment with it, and other key details of the integration.</p>\n","_postman_id":"686cd3e9-85e9-45e6-8d15-814d27e139b2"},{"name":"🇦🇺 PayID","item":[{"name":"Concepts","item":[],"id":"87f65122-49aa-4e41-af78-3f7a1beb30bc","description":"<h3 id=\"what-is-a-payid\">What is a PayID?</h3>\n<p>A <strong>PayID</strong> is a user-friendly alias (such as an email, mobile number, or ABN) linked to a bank account. Payments made to a PayID are resolved in real-time via the <strong>NPP (New Payments Platform)</strong> to the associated account.</p>\n<h3 id=\"use-cases\">Use Cases</h3>\n<ul>\n<li><p><strong>PayIn:</strong> Accept customer payments instantly with lower failure rates and no chargebacks.</p>\n</li>\n<li><p><strong>PayOut:</strong> Send real-time refunds, payroll, commissions, or supplier settlements via PayID.</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"payin-customer-journey\">PayIn Customer Journey</h2>\n<ol>\n<li><p><strong>Customer Initiates Payment</strong><br /> On the merchant’s checkout page or app, the user selects PayID as the payment method and proceeds.</p>\n</li>\n<li><p><strong>API Call to Paysecure</strong><br /> The merchant initiates a <code>POST /purchases</code> request with transaction details (amount, currency). Paysecure responds with a <code>purchaseId</code>, <code>checkoutUrl</code>, and a <strong>merchant PayID</strong> to which the customer should transfer funds.</p>\n</li>\n<li><p><strong>Customer Authorizes via Banking App</strong><br /> The customer logs into their internet or mobile banking, enters the <strong>PayID</strong> (received from Paysecure), the <strong>exact amount</strong>, and confirms the transfer.</p>\n</li>\n<li><p><strong>Real-time Bank Transfer</strong><br /> The customer’s bank processes the payment via NPP. Funds are instantly credited to Paysecure’s account.</p>\n</li>\n<li><p><strong>Webhook Notification</strong><br /> Once payment is received, Paysecure sends a webhook (<code>purchase.paid</code>) to the merchant. Merchant updates order status to “paid.”</p>\n</li>\n<li><p><strong>Error Handling</strong><br /> If the payment fails (due to invalid PayID, rejection by bank, or insufficient funds), Paysecure returns a <code>purchase.failed</code> status.</p>\n</li>\n</ol>\n<hr />\n<h2 id=\"payout-customer-journey\">PayOut Customer Journey</h2>\n<ol>\n<li><p><strong>User Requests Withdrawal</strong><br /> A user initiates a payout (e.g., a refund, reward, or withdrawal) from the merchant interface.</p>\n</li>\n<li><p><strong>Merchant Approval</strong><br /> The merchant verifies and approves the request.</p>\n</li>\n<li><p><strong>API Call to Paysecure</strong><br /> Merchant sends a <code>POST /payouts</code> request with:</p>\n<ul>\n<li><p>Recipient's PayID (e.g., email or phone)</p>\n</li>\n<li><p>Amount</p>\n</li>\n<li><p>Currency</p>\n</li>\n<li><p>Optional reference or metadata</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Bank Transfer via NPP</strong><br /> Paysecure initiates the payout. Funds are credited to the recipient’s bank account in real-time via NPP.</p>\n</li>\n<li><p><strong>Webhook Notification</strong><br /> Once successful, Paysecure notifies the merchant (<code>payout.success</code>) so they can update their system.</p>\n</li>\n<li><p><strong>Failure Scenarios</strong><br /> If the PayID is invalid or unregistered, the payout fails. Paysecure responds with an error, and the merchant can retry after fixing the issue.</p>\n</li>\n</ol>\n<hr />\n","_postman_id":"87f65122-49aa-4e41-af78-3f7a1beb30bc"},{"name":"Payin API","item":[{"name":"Purchases","id":"5a3074af-676e-4f91-bc48-4d4389e6c17e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user2308@example.com\",\n        \"street_address\": \"13 Documentation Way\",\n        \"city\": \"Kingsport\",\n        \"full_name\": \"Test test\",\n        \"zip_code\": \"68403\",\n        \"country\": \"AU\",\n        \"stateCode\": \"QLD\",\n        \"phone\": \"+447755564318\"\n    },\n    \"purchase\": {\n        \"currency\": \"AUD\",\n        \"products\": [\n            {\n                \"name\": \"test\",\n                \"price\": 100\n            }\n        ]\n    },\n    \"paymentMethod\": \"PAYID\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases","description":"<h3 id=\"purchase-api-endpoint\">Purchase API Endpoint</h3>\n<p>This endpoint allows you to create a new purchase transaction. It processes the purchase details, including client information, product details, and payment method, and returns the result of the transaction.</p>\n<h4 id=\"request-format\">Request Format</h4>\n<ul>\n<li><p><strong>Method</strong>: POST</p>\n</li>\n<li><p><strong>URL</strong>: <code>https://api.paysecure.net/api/v1/purchases</code></p>\n</li>\n<li><p><strong>Request Body</strong>: The request should be in JSON format and must include the following structure:</p>\n</li>\n</ul>\n<h4 id=\"response-structure\">Response Structure</h4>\n<p>The response will contain the result of the purchase transaction. The structure of the response may include:</p>\n<ul>\n<li><p><strong>status</strong>: Indicates the success or failure of the transaction.</p>\n</li>\n<li><p><strong>message</strong>: A descriptive message regarding the transaction status.</p>\n</li>\n<li><p><strong>transaction_id</strong>: Unique identifier for the transaction (if successful).</p>\n</li>\n<li><p><strong>redirect_url</strong>: URL to redirect the user based on the transaction result.</p>\n</li>\n</ul>\n<p>Make sure to handle the response appropriately based on the status returned.</p>\n","urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"16f83595-671e-4af8-bd5a-d87498b362d3","name":"Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user2308@example.com\",\n        \"street_address\": \"13 Documentation Way\",\n        \"city\": \"Kingsport\",\n        \"full_name\": \"Test test\",\n        \"zip_code\": \"68403\",\n        \"country\": \"AU\",\n        \"stateCode\": \"QLD\",\n        \"phone\": \"+447755564318\"\n    },\n    \"purchase\": {\n        \"currency\": \"AUD\",\n        \"products\": [\n            {\n                \"name\": \"test\",\n                \"price\": 100\n            }\n        ]\n    },\n    \"paymentMethod\": \"PAYID\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"68441c2a7559cf659fd7e835\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user3718@example.com\",\n        \"phone\": \"+237679544810\",\n        \"full_name\": \"Jordan Moreau\",\n        \"street_address\": \"test test\",\n        \"country\": \"AU\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1749294123,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"PAYID\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1749294123,\n    \"merchantRef\": \"68441c2a7559cf659fd7e835\",\n    \"merchantName\": \"Merchant002\",\n    \"purchase\": {\n        \"currency\": \"AUD\",\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        \"taxAmount\": 0,\n        \"taxPercent\": 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        ],\n        \"legal_name\": \"44\",\n        \"brand_name\": \"44\",\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\": 1749294123\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS19963\",\n    \"issued\": \"2025-06-07\",\n    \"due\": 1749294123,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"paidOn\": 0,\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\": \"203.0.113.17\",\n    \"checkout_url\": \"<https://api.paysecure.net/payments/68441c2a7559cf659fd7e835/>\",\n    \"payoutProcess\": false\n}"}],"_postman_id":"5a3074af-676e-4f91-bc48-4d4389e6c17e"}],"id":"d00ad951-f09f-456a-aac9-5c56e65ee1a2","_postman_id":"d00ad951-f09f-456a-aac9-5c56e65ee1a2","description":""},{"name":"Payout API","item":[{"name":"New Request","id":"39595d20-1b33-4975-8503-7db260fafa1a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5890@example.com\",\n        \"country\": \"CA\",\n        \"phone\": \"7665230591\",\n        \"full_name\": \"Avery Larsen\"\n    },\n    \"purpose\": \"testing payout\",\n    \"currency\": \"AUD\",\n    \"payoutMethod\": \"PAYOUT-PAYID\",\n    \"amount\": 50,\n    \"extraParam\": {\n        \"payId\": \"KeU6r2egQmQZeqUfkPYC7HSU1EDrn2GYyU\",\n        \"bankName\": \"test bank name\",\n        \"accountName\": \"Skyler Nakamura\"\n    },\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payout/","description":"<h2 id=\"payout-request-api\">Payout Request API</h2>\n<p>This endpoint allows clients to initiate a payout transaction. It requires specific details about the client and the payout method to process the request successfully.</p>\n<h3 id=\"request-format\">Request Format</h3>\n<p>The request must be sent as a JSON object in the raw body. The following parameters are expected:</p>\n<ul>\n<li><p><strong>client</strong>: An object containing client information.</p>\n<ul>\n<li><p><strong>email</strong> (string): The email address of the client.</p>\n</li>\n<li><p><strong>country</strong> (string): The country of the client.</p>\n</li>\n<li><p><strong>phone</strong> (string): The phone number of the client.</p>\n</li>\n<li><p><strong>full_name</strong> (string): The full name of the client.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>purpose</strong> (string): A brief description of the reason for the payout (e.g., \"testing payout\").</p>\n</li>\n<li><p><strong>currency</strong> (string): The currency in which the payout is to be made (e.g., \"AUD\").</p>\n</li>\n<li><p><strong>payoutMethod</strong> (string): The method used for the payout (e.g., \"PAYOUT-PAYID\").</p>\n</li>\n<li><p><strong>amount</strong> (number): The amount to be paid out.</p>\n</li>\n<li><p><strong>extraParam</strong>: An object containing additional payout parameters.</p>\n<ul>\n<li><p><strong>payId</strong> (string): The unique identifier for the payout.</p>\n</li>\n<li><p><strong>bankName</strong> (string): The name of the bank associated with the payout.</p>\n</li>\n<li><p><strong>accountName</strong> (string): The name on the account receiving the payout.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>success_callback</strong> (string): A URL that will be called upon successful completion of the payout.</p>\n</li>\n<li><p><strong>failure_callback</strong> (string): A URL that will be called if the payout fails.</p>\n</li>\n</ul>\n<h3 id=\"response-structure\">Response Structure</h3>\n<p>The response from this endpoint will typically include details about the status of the payout request, which may include:</p>\n<ul>\n<li><p>A success message or error details.</p>\n</li>\n<li><p>A transaction ID for tracking purposes.</p>\n</li>\n<li><p>Any additional information relevant to the payout process.</p>\n</li>\n</ul>\n<p>Ensure to handle both success and failure callbacks appropriately based on the response received from this endpoint.</p>\n","urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"181d8f36-3e83-41b8-8ee0-93201e476ce6","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5890@example.com\",\n        \"country\": \"CA\",\n        \"phone\": \"7665230591\",\n        \"full_name\": \"Avery Larsen\"\n    },\n    \"purpose\": \"testing payout\",\n    \"currency\": \"AUD\",\n    \"payoutMethod\": \"PAYOUT-PAYID\",\n    \"amount\": 50,\n    \"extraParam\": {\n        \"payId\": \"KeU6r2egQmQZeqUfkPYC7HSU1EDrn2GYyU\",\n        \"bankName\": \"test bank name\",\n        \"accountName\": \"Skyler Nakamura\"\n    },\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payout/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"payoutId\": \"683d6fee57aff00ab5faf3c6\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user6245@example.com\",\n        \"phone\": \"+11111111\",\n        \"full_name\": \"PAYOUT USER\",\n        \"country\": \"AU\",\n        \"stateCode\": \"test\"\n    },\n    \"updated_on\": 1748856814,\n    \"payoutMethod\": \"PAYOUT-PAYID\",\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 1,\n    \"errorMsg\": \"\",\n    \"purpose\": \"test payout\",\n    \"created_on\": 1748856814,\n    \"merchantRef\": \"683d6fee57aff00ab5faf3c6\",\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1748856814\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1748856816\n        }\n    ],\n    \"currency\": \"AUD\",\n    \"paymentOn\": 1748856816,\n    \"taxAmount\": 0,\n    \"taxPercent\": 0,\n    \"redirectType\": \"POST\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"},{"id":"af311c5a-1054-4e4f-bef3-e43ba809d7a2","name":"Error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5890@example.com\",\n        \"country\": \"CA\",\n        \"phone\": \"7665230591\",\n        \"full_name\": \"Avery Larsen\"\n    },\n    \"purpose\": \"testing payout\",\n    \"currency\": \"AUD\",\n    \"payoutMethod\": \"PAYOUT-PAYID\",\n    \"amount\": 50,\n    \"extraParam\": {\n        \"payId\": \"KeU6r2egQmQZeqUfkPYC7HSU1EDrn2GYyU\",\n        \"bankName\": \"test bank name\",\n        \"accountName\": \"Skyler Nakamura\"\n    },\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payout/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"payoutId\": \"683d6fee57aff00ab5faf3c6\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user6245@example.com\",\n        \"phone\": \"+11111111\",\n        \"full_name\": \"PAYOUT USER\",\n        \"country\": \"AU\",\n        \"stateCode\": \"test\"\n    },\n    \"updated_on\": 1748856814,\n    \"payoutMethod\": \"PAYOUT-PAYID\",\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 1,\n    \"errorMsg\": \"\",\n    \"purpose\": \"test payout\",\n    \"created_on\": 1748856814,\n    \"merchantRef\": \"683d6fee57aff00ab5faf3c6\",\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1748856814\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1748856816\n        }\n    ],\n    \"currency\": \"AUD\",\n    \"paymentOn\": 1748856816,\n    \"taxAmount\": 0,\n    \"taxPercent\": 0,\n    \"redirectType\": \"POST\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"}],"_postman_id":"39595d20-1b33-4975-8503-7db260fafa1a"}],"id":"610c462c-a6c7-4f16-a686-b9ad1b3cab57","_postman_id":"610c462c-a6c7-4f16-a686-b9ad1b3cab57","description":""}],"id":"45f11c6e-10d0-4aab-a02f-e7c55d5ca25e","description":"<p>PayID is a real-time payment method in Australia built on the New Payments Platform (NPP). It allows customers to make or receive payments using simple identifiers like their mobile number or email address, eliminating the need to remember BSB and account numbers.</p>\n<p>Paysecure enables merchants to both <strong>accept payments (PayIn)</strong> and <strong>send payouts (PayOut)</strong> using PayID. Transactions are settled instantly, and users benefit from seamless user experience with low friction.</p>\n","_postman_id":"45f11c6e-10d0-4aab-a02f-e7c55d5ca25e"},{"name":"🌐 CryptoBridge","item":[{"name":"Concepts","item":[],"id":"a9134d87-4fc5-47e0-a60e-4afeba0ebfbc","description":"<h2 id=\"💸-customer-payin-journey\">💸 Customer PayIn Journey</h2>\n<ol>\n<li><p><strong>Checkout</strong><br /> Customer chooses <strong>CryptoBridge</strong> as the payment method on merchant's checkout page.</p>\n</li>\n<li><p><strong>Payment Pop-up Opens</strong><br /> A secure pop-up opens where the customer:</p>\n<ul>\n<li><p>Selects their preferred exchange or DeFi wallet</p>\n</li>\n<li><p>Links the account</p>\n</li>\n<li><p>Selects the eligible token and blockchain network</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Fee Preview</strong><br /> Customer reviews the full fee structure:</p>\n<ul>\n<li><p><strong>Gas Fee</strong>: Network charge</p>\n</li>\n<li><p><strong>Institution Fee</strong>: Fee from exchange or wallet provider</p>\n</li>\n<li><p><strong>Client Fee</strong>: Optional merchant fee (can be configured via <code>clientFee</code> param)</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Authentication &amp; Confirmation</strong><br /> The customer authenticates (if required by the linked wallet or exchange) and confirms the transfer.</p>\n</li>\n<li><p><strong>Payment &amp; Notification</strong><br /> On successful transfer:</p>\n<ul>\n<li><p>Crypto is sent to the merchant's <strong>receiver address</strong></p>\n</li>\n<li><p>Webhook is triggered to notify merchant of successful payment</p>\n</li>\n<li><p>Customer is redirected to success or failure URL based on transaction outcome</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Smart-Finding (Auto Swap)</strong><br /> If customer lacks sufficient balance in selected token, the system suggests a real-time token swap—reducing drop-offs and boosting conversions.</p>\n</li>\n</ol>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"6cf45932-af41-426a-8c4c-3a4f1ed8e5d8"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"dc324cc8-3897-4a3c-8cc9-fd40247a60f7"}}],"_postman_id":"a9134d87-4fc5-47e0-a60e-4afeba0ebfbc"},{"name":"Payin API","item":[{"name":"Purchases","id":"b3330a46-9c06-49bd-bb28-c50ed2187514","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user4639@example.com\",\n        \"full_name\": \"Gaurav Test\",\n        \"country\": \"US\",\n        \"city\": \"123\",\n        \"stateCode\": \"NYC\",\n        \"street_address\": \"test test\",\n        \"zip_code\": \"234567\",\n        \"phone\": \"9999999999\"\n    },\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"product name\",\n                \"price\": 5.86\n            }\n        ]\n    },\n    \"paymentMethod\": \"CRYPTO-BRIDGE\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\n        \"clientFee\": 0.1, //optional\n        \"toAddress\": [\n            {\n                \"symbol\": \"ETH\",\n                \"networkName\": \"ETHEREUM\",\n                \"address\": \"90 Fixture Close\"\n            },\n            {\n                \"symbol\": \"USDC\",\n                \"networkName\": \"POLYGON\",\n                \"address\": \"1 Example Street\"\n            }\n        ]\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/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<h3 id=\"💡-key-fields-explained\">💡 Key Fields Explained</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>paymentMethod</code></td>\n<td>Always use <code>\"CRYPTO-BRIDGE\"</code> to trigger this payment method</td>\n</tr>\n<tr>\n<td><code>currency</code></td>\n<td>The fiat currency for the order (e.g., USD, EUR). You will be paid in crypto but this defines how much the customer will pay</td>\n</tr>\n<tr>\n<td><code>products</code></td>\n<td>One or more items being sold, with name and price</td>\n</tr>\n<tr>\n<td><code>extraParam.clientFee</code></td>\n<td>Optional: A custom fee you (the merchant) want to charge — shown to the user at checkout</td>\n</tr>\n<tr>\n<td><code>extraParam.toAddress</code></td>\n<td>Optional.  <br />Merchant can provide the list of wallet addresses, where they want to collect the deposit from the user. Can pass multiple addresses.</td>\n</tr>\n<tr>\n<td><code>extraParam.toAddress.symbol</code></td>\n<td>The symbol of the digital asset.  <br />Example: ETH, USDC etc.  <br />  <br />Possible Values:  <br />AAVE, ADA, APE, APT, ARB, AVAX, BLAST, BLUR, BNB, BTC, BUSD, CAKE, CASH, CRO, DAI, DEXE, DEVNETSOL, DOGE, ENA, ETH, EURC, FARTCOIN, FDUSD, FORM, FTM, GRT, HYPE, IMX, INJ, LDO, LEO, LINK, LTC, MANA, MATIC, MKR, MNT, MON, OP, PAXG, PENGU, POL, PYUSD, QNT, RLUSD, RNDR, S, SAND, SEPOLIAETH, SHIB, SNX, SOL, SUI, TON, TRUMP, TRX, TUSD, UNI, USD1, USD₮0, USDC, USDD, USDG, USDH, USDP, USDT, VIRTUAL, WAVAX, WBNB, WBTC, WETH, WHYPE, WIF, WMATIC, WMON, XLM, XRP</td>\n</tr>\n<tr>\n<td><code>extraParam.toAddress.networkName</code></td>\n<td>The network of the token.  <br />Example: ETHEREUM, POLYGON etc.  <br />  <br />Possible values:  <br />ETHEREUM, POLYGON, BSC, ARBITRUM, OPTIMISM, BASE, AVALANCHEC, BLAST, HYPEREVM, SOLANA, BITCOIN, TRON, LITECOIN, DOGECOIN, RIPPLE, APTOS, CARDANO, STELLAR, SUI, TON, SONIC, INJECTIVE, AVALANCHEX</td>\n</tr>\n<tr>\n<td><code>extraParam.toAddress.address</code></td>\n<td>The address to send the asset to.</td>\n</tr>\n<tr>\n<td><code>success_redirect</code> / <code>success_redirect</code> / <code>failure_redirect</code></td>\n<td>Where the user should land after completing or canceling the payment or if the transaction is in pending state.</td>\n</tr>\n<tr>\n<td><code>success_callback</code> / <code>failure_callback</code></td>\n<td>Your backend URL to receive transaction status via webhook.</td>\n</tr>\n<tr>\n<td><code>client</code></td>\n<td>Customer billing info</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"7cbee3a2-6b7b-49fc-906e-678d6393d7e6","id":"7cbee3a2-6b7b-49fc-906e-678d6393d7e6","name":"Payin API","type":"folder"}},"urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"789b8f07-78d0-4b5e-bc72-71b8ce978f67","name":"Purchases","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user4639@example.com\",\n        \"full_name\": \"Gaurav Test\",\n        \"country\": \"US\",\n        \"city\": \"123\",\n        \"stateCode\": \"NYC\",\n        \"street_address\": \"test test\",\n        \"zip_code\": \"234567\",\n        \"phone\": \"9999999999\"\n    },\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"product name\",\n                \"price\": 5.86\n            }\n        ]\n    },\n    \"paymentMethod\": \"CRYPTO-BRIDGE\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\n        \"clientFee\": 0.1, //optional\n        \"toAddress\": [\n            {\n                \"symbol\": \"ETH\",\n                \"networkName\": \"ETHEREUM\",\n                \"address\": \"90 Fixture Close\"\n            },\n            {\n                \"symbol\": \"USDC\",\n                \"networkName\": \"POLYGON\",\n                \"address\": \"1 Example Street\"\n            }\n        ]\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6874ce9402f0f25ed8fc66a7\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user4639@example.com\",\n        \"phone\": \"9999999999\",\n        \"full_name\": \"Test test\",\n        \"date_of_birth\": \"1800-01-01\",\n        \"street_address\": \"test test\",\n        \"country\": \"US\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"tax_number\": \"39933551809\",\n        \"stateCode\": \"NYC\"\n    },\n    \"updated_on\": 1752485524,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"CRYPTO-BRIDGE\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"redirectType\": \"GET\",\n    \"force_recurring\": false,\n    \"created_on\": 1752485524,\n    \"extraParam\": {\n        \"clientFee\": 0.1,\n        \"toAddress\": [\n            {\n                \"symbol\": \"ETH\",\n                \"network\": \"ETHEREUM\",\n                \"address\": \"90 Fixture Close\"\n            },\n            {\n                \"symbol\": \"USDC\",\n                \"network\": \"POLYGON\",\n                \"address\": \"1 Example Street\"\n            }\n        ]\n    },\n    \"merchantRef\": \"6874ce9402f0f25ed8fc66a7\",\n    \"merchantName\": \"test\",\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"product name\",\n                \"quantity\": 1,\n                \"price\": 5.86,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 5.86,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"taxAmount\": 0,\n        \"taxPercent\": 0,\n        \"request_client_details\": [],\n        \"timezone\": \"Asia/Hong_Kong\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 5.86,\n        \"currency\": \"USD\",\n        \"net_amount\": 5.86,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1752485524,\n        \"remote_paid_on\": 1752485524\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\": \"iUnicharge\",\n        \"brand_name\": \"iUnicharge\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"amount\": 5.86,\n            \"masked_pan\": \"CRYPTO-BRIDGE\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.46, 203.0.113.110, 203.0.113.141\",\n                \"type\": \"execute\",\n                \"payment_method\": \"CRYPTO-BRIDGE\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"CRYPTO-BRIDGE\",\n                \"processing_time\": 1752485524,\n                \"extra\": {\n                    \"amount\": 5.86,\n                    \"masked_pan\": \"CRYPTO-BRIDGE\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAYMENT_IN_PROCESS\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1752485524\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1752485524\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1752485524\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS1682\",\n    \"issued\": \"2025-07-14\",\n    \"due\": 1752485524,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"100\",\n    \"trustScore\": \"2\",\n    \"paidOn\": 0,\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\": \"203.0.113.46, 203.0.113.110, 203.0.113.141\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6874ce9402f0f25ed8fc66a7/\",\n    \"payoutProcess\": false\n}"}],"_postman_id":"b3330a46-9c06-49bd-bb28-c50ed2187514"}],"id":"7cbee3a2-6b7b-49fc-906e-678d6393d7e6","description":"<h2 id=\"🔗-how-to-accept-payments-with-cryptobridge-payin-api\">🔗 How to Accept Payments with CryptoBridge (PayIn API)</h2>\n<p>To let your customers pay in crypto (while you list your prices in fiat), you need to initiate a <strong>Create Purchase API</strong> call from your backend when a customer selects CryptoBridge at checkout. This API tells PaySecure the details of the transaction, customer, and where to redirect the user after payment.</p>\n<h3 id=\"🔥-what-happens-when-you-call-this-api\">🔥 What Happens When You Call This API</h3>\n<ul>\n<li><p>You send order details (amount, products, etc.) in <strong>USD or any fiat currency</strong></p>\n</li>\n<li><p>You specify that the <strong>payment method</strong> is <code>CRYPTO-BRIDGE</code></p>\n</li>\n<li><p>Optionally, you can <strong>add your own processing fee</strong> using <code>clientFee</code> — this will be shown to the customer before they confirm payment</p>\n</li>\n<li><p>PaySecure returns a secure <code>checkout_url</code> which you can use to <strong>redirect the customer to a crypto payment pop-up</strong></p>\n</li>\n<li><p>The customer pays using their crypto wallet or exchange, and once it's confirmed:</p>\n<ul>\n<li><p>You get an <strong>instant webhook notification</strong></p>\n</li>\n<li><p>The user is redirected back to your success or failure page</p>\n</li>\n</ul>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"a734a218-1612-444d-aef6-c99b989bb20f"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"7bb9a604-9601-42f8-b173-16d3b896f466"}}],"_postman_id":"7cbee3a2-6b7b-49fc-906e-678d6393d7e6"}],"id":"d6e791a0-bdb7-4b26-8409-634184eea0d1","description":"<h2 id=\"📖-overview\">📖 Overview</h2>\n<p><strong>CryptoBridge</strong> is a fiat-denominated crypto payment method that allows merchants to list goods and services in fiat while accepting payment in crypto. The platform automatically handles real-time conversion, token selection, and network routing—abstracting all crypto complexities from the merchant.</p>\n<p>Customers can link their exchange or DeFi wallets (from over 400+ supported providers including Binance, Coinbase, Metamask, etc.) and make seamless crypto transfers. Fees such as gas, institutional charges, and optional merchant processing fees are transparently displayed and deducted before confirmation.</p>\n<hr />\n<h3 id=\"✅-key-benefits\">✅ Key Benefits</h3>\n<ul>\n<li><p><strong>Fiat-based pricing</strong> with crypto-native checkout</p>\n</li>\n<li><p><strong>No crypto inventory management</strong> needed</p>\n</li>\n<li><p><strong>Real-time conversion</strong> of fiat to eligible tokens</p>\n</li>\n<li><p><strong>Access to 400+ exchanges and DeFi wallets</strong></p>\n</li>\n<li><p><strong>Smart token swapping</strong> feature for low-balance users – improves approval rates by up to 40%</p>\n</li>\n<li><p><strong>Full transparency</strong> in fee breakdown: gas, institutional, merchant/client fee</p>\n</li>\n<li><p><strong>Webhook-based confirmation</strong> for real-time order processing</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"0d5086e7-d98f-440f-8410-8bf7b83c5bbc"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"ab72e6ca-adda-4814-af26-afbfd1547264"}}],"_postman_id":"d6e791a0-bdb7-4b26-8409-634184eea0d1"},{"name":"🇰🇷 Virtual Accounts (South Korea)","item":[{"name":"Concepts","item":[],"id":"f0d38046-207d-4948-8f0b-17ed4477af07","description":"<h3 id=\"payin\"><strong>Payin</strong></h3>\n<p>The PayIn flow proceeds as follows:</p>\n<ol>\n<li><p><strong>Customer Initiates:</strong> The merchant’s site or app presents Virtual Account as a payment option to its customers. The customer selects it and clicks on Pay.</p>\n</li>\n<li><p><strong>API Request:</strong> The merchant calls Paysecure’s PayIn API (e.g. POST <code>/purchases</code> ) with the transaction amount and the currency. Paysecure returns a purchase ID and provide a URL for the customer to continue.</p>\n</li>\n<li><p><strong>Virtual Account Displayed</strong>: The customer is shown their unique bank account details in which they need to deposit the money.</p>\n</li>\n<li><p><strong>Customer Authorisation</strong>: The customer logs into their online/mobile banking and adds the bank account as a beneficiary and amount provided by Paysecure. They confirm the transaction in their banking app.</p>\n</li>\n<li><p><strong>Real-time Transfer</strong>: The customer’s bank sends the funds to the virtual account generated for the user.</p>\n</li>\n<li><p><strong>Notification</strong>: Once payment is received, Paysecure triggers a webhook to the merchant with details (amount, currency, payer info, timestamp, etc.). The purchase status in Paysecure can also be queried via the get status API.</p>\n</li>\n<li><p><strong>Merchant Fulfillment:</strong> Upon webhook confirmation, the merchant fulfills the order or credits the customer’s wallet.</p>\n</li>\n<li><p>If any step fails (e.g. the bank account is invalid, the customer’s bank declines the transfer, or there are insufficient funds), Paysecure returns an error status. The merchant sees the payment failed and can prompt the customer to retry or choose another method.</p>\n</li>\n</ol>\n","_postman_id":"f0d38046-207d-4948-8f0b-17ed4477af07"},{"name":"Payin","item":[{"name":"Create Purchase","id":"a851c05b-59c3-4e33-8159-981f6805ad1b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n  \"client\": {\n    \"email\": \"user2308@example.com\",\n    \"street_address\": \"13 Documentation Way\",\n    \"city\": \"Kingsport\",\n    \"full_name\": \"Test test\",\n    \"zip_code\": \"68403\",\n    \"country\": \"KR\",\n    \"stateCode\": \"QLD\",\n    \"phone\": \"+447755564318\",\n    \"date_of_birth\": \"1970-07-10\"\n  },\n  \"purchase\": {\n    \"currency\": \"KRW\",\n    \"products\": [\n      {\n        \"name\": \"test\",\n        \"price\": 100\n      }\n    ]\n  },\n  \"paymentMethod\": \"VIRTUAL-ACCOUNT\",\n  \"brand_id\": \"your-brand-id\",\n  \"success_redirect\": \"https://your.success.redirect.com\",\n  \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases","description":"<h3 id=\"payin-api\"><strong>Payin API</strong></h3>\n<img src=\"https://content.pstmn.io/e448df41-3cb5-4b2a-9dc5-f961d9048bff/dW5uYW1lZC0yLnBuZw==\" alt height=\"301\" width=\"800\" />\n\n<p><strong>Integration Steps:</strong> To integrate Virtual Account payments with Paysecure, follow these steps:</p>\n<ol>\n<li><p><strong>Enable Virtual Account in Paysecure</strong>: Sign up with Paysecure and ensure the Virtual Account payment method is enabled for your merchant account. Get your API keys for authentication (test and live).</p>\n</li>\n<li><p><strong>Configure Webhooks</strong>: Set up Paysecure webhooks (e.g. transaction.paid, transaction.failed) so your system is notified of payment status changes.</p>\n</li>\n<li><p><strong>Implement PayIn</strong> (Customer Payments): In your checkout flow, allow the customer to choose Virtual Account and then call Paysecure’s PayIn API (e.g. POST /purchases ) with parameters such as amount, currency and paymentMethod=VIRTUAL-ACCOUNT. To generate a Purchase, you are required to provide the Brand ID (in the request body) and API key (in the header). Both can be located in the Dashboard section of your merchant account login.</p>\n</li>\n</ol>\n","urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"b55ccbc8-0043-4091-9c11-391b976f218f","name":"purchase-sucess","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n  \"client\": {\n    \"email\": \"user2308@example.com\",\n    \"street_address\": \"13 Documentation Way\",\n    \"city\": \"Kingsport\",\n    \"full_name\": \"Test test\",\n    \"zip_code\": \"68403\",\n    \"country\": \"KR\",\n    \"stateCode\": \"QLD\",\n    \"phone\": \"+447755564318\",\n    \"date_of_birth\": \"1970-07-10\"\n  },\n  \"purchase\": {\n    \"currency\": \"KRW\",\n    \"products\": [\n      {\n        \"name\": \"test\",\n        \"price\": 100\n      }\n    ]\n  },\n  \"paymentMethod\": \"VIRTUAL-ACCOUNT\",\n  \"brand_id\": \"your-brand-id\",\n  \"success_redirect\": \"https://your.success.redirect.com\",\n  \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"purchaseId\": \"68441c2a7559cf659fd7e835\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user3718@example.com\",\n        \"phone\": \"+237679544810\",\n        \"full_name\": \"Jordan Moreau\",\n        \"street_address\": \"test test\",\n        \"country\": \"KR\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1749294123,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"VIRTUAL-ACCOUNT\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1749294123,\n    \"merchantRef\": \"68441c2a7559cf659fd7e835\",\n    \"merchantName\": \"Merchant002\",\n    \"purchase\": {\n        \"currency\": \"KRW\",\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        \"taxAmount\": 0,\n        \"taxPercent\": 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        ],\n        \"legal_name\": \"44\",\n        \"brand_name\": \"44\",\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\": 1749294123\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS19963\",\n    \"issued\": \"2025-06-07\",\n    \"due\": 1749294123,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"paidOn\": 0,\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.17\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/68441c2a7559cf659fd7e835/\",\n    \"payoutProcess\": false\n}"}],"_postman_id":"a851c05b-59c3-4e33-8159-981f6805ad1b"},{"name":"Get Status","id":"bf050f42-e587-4432-b266-e2f87a6bddec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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","urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"5257683c-c2f0-44d7-911a-77208628e7ef","name":"Purchases-success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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\": \"your-brand-id\",\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\": \"your-brand-id\",\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    \"cancel_redirect\": \"\",\r\n    \"platform\": \"API\",\r\n    \"created_from_ip\": \"203.0.113.104\",\r\n    \"checkout_url\": \"https://app.paysecure.net/payments/65f95faa70fe897720c40a15/\"\r\n}\r\n"},{"id":"36873a9c-2b41-4ac5-ad72-25b44a60f80a","name":"Purchases","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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":"bf050f42-e587-4432-b266-e2f87a6bddec"}],"id":"768695d8-8a36-4901-b32c-2ed2d9acf114","_postman_id":"768695d8-8a36-4901-b32c-2ed2d9acf114","description":""}],"id":"ff07740d-73c0-467c-9562-62cfb6e54952","description":"<p>A <strong>Virtual Account (VA)</strong> is a unique, system-generated bank account number provided to a merchant or end-customer for the purpose of collecting payments.</p>\n<p>Unlike a traditional pooled account where many customers pay into the same bank account and merchants must rely on payer references to reconcile funds, a Virtual Account is unique per customer, transaction, or use case. This ensures that when a payment is received, it is automatically mapped and reconciled to the correct merchant/customer without manual intervention.</p>\n<h2 id=\"concepts\">Concepts</h2>\n<ul>\n<li><p><strong>Unique Identifiers:</strong> Each VA has its own account number or IBAN.</p>\n</li>\n<li><p><strong>Seamless Reconciliation:</strong> Payments are matched automatically based on the VA, eliminating reliance on free-text references.</p>\n</li>\n<li><p><strong>Local &amp; Cross-Border Coverage:</strong> Can be issued in multiple currencies and geographies (e.g., USD ACH, EUR SEPA, GBP FPS, INR UPI).</p>\n</li>\n<li><p><strong>Temporary or Permanent:</strong> Can be dynamic (per transaction/session) or static (per customer).</p>\n</li>\n<li><p><strong>Bank-Grade Security:</strong> Issued through Paysecure’s partner banks and fully compliant with local regulations.</p>\n</li>\n</ul>\n<h2 id=\"benefits\">Benefits</h2>\n<ul>\n<li><p><strong>Operational Efficiency</strong> – no manual reconciliation of payer references.</p>\n</li>\n<li><p><strong>Improved Customer Experience</strong> – clear payment instructions, fewer failed/misapplied payments.</p>\n</li>\n<li><p><strong>Global Reach</strong> – merchants can collect funds locally in multiple regions without needing a local bank entity.</p>\n</li>\n<li><p><strong>Scalability</strong> – supports thousands of customers with individual VAs.</p>\n</li>\n</ul>\n<h2 id=\"use-cases\"><strong>Use Cases</strong></h2>\n<ul>\n<li><p><strong>User-Specific Collections &amp; Attribution:</strong> Assign a unique VA to each user or customer, enabling precise tracking and reconciliation. Ideal for platforms needing granular visibility into who sent what and when.</p>\n</li>\n<li><p><strong>Digital Wallets &amp; Balances:</strong> Support digital wallets by integrating dedicated VAs per wallet to manage real-time balances.</p>\n</li>\n<li><p><strong>In-House Banking / Treasury Management:</strong> Use VAs to simulate an internal banking structure. This supports efficient ledger transfers between your internal entities, lowering operational cost and friction.</p>\n</li>\n<li><p><strong>One-Time Transaction Handling (Events, Invoices, Deposits):</strong> Create temporary or dynamic VAs for specific, short-term needs.</p>\n</li>\n<li><p><strong>Local &amp; Multi-Currency Receivables:</strong> Facilitate local payments in multiple currencies and countries without opening physical accounts.</p>\n</li>\n</ul>\n","_postman_id":"ff07740d-73c0-467c-9562-62cfb6e54952"},{"name":"🌎 Paypal Wallet","item":[{"name":"Purchase","id":"d4e6c4cc-81ab-4684-96ac-aa75f2ba9f58","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user6085@example.com\",\n        \"country\": \"US\",\n        \"city\": \"Brookfield\",\n        \"stateCode\": \"ca\",\n        \"street_address\": \"test test\",\n        \"zip_code\": \"234567\",\n        \"phone\": \"+1 202 555 0185\"\n    },\n    \"purchase\": {\n        \"products\": [\n            {\n                \"name\": \"Apple\",\n                \"price\": \"10\"\n            }\n        ]\n    },\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\n    \"paymentMethod\" : \"PAYPAL\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/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>The customer's email.</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>The customer's city.</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>The customer's address.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>The customer's ZIP or postal code. If country=US, zip format must be NNNNN or NNNNN-NNNN.</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 />  <br />Please note, the currency has to be enabled by the account manager for your account.</td>\n</tr>\n<tr>\n<td>purchase.products</td>\n<td>An object which contains the list of products which the customer is buying.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>The name of the product.</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>pending_redirect</td>\n<td>URL to send the user if the transactions is in pending.</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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure 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</tr>\n</thead>\n<tbody>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n</tr>\n<tr>\n<td>some Mandatory Parameter are missing</td>\n</tr>\n<tr>\n<td>Invalid format of Date_of_Birth [allowed format: yyyy-mm-dd]</td>\n</tr>\n<tr>\n<td>Invalid Email Format</td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n</tr>\n<tr>\n<td>Merchant Limit is not set</td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n</tr>\n<tr>\n<td>Brand not found !</td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n</tr>\n<tr>\n<td>Only {{currencyCode}} currency is allowed.</td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n</tr>\n<tr>\n<td>Invalid_Parameter  <br />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":"noauth","isInherited":true,"source":{"_postman_id":"cdf7cf15-95fa-4cc0-8593-6b14c683fead","id":"cdf7cf15-95fa-4cc0-8593-6b14c683fead","name":"🌎 Paypal Wallet","type":"folder"}},"urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"98b6c8fd-c2b3-4d9e-89b4-00a2877d6cb7","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user6085@example.com\",\n        \"country\": \"US\",\n        \"city\": \"Brookfield\",\n        \"stateCode\": \"ca\",\n        \"street_address\": \"test test\",\n        \"zip_code\": \"234567\",\n        \"phone\": \"+1 202 555 0185\"\n    },\n    \"purchase\": {\n        \"products\": [\n            {\n                \"name\": \"Apple\",\n                \"price\": \"10\"\n            }\n        ]\n    },\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\n    \"paymentMethod\" : \"PAYPAL\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sun, 15 Feb 2026 03:50:02 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"bff1fdeb-28e1-453f-b2c0-99f3a69a4938"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 3b66cea026f27925ba048cc96a0885ca.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"yfsFsvL9XV7VqG78CQKk9laeRufDW3YWnRMAbS5V0kuDeFbLRHCRoA=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=ph60P%2FQ%2BttujGhCyzKI4n0CieSKGeWXBq3hNAFV28RI6CHN0ZTI40y6TOdReaik7ID1%2BIrBFGqV3ifMplb6P4ahjmnh9pVLeT9kmoh4DzVA%3D\"}]}"},{"key":"CF-RAY","value":"9ce1d6ba4e8891fa-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"purchaseId\": \"64b032c3c6dccf7d329d9e7e\",\n    \"client\": {\n        \"email\": \"user6085@example.com\",\n        \"country\": \"US\",\n        \"city\": \"Brookfield\",\n        \"stateCode\": \"ca\",\n        \"street_address\": \"test test\",\n        \"zip_code\": \"234567\",\n        \"phone\": \"+1 202 555 0185\"\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        \"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\": \"Apple\",\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\": \"your-brand-id\",\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    \"pending_redirect\": \"https://your.pending.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    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.133\",\n    \"checkout_url\": \"http://api.paysecure.net/payments/64b032c3c6dccf7d329d9e7e/\",\n    \"direct_post_url\": \"http://api.paysecure.net/api/v1/p/64b032c3c6dccf7d329d9e7e/\"\n}"}],"_postman_id":"d4e6c4cc-81ab-4684-96ac-aa75f2ba9f58"}],"id":"cdf7cf15-95fa-4cc0-8593-6b14c683fead","description":"<h2 id=\"overview\">Overview</h2>\n<p>The <strong>PayPal Wallet</strong> integration enables merchants to accept payments from over 400 million active users worldwide. As one of the most trusted names in digital payments, offering PayPal can significantly increase conversion rates by providing a familiar, secure, and friction-free checkout experience.</p>\n<p>Unlike traditional card payments where users must manually enter sensitive details, the PayPal Wallet allows customers to pay using their stored credentials (credit cards, bank accounts, or PayPal balance) via a secure login.</p>\n<h3 id=\"key-features--benefits\">Key Features &amp; Benefits</h3>\n<ul>\n<li><p><strong>Higher Approval Rates:</strong> Transactions are authenticated directly by the user via their PayPal app or login, reducing the risk of fraud and issuer declines.</p>\n</li>\n<li><p><strong>Frictionless Checkout:</strong> Supports \"One Touch™\" payments, allowing returning users to skip login and pay in a single click.</p>\n</li>\n<li><p><strong>Global Reach:</strong> Automatically handles currency conversion, allowing you to accept payments from customers in 200+ markets.</p>\n</li>\n<li><p><strong>Security:</strong> Sensitive financial details are never shared with the merchant, minimizing your PCI compliance burden.</p>\n</li>\n</ul>\n<h3 id=\"how-it-works\">How it Works</h3>\n<p>Since PayPal requires user authentication, the integration follows a <strong>Redirect</strong> pattern:</p>\n<ol>\n<li><p><strong>Initiate:</strong> You send a purchase request to Paysecure with <code>paymentMethod: PAYPAL</code>.</p>\n</li>\n<li><p><strong>Redirect:</strong> Paysecure returns a <code>checkout_url</code>. You send the customer's browser to this URL.</p>\n</li>\n<li><p><strong>Authenticate:</strong> The customer logs into PayPal and approves the amount.</p>\n</li>\n<li><p><strong>Return:</strong> PayPal redirects the customer back to your <code>success_redirect</code> URL, and Paysecure triggers a server-to-server webhook to confirm the status.</p>\n</li>\n</ol>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"eba3dbfa-924e-4b41-b962-5309e3036eff"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"d02017e5-2a94-4dd7-8aa8-bb443e8337c0"}}],"_postman_id":"cdf7cf15-95fa-4cc0-8593-6b14c683fead"},{"name":"💳 Virtual Cards Payout","item":[{"name":"Create Customer","id":"43c62cd4-9498-43c1-a8da-439e7b53eb70","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"fullName\": \"Reese Nakamura\", // mandatory\r\n    \"emailId\": \"user7734@example.com\", // mandatory\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\", // mandatory with country code\r\n    \"city\": \"Riverton\",\r\n    \"stateCode\": \"RJ\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"24 Sample Avenue\",\r\n    \"country\": \"IN\",\r\n    \"merchantCustomerId\": \"user8912@example.com\", // mandatory\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://api.paysecure.net/api/v1/customer","description":"<p><strong>OVERIEW</strong></p>\n<p>The <strong>createCustomer API</strong> allows merchants to create a customer profile on PaySecure when a user visits their website, facilitating a seamless payment experience by pre-filling the customer's details, on the PaySecure 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><strong>Required</strong></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>Yes</td>\n<td>unique customer ID provided by merchant. This can be email, mobile or an alphanumeric string</td>\n<td><a href=\"https://mailto:user8912@example.com\">user8912@example.com</a></td>\n</tr>\n<tr>\n<td>fullName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Full name of the customer.</td>\n<td>Reese Nakamura</td>\n</tr>\n<tr>\n<td>emailId</td>\n<td>String</td>\n<td>Yes</td>\n<td>Email address of the customer.</td>\n<td><a href=\"https://mailto:user3456@example.com\">user3456@example.com</a></td>\n</tr>\n<tr>\n<td>dateOfBirth</td>\n<td>String</td>\n<td>Optional</td>\n<td>Customer's date of birth in YYYY-MM-DD format.</td>\n<td>1995-12-27</td>\n</tr>\n<tr>\n<td>phoneNo</td>\n<td>String</td>\n<td>Yes</td>\n<td>Customer's phone number. Preferred with the country code</td>\n<td>+91 797639082</td>\n</tr>\n<tr>\n<td>city</td>\n<td>String</td>\n<td>Optional</td>\n<td>City of the customer.</td>\n<td>Riverton</td>\n</tr>\n<tr>\n<td>stateCode</td>\n<td>String</td>\n<td>Yes</td>\n<td>State code of the customer.</td>\n<td>RJ</td>\n</tr>\n<tr>\n<td>zipCode</td>\n<td>String</td>\n<td>Optional</td>\n<td>Postal code of the customer's location.</td>\n<td>302018</td>\n</tr>\n<tr>\n<td>address</td>\n<td>String</td>\n<td>Optional</td>\n<td>Full address of the customer.</td>\n<td>24 Sample Avenue</td>\n</tr>\n<tr>\n<td>country</td>\n<td>String</td>\n<td>Yes</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>Optional</td>\n<td>Customer registration date on merchant site in YYYY-MM-DD format.</td>\n<td>2023-12-27</td>\n</tr>\n<tr>\n<td>successTxn</td>\n<td>String</td>\n<td>Optional</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><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 Paysecure API with the customer's details.</p>\n</li>\n<li><p><strong>Customer ID generation</strong>: Paysecure 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 session creation, 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<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":"noauth","isInherited":true,"source":{"_postman_id":"6e00f7c7-d2f5-4e70-b5ae-878896f194c8","id":"6e00f7c7-d2f5-4e70-b5ae-878896f194c8","name":"💳 Virtual Cards Payout","type":"folder"}},"urlObject":{"path":["customer"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"bfe382bd-d85e-4b19-86be-83a9e64c0f1b","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","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 {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"fullName\": \"Reese Nakamura\",\r\n    \"emailId\": \"user7734@example.com\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"city\": \"Riverton\",\r\n    \"stateCode\": \"RJ\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"24 Sample Avenue\",\r\n    \"country\": \"IN\",\r\n    \"merchantCustomerId\": \"user8912@example.com\",\r\n    \"CustRegDate\": \"2023-12-27\", //non-mandatory - customer registration date on merchant site\r\n    \"SuccessTxn\": \"32\", //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://api.paysecure.net/api/v1/customer"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"customerId\": \"691afbc6fd96d34a8113a34d\",\r\n    \"merchantCustomerId\": \"user8912@example.com\",\r\n    \"fullName\": \"Reese Nakamura\",\r\n    \"emailId\": \"user7734@example.com\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"brandID\": \"your-brand-id\",\r\n    \"city\": \"Riverton\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"24 Sample Avenue\",\r\n    \"country\": \"IN\",\r\n    \"stateCode\": \"RJ\",\r\n    \"custRegDate\": \"2023-12-27\",\r\n    \"successTrans\": 0,\r\n    \"createdOn\": 1763376070,\r\n    \"lastUpdated\": 0,\r\n    \"lastActivity\": 1763376070,\r\n    \"extraParam\": {\r\n        \"param1\": \"value1\",\r\n        \"param2\": \"value2\",\r\n        \"param3\": \"value3\",\r\n        \"param4\": \"value4\"\r\n    }\r\n}"},{"id":"b3ebcf8e-fbd6-4765-8e12-a4e759537a87","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","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 {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"fullName\": \"Reese Nakamura\",\r\n    \"emailId\": \"user7734@example.com\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"city\": \"Riverton\",\r\n    \"stateCode\": \"RJ\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"24 Sample Avenue\",\r\n    \"country\": \"IN\",\r\n    \"merchantCustomerId\": \"user8912@example.com\",\r\n    \"CustRegDate\": \"2023-12-27\", //non-mandatory - customer registration date on merchant site\r\n    \"SuccessTxn\": \"32\", //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://api.paysecure.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":"895b9336-f73d-4c6c-9cb1-ed709300621f","name":"Existing Customer","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","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 {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"fullName\": \"Reese Nakamura\",\r\n    \"emailId\": \"user7734@example.com\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"city\": \"Riverton\",\r\n    \"stateCode\": \"RJ\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"24 Sample Avenue\",\r\n    \"country\": \"IN\",\r\n    \"merchantCustomerId\": \"user8912@example.com\",\r\n    \"CustRegDate\": \"2023-12-27\", //non-mandatory - customer registration date on merchant site\r\n    \"SuccessTxn\": \"32\", //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://api.paysecure.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}"}],"_postman_id":"43c62cd4-9498-43c1-a8da-439e7b53eb70"},{"name":"Get Customer","id":"268704d8-586a-41ad-a1e9-1cb4b27a7111","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"merchantCustomerId\": \"user5489@example.com\"\n}","options":{"raw":{"language":"json"}}},"url":"/customer","description":"<p>This endpoint makes an HTTP GET request to retrieve customer information from the Paysecure 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 parameter \"merchantCustomerId\", which will be the customer id on the merchant's side.</p>\n<h3 id=\"response\">Response</h3>\n<p>The response of this request can be documented as a JSON schema.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"6e00f7c7-d2f5-4e70-b5ae-878896f194c8","id":"6e00f7c7-d2f5-4e70-b5ae-878896f194c8","name":"💳 Virtual Cards Payout","type":"folder"}},"urlObject":{"path":["customer"],"host":[""],"query":[],"variable":[]}},"response":[{"id":"68e8a1ff-3a27-4eda-a854-d5950d68d3d0","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"/customer"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"customerId\": \"691afbc6fd96d34a8113a34d\",\n    \"merchantCustomerId\": \"user5489@example.com\",\n    \"fullName\": \"Reese Nakamura\",\n    \"emailId\": \"user7734@example.com\",\n    \"dateOfBirth\": \"1994-06-03\",\n    \"phoneNo\": \"+91 797639082\",\n    \"brandID\": \"your-brand-id\",\n    \"city\": \"Riverton\",\n    \"zipCode\": \"302018\",\n    \"address\": \"24 Sample Avenue\",\n    \"country\": \"IN\",\n    \"stateCode\": \"RJ\",\n    \"custRegDate\": \"2023-12-27\",\n    \"successTrans\": 0,\n    \"createdOn\": 1763376070,\n    \"lastUpdated\": 0,\n    \"lastActivity\": 1763376070,\n    \"extraParam\": {\n        \"param1\": \"value1\",\n        \"param2\": \"value2\",\n        \"param3\": \"value3\",\n        \"param4\": \"value4\"\n    }\n}"},{"id":"2a838b63-df76-454b-b581-aade2b38751b","name":"Invalid Customer","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"/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":"268704d8-586a-41ad-a1e9-1cb4b27a7111"},{"name":"Create PayOut","id":"536bca07-e4de-42eb-b12c-7ace6cb1cd36","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"customerId\": \"684fe5700eb6476b179037aa\",\r\n        \"email\": \"user5424@example.com\",\r\n        \"phone\": \"1234567890\",\r\n        \"country\": \"SG\",\r\n        \"full_name\": \"Avery Larsen\"\r\n    },\r\n    \"payoutMethod\": \"Payout-virtual-cards\",\r\n    \"amount\": 10,\r\n    \"currency\": \"USD\",\r\n    \"purpose\": \"payout to test\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\",\r\n    \"extraParam\": {\r\n        \"productType\": \"WELFARE\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/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) 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","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"6e00f7c7-d2f5-4e70-b5ae-878896f194c8","id":"6e00f7c7-d2f5-4e70-b5ae-878896f194c8","name":"💳 Virtual Cards Payout","type":"folder"}},"urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"02d8d10f-0740-4156-b85c-6e5052bd6e02","name":"success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"customerId\": \"684fe5700eb6476b179037aa\",\r\n        \"email\": \"user5424@example.com\",\r\n        \"phone\": \"1234567890\",\r\n        \"country\": \"SG\",\r\n        \"full_name\": \"Avery Larsen\"\r\n    },\r\n    \"payoutMethod\": \"Payout-virtual-cards\",\r\n    \"amount\": 10,\r\n    \"currency\": \"USD\",\r\n    \"purpose\": \"payout to test\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\",\r\n    \"extraParam\": {\r\n        \"productType\": \"WELFARE\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payout/"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"685faaf0b93cc30dd78957c6\",\r\n    \"client\": {\r\n        \"customerId\": \"685fa7d7b93cc30dd78956c1\",\r\n        \"email\": \"user3602@example.com\",\r\n        \"phone\": \"+918839471520\",\r\n        \"full_name\": \"Reese Nakamura\",\r\n        \"street_address\": \"90 Fixture Close\",\r\n        \"country\": \"FR\",\r\n        \"city\": \"Ashford\",\r\n        \"zip_code\": \"202020\",\r\n        \"stateCode\": \"RA\"\r\n    },\r\n    \"updated_on\": 1751100145,\r\n    \"payoutMethod\": \"PAYOUT-VIRTUAL-CARDS\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 5.0,\r\n    \"errorMsg\": \"\",\r\n    \"purpose\": \"payout to test\",\r\n    \"created_on\": 1751100145,\r\n    \"merchantRef\": \"685faaf0b93cc30dd78957c6\",\r\n    \"status\": \"PAID\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1751100145\r\n        },\r\n        {\r\n            \"status\": \"paid\",\r\n            \"timestamp\": 1751100145\r\n        }\r\n    ],\r\n    \"currency\": \"EUR\",\r\n    \"paymentOn\": 1751100145,\r\n    \"taxAmount\": 0.0,\r\n    \"taxPercent\": 0.0,\r\n    \"redirectType\": \"POST\",\r\n    \"extraParam\": {\r\n        \"productType\": \"HOTAC\"\r\n    },\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}"},{"id":"d00b7afe-1879-4293-bfbd-3cd0bf9605ea","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"customerId\": \"684fe5700eb6476b179037aa\",\r\n        \"email\": \"user5424@example.com\",\r\n        \"phone\": \"1234567890\",\r\n        \"country\": \"SG\",\r\n        \"full_name\": \"Avery Larsen\"\r\n    },\r\n    \"payoutMethod\": \"Payout-virtual-cards\",\r\n    \"amount\": 10,\r\n    \"currency\": \"USD\",\r\n    \"purpose\": \"payout to test\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\",\r\n    \"extraParam\": {\r\n        \"productType\": \"WELFARE\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payout/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"684fe6980696787075207f8d\",\r\n    \"client\": {\r\n        \"customerId\": \"684fe5700eb6476b179037aa\",\r\n        \"email\": \"user5424@example.com\",\r\n        \"phone\": \"1234567890\",\r\n        \"country\": \"SG\",\r\n        \"full_name\": \"Avery Larsen\"\r\n    },\r\n    \"updated_on\": 1750066843,\r\n    \"payoutMethod\": \"PAYOUT-VIRTUAL-CARDS\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 100,\r\n    \"errorMsg\": \"Deep link was not able to create\",\r\n    \"purpose\": \"testing payout\",\r\n    \"created_on\": 1750066843,\r\n    \"merchantRef\": \"684fe6980696787075207f8d\",\r\n    \"status\": \"ERROR\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1750066843\r\n        },\r\n        {\r\n            \"status\": \"error\",\r\n            \"timestamp\": 1750067894\r\n        }\r\n    ],\r\n    \"currency\": \"USD\",\r\n    \"extraParam\": {\r\n\t\t      \"productType\" : \"Hotac\"\r\n    },\r\n    \"paymentOn\": 0,\r\n    \"taxAmount\": 0,\r\n    \"taxPercent\": 0,\r\n    \"redirectType\": \"POST\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}"}],"_postman_id":"536bca07-e4de-42eb-b12c-7ace6cb1cd36"}],"id":"6e00f7c7-d2f5-4e70-b5ae-878896f194c8","description":"<h2 id=\"overview\">Overview</h2>\n<p>The <strong>Virtual Card Payout</strong> solution is designed to modernize how merchants distribute funds to their users. Traditionally, payouts (winnings, compensation, or rewards) required collecting sensitive bank details, which added friction and delayed access to funds.</p>\n<p>With Paysecure's Swiipr integration, merchants can instantly issue <strong>Virtual Mastercards</strong> directly to a user's mobile device. These cards are immediately usable online or in-store via digital wallets (Apple Pay / Google Pay).</p>\n<h3 id=\"core-use-cases\">Core Use Cases</h3>\n<ul>\n<li><p><strong>Gaming &amp; Sweepstakes:</strong> Instantly pay out winnings to players without waiting for bank transfers.</p>\n</li>\n<li><p><strong>Airline Compensation:</strong> Issue immediate funds for delayed flights or lost luggage (e.g., for food/hotel vouchers).</p>\n</li>\n<li><p><strong>Welfare &amp; Relief:</strong> Distribute emergency funds securely and instantly.</p>\n</li>\n</ul>\n<h3 id=\"the-deeplink-user-journey\">The \"Deeplink\" User Journey</h3>\n<p>Unlike standard payouts that go <em>to</em> an account, this flow <em>delivers</em> a card to the user:</p>\n<ol>\n<li><p><strong>Merchant Request:</strong> You send a payout request to Paysecure with the user's mobile number and amount.</p>\n</li>\n<li><p><strong>Instant Notification:</strong> The user receives an SMS or Email containing a secure <strong>Deeplink</strong>.</p>\n</li>\n<li><p><strong>Activation:</strong></p>\n<ul>\n<li><p><strong>New Users:</strong> The link prompts them to download the <strong>Swiipr App</strong>.</p>\n</li>\n<li><p><strong>Existing Users:</strong> The link opens the app directly.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Claim &amp; Spend:</strong> The user validates their mobile number, claims the virtual card, and provisions it to their <strong>Apple Wallet</strong> or <strong>Google Pay</strong> in one tap.</p>\n</li>\n</ol>\n<h3 id=\"key-features\">Key Features</h3>\n<ul>\n<li><p><strong>Instant Issuance:</strong> Cards are generated in real-time.</p>\n</li>\n<li><p><strong>Mobile-First:</strong> The entire experience is handled via the user's smartphone.</p>\n</li>\n<li><p><strong>Secure:</strong> No sensitive bank data is exchanged; funds are loaded onto a prepaid Mastercard.</p>\n</li>\n<li><p><strong>Flexible Funding:</strong> Merchants pre-fund their account, ensuring 100% approval rates for valid requests.</p>\n</li>\n</ul>\n<img src=\"https://content.pstmn.io/252107a8-b7eb-42ab-80df-b6adb8a756ff/aW1hZ2UucG5n\" width=\"2073\" height=\"4140\" />","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"5c7816d1-0466-4437-8fe0-3c1cb212b31e"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"0a17fb05-f6f1-452d-affa-51896a7c133d"}}],"_postman_id":"6e00f7c7-d2f5-4e70-b5ae-878896f194c8"}],"id":"3cd8e88d-621b-4301-bbcb-525a891df8d2","_postman_id":"3cd8e88d-621b-4301-bbcb-525a891df8d2","description":""},{"name":"🏦 Bank Transfers","item":[{"name":"Concepts","item":[],"id":"50a7f040-b874-42df-986f-26f57910010b","description":"<h2 id=\"payin-flows\">PayIn Flows</h2>\n<p><strong>How it works</strong></p>\n<p>Paysecure'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\" alt />\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, Paysecure 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. Paysecure 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 />Paysecure 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://lh7-us.googleusercontent.com/Zuu8ZB-0YkxC4jOKNmeEqwM6LMvLMxdTewRcU9AzcNQUOttY3aqan6-ojn2OOU7cF5B2npN8zrPPFnjbV90i2Uu0Ai05H-a730GMu52zK39fTEy0WWIEP3HC9UDTf4t78nagMG1-GannNAvqOXmD9vM\" alt />\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, Paysecure notifies the merchant’s platform via webhook, providing the final status of the transaction and additional details.</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"3e86c5a6-f2e4-4ed5-b486-93fa8960f14f"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"e97ee0ae-e9e9-43e9-9d0d-744ba3a481e3"}}],"_postman_id":"50a7f040-b874-42df-986f-26f57910010b"},{"name":"Status Code","item":[],"id":"701ee845-08ce-451d-93c7-7843f452459c","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 Paysecure 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":"0ba6dba6-6a48-4303-80ca-c9baf38f801e"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"5c5b819c-4d8c-4efb-8974-12fcb2c7d454"}}],"_postman_id":"701ee845-08ce-451d-93c7-7843f452459c"},{"name":"PayIn API","item":[{"name":"Create Purchase","id":"78e6a798-84ff-4a85-a1d9-f94e6c15627c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"city\": \"Riverton\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"68403\",\r\n        \"country\": \"DE\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"stateCode\": \"QLD\",\r\n        \"phone\": \"+447755564318\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"product name\",\r\n                \"price\": \"16\"\r\n            }\r\n        ]\r\n    },\r\n    \"merchantRef\": \"your-order-id\",\r\n    \"paymentMethod\": \"BANKTRANSFER\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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>Fields</th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td>The customer's email.</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>The customer's city.</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>The customer's address.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>The customer's ZIP or postal code. If country=US, zip format must be NNNNN or NNNNN-NNNN.</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 />  <br />Please note, the currency has to be enabled by the account manager for your account.</td>\n</tr>\n<tr>\n<td>purchase.products</td>\n<td>An object which contains the list of products which the customer is buying.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>The name of the product.</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>pending_redirect</td>\n<td>URL to send the user if the transactions is in pending.</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/1e198415-45ef-49d9-9dbf-8270bb853dab/aW1hZ2UucG5n\" width=\"1570\" height=\"743\" />\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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure 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, Paysecure 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":"noauth","isInherited":true,"source":{"_postman_id":"30ec36dc-7a51-4ca4-b9b7-51677f55095a","id":"30ec36dc-7a51-4ca4-b9b7-51677f55095a","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"03da0328-735a-4abf-a3dd-35f26c45677f","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"city\": \"Riverton\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"68403\",\r\n        \"country\": \"DE\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"stateCode\": \"QLD\",\r\n        \"phone\": \"+447755564318\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"product name\",\r\n                \"price\": \"16\"\r\n            }\r\n        ]\r\n    },\r\n    \"merchantRef\": \"your-order-id\",\r\n    \"paymentMethod\": \"BANKTRANSFER\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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\": \"user5590@example.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\": \"68403\",\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\": \"203.0.113.80\",\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\": \"your-brand-id\",\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://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\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\": \"203.0.113.80\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/66334635a2cf2a7da7b192ab/\"\r\n}"},{"id":"376c19a7-2dcb-494f-abaf-575d62cf6176","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user5772@example.com\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"city\": \"Riverton\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"68403\",\r\n        \"country\": \"DE\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"stateCode\": \"QLD\",\r\n        \"phone\": \"+447755564318\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"product name\",\r\n                \"price\": \"16\"\r\n            }\r\n        ]\r\n    },\r\n    \"merchantRef\": \"your-order-id\",\r\n    \"paymentMethod\": \"BANKTRANSFER\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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":"78e6a798-84ff-4a85-a1d9-f94e6c15627c"},{"name":"Get Status","id":"b9c091f6-c8b0-4425-8914-c909fb1d62df","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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":"noauth","isInherited":true,"source":{"_postman_id":"30ec36dc-7a51-4ca4-b9b7-51677f55095a","id":"30ec36dc-7a51-4ca4-b9b7-51677f55095a","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"56523454-508f-467f-8168-2930d240e4af","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"66c4667bb993c970367c288a\",\r\n    \"client\": {\r\n        \"email\": \"user1571@example.com\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"country\": \"IN\",\r\n        \"city\": \"Milford\",\r\n        \"zip_code\": \"68403\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"QLD\"\r\n    },\r\n    \"updated_on\": 1724147324,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"BANKTRANSFER\",\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\": \"BANKTRANSFER\"\r\n        },\r\n        \"country\": \"\",\r\n        \"attempts\": [\r\n            {\r\n                \"client_ip\": \"203.0.113.192\",\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\": 1724147324,\r\n                \"extra\": {\r\n                    \"amount\": 10.0,\r\n                    \"masked_pan\": \"BANKTRANSFER\"\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\": 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            \"status\": \"paid\",\r\n            \"timestamp\": 1724147324\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"your-brand-id\",\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    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 10.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\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\": \"203.0.113.192\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/66c4667bb993c970367c288a/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"0f91ad0b-81d6-48e9-a574-40de63d2070c","name":"Failure","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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":"b9c091f6-c8b0-4425-8914-c909fb1d62df"}],"id":"30ec36dc-7a51-4ca4-b9b7-51677f55095a","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 bank 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>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</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","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"f0076dbf-1f86-400c-a3c2-d6aa355a6f47"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"c69aaf05-fe37-4971-ab52-29cd59f79846"}}],"_postman_id":"30ec36dc-7a51-4ca4-b9b7-51677f55095a"},{"name":"PayOut API","item":[{"name":"Create PayOut","id":"13bb8bb5-ba5a-47ff-b447-a235cb7462ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user3069@example.com\",\r\n        \"country\": \"DE\",\r\n        \"city\": \"Riverton\",\r\n        \"stateCode\": \"QLD\",\r\n        \"full_name\": \"Test test\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"zip_code\": \"68403\",\r\n        \"phone\": \"+448839471521\",\r\n        \"gender\": \"M\",\r\n        \"date_of_birth\": \"1970-07-10\"\r\n    },\r\n    \"beneficiaryDetail\": {\r\n        \"bankAccountName\": \"Reese Nakamura\",\r\n        \"bankAccountNumber\": \"645101511808\",\r\n        \"bankCountryCode\": \"AT\"\r\n    },\r\n    \"purpose\": \"Testing payout\",\r\n    \"currency\": \"EUR\",\r\n    \"payoutMethod\": \"PAYOUT-BANKTRANSFER\",\r\n    \"amount\": 10.0,\r\n    \"brandId\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/payout/","description":"<p>To Initiate a payment, the very first call to make is /payout/ 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.full_name</td>\n<td>Full name of the receiver. Minimum 2 words with atleast 1 character in each word.</td>\n</tr>\n<tr>\n<td>client.email</td>\n<td>An Identifier for a receiver, should be a valid email.</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>State of the receiver. Must be in upper case.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td>street address of the receiver.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>zip code of the receiver.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>Phone number of the receiver. Country code is mandatory.  <br />Example: +234999999999</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 upto 2 decimal points</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 payout is successful</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>URL to send the user if the payout is in progress</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the payout 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><h3 id=\"required-parameters-in-the-request-body-for-this-use-case\">Required parameters in the request body for this use case:</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>beneficiaryDetail.bankName</td>\n<td>The Bank Name in which the customer want's to credit the money.  <br />  <br />Optional Field.  <br />If passed, only use the mentioned bank names below. Anything else might lead to payout failures.  <br />If you don't want to pass, then you might need to open our checkout_url in the response and user can select the Bank from the dropdown.</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankAccountName</td>\n<td>Mandatory Field.  <br />Account Holder's Full Name.  <br />It is advised to have atleast 2 words in the name.</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankAccountCurrency</td>\n<td>Optional Field.  <br />The Currency in which the money will be credited. Generally the same as the currency field mentioned above.</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankAccountNumber</td>\n<td>Mandatory Field.  <br />Account Holder's Account Number.  <br />This is the account in which the money will be credited.</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankCountryCode</td>\n<td>Optional Field.  <br />The country code in which the account exist. Generally the same as the country field mentioned above.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"c65b8afb-aa46-4a33-8118-b7d216b9c105","id":"c65b8afb-aa46-4a33-8118-b7d216b9c105","name":"PayOut API","type":"folder"}},"urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"0a4fe3dc-f18a-4837-a841-7a19aaaaa281","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user3069@example.com\",\r\n        \"country\": \"AT\",\r\n        \"city\": \"Riverton\",\r\n        \"stateCode\": \"QLD\",\r\n        \"full_name\": \"Test test\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"zip_code\": \"68403\",\r\n        \"phone\": \"+448839471521\",\r\n        \"gender\": \"M\",\r\n        \"date_of_birth\": \"1970-07-10\"\r\n    },\r\n    \"beneficiaryDetail\": {\r\n        \"bankAccountName\": \"Reese Nakamura\",\r\n        \"bankAccountNumber\": \"645101511808\",\r\n        \"bankCountryCode\": \"AT\"\r\n    },\r\n    \"purpose\": \"Testing payout\",\r\n    \"currency\": \"EUR\",\r\n    \"payoutMethod\": \"PAYOUT-BANKTRANSFER\",\r\n    \"amount\": 10.0,\r\n    \"brandId\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/payout/"},"status":"Accepted","code":202,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"65ffadb4c1c83822903a9205\",\r\n     \"client\": {\r\n        \"email\": \"user3069@example.com\",\r\n        \"country\": \"DE\",\r\n        \"city\": \"Riverton\",\r\n        \"stateCode\": \"QLD\",\r\n        \"full_name\": \"Test test\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"zip_code\": \"68403\",\r\n        \"phone\": \"+448839471521\",\r\n        \"gender\": \"M\",\r\n        \"date_of_birth\": \"1970-07-10\"\r\n    },\r\n    \"updated_on\": 1711254964,\r\n    \"payoutMethod\": \"Payout-BANKTRANSFER\",\r\n\t\"beneficiaryDetail\":{\r\n        \"bankAccountName\": \"Reese Nakamura\",\r\n        \"bankAccountNumber\": \"645101511808\",\r\n        \"bankName\": \"ICICI Bank\"\r\n     },\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 10.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\": \"PAID\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1711254964\r\n        },\r\n        {\r\n            \"status\": \"paid\",\r\n            \"timestamp\": 1711254972\r\n        }\r\n    ],\r\n    \"currency\": \"EUR\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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}\r\n"},{"id":"f6334fb6-23fe-4cde-ac4d-2b3f7d853ed1","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user3069@example.com\",\r\n        \"country\": \"DE\",\r\n        \"city\": \"Riverton\",\r\n        \"stateCode\": \"QLD\",\r\n        \"full_name\": \"Test test\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"zip_code\": \"68403\",\r\n        \"phone\": \"+448839471521\",\r\n        \"gender\": \"M\",\r\n        \"date_of_birth\": \"1970-07-10\"\r\n    },\r\n    \"beneficiaryDetail\": {\r\n        \"bankAccountName\": \"Reese Nakamura\",\r\n        \"bankAccountNumber\": \"645101511808\",\r\n        \"bankName\": \"ICICI Bank\"\r\n    },\r\n    \"purpose\": \"Testing payout\",\r\n    \"currency\": \"EUR\",\r\n    \"payoutMethod\": \"PAYOUT-BANKTRANSFER\",\r\n    \"amount\": 10.0,\r\n    \"brandId\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/payout/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":" {\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"13bb8bb5-ba5a-47ff-b447-a235cb7462ce"},{"name":"Get Status","id":"4680e0d3-8a01-4465-a913-69fb7bc7535f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.paysecure.net/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://your.success.callback.com\">https://your.success.callback.com</a>\",</p>\n<p>Error: \"failure_callback\": “<a href=\"https://failure.com%E2%80%9D\">https://failure.com”</a></p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"c65b8afb-aa46-4a33-8118-b7d216b9c105","id":"c65b8afb-aa46-4a33-8118-b7d216b9c105","name":"PayOut API","type":"folder"}},"urlObject":{"path":["getpayout","{payoutId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"4aaf7cf6-a9fa-474f-9cf1-65c8a3357da6","name":"Get Status","originalRequest":{"method":"GET","header":[],"url":"https://api.paysecure.net/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"65ffadb4c1c83822903a9205\",\r\n    \"client\": {\r\n        \"email\": \"user5424@example.com\",\r\n        \"full_name\": \"Avery Larsen\",\r\n        \"street_address\": \"13 Documentation Way\",\r\n        \"country\": \"SG\",\r\n        \"city\": \"Oakdale\",\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://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}\r\n"},{"id":"c6a68505-4f0b-4c76-a4dc-5408be9eee82","name":"Get Status-error","originalRequest":{"method":"GET","header":[],"url":"https://api.paysecure.net/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":"4680e0d3-8a01-4465-a913-69fb7bc7535f"}],"id":"c65b8afb-aa46-4a33-8118-b7d216b9c105","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","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"97f278d0-cba9-4b5d-b460-3dede9244ac9"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"c2f77cfa-ae42-404a-b716-482db48ff06d"}}],"_postman_id":"c65b8afb-aa46-4a33-8118-b7d216b9c105"},{"name":"Get Balance API","item":[{"name":"Checking Balance","id":"5275fca1-8102-48f4-92ab-9d41e195e0e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"paymentMethod\": \"BANKTRANSFER\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/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":"noauth","isInherited":true,"source":{"_postman_id":"0dcc34d7-1480-45be-8bb6-5375e32a5bb7","id":"0dcc34d7-1480-45be-8bb6-5375e32a5bb7","name":"Get Balance API","type":"folder"}},"urlObject":{"path":["getBalance"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"f3e52157-3334-4844-ae5a-a80a099640ba","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"paymentMethod\": \"BANKTRANSFER\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/getBalance"},"status":"OK","code":200,"_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":"150c749f-2a3b-473e-a333-806f487ff10d","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"paymentMethod\": \"BANKTRANSFER\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/getBalance"},"status":"Bad Request","code":400,"_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":"5275fca1-8102-48f4-92ab-9d41e195e0e3"}],"id":"0dcc34d7-1480-45be-8bb6-5375e32a5bb7","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"7a7d1ac0-83ad-465e-8c58-91b57121efb9"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"8e8be744-66dd-4344-bfb0-50bdf1a85f83"}}],"_postman_id":"0dcc34d7-1480-45be-8bb6-5375e32a5bb7","description":""}],"id":"3e586c4a-498e-4db9-a239-f7b725c57250","_postman_id":"3e586c4a-498e-4db9-a239-f7b725c57250","description":""},{"name":"OpenBanking - EUR 🇪🇺 & UK 🇬🇧","item":[{"name":"Concepts","item":[],"id":"3fe29883-279e-4bb7-bc9b-c586aa80dcf6","description":"<h2 id=\"overview\">Overview</h2>\n<p>Paysecure leverages its Open Banking network across Europe and the UK to make secure, fast, bank-to-bank payments. Customers pay in <code>EUR</code> or <code>GBP</code> via the Paysecure Gateway, directly from their bank account. This is a top choice for customers in these regions who prefer paying from their bank over cards.</p>\n<p>The <strong>Paysecure Gateway</strong> is a hosted web page that handles all user interaction during payment initiation: credential input, interactive confirmation, progress reporting, and error reporting. After your application receives the payment URL (<code>checkout_url</code>), you redirect the customer to it; they pick their provider/bank, authenticate, and are redirected back to your application.</p>\n<img src=\"https://content.pstmn.io/c7278138-1f4f-4363-8933-4f8e61b71e15/b2JfcGF5aW5fZmxvdy5wbmc=\" />\n\n<h2 id=\"coverage--limits\">Coverage &amp; Limits</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Region</strong></th>\n<th><strong>Processing currency</strong></th>\n<th><strong>Countries</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Europe</td>\n<td><code>EUR</code></td>\n<td>Austria, Belgium, Bulgaria, Czech Republic, Denmark, Estonia, Finland, France, Germany, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, Netherlands, Norway, Poland, Portugal, Romania, Slovakia, Spain, Sweden, Switzerland</td>\n</tr>\n<tr>\n<td>United Kingdom</td>\n<td><code>GBP</code></td>\n<td>United Kingdom</td>\n</tr>\n</tbody>\n</table>\n</div><p>Transaction limits and the purchase expiry window (how long the customer has to complete payment before the purchase moves to <code>expired</code>) are set per merchant profile / provider. Contact your Account Manager for the exact values enabled on your account.</p>\n<h2 id=\"payin-flow\">PayIn Flow</h2>\n<p><strong>How it works:</strong> you create a purchase with <code>paymentMethod</code> set to <code>OPEN-BANKING</code>. Paysecure returns a <code>checkout_url</code>; you redirect the customer there, they select their bank and authorise the payment inside their bank, and Paysecure notifies you of the result via webhook while redirecting the customer back to your site.</p>\n<p><strong>Flow</strong></p>\n<ul>\n<li><p><strong>Customer selects Open Banking:</strong> at checkout, the customer chooses Open Banking as the payment method.</p>\n</li>\n<li><p><strong>Merchant creates the purchase:</strong> you call <code>POST https://api.paysecure.net/api/v1/purchases/</code> with <code>paymentMethod</code> = <code>OPEN-BANKING</code> and receive a <code>purchaseId</code> and <code>checkout_url</code>.</p>\n</li>\n<li><p><strong>Redirect to bank:</strong> you redirect the customer to the <code>checkout_url</code>; on the Paysecure Gateway they select their provider/bank and are taken to their bank's login page.</p>\n</li>\n<li><p><strong>Customer authenticates:</strong> the customer logs in to their online banking and reviews the pre-filled payment details. Credentials stay with the bank - they are never shared with you or Paysecure.</p>\n</li>\n<li><p><strong>Customer authorises:</strong> the customer authorises the payment using their bank's method (e.g. OTP, app approval). The bank debits the account.</p>\n</li>\n<li><p><strong>Confirmation:</strong> the bank confirms to Paysecure; Paysecure fires the <code>paid</code> webhook to your <code>success_callback</code> and the purchase status becomes <code>paid</code>.</p>\n</li>\n<li><p><strong>Redirect back:</strong> the customer is redirected to your <code>success_redirect</code>, where you show a confirmation page. Always treat the webhook (or a Get Status call) as the source of truth, not the redirect alone.</p>\n</li>\n</ul>\n<p><strong>Unhappy paths:</strong> if the customer abandons or does not complete authorisation in time, the purchase becomes <code>expired</code>; if the bank declines, it becomes <code>error</code>. Handle both in your integration.</p>\n<h2 id=\"webhook-events\">Webhook Events</h2>\n<p>These are the events you can expect for an Open Banking purchase. See the global <strong>Webhooks</strong> section for the payload shape and signature verification.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Event</strong></th>\n<th><strong>Status</strong></th>\n<th><strong>When it fires</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>purchase created</td>\n<td><code>created</code></td>\n<td>Purchase registered, awaiting customer</td>\n<td>No</td>\n</tr>\n<tr>\n<td>payment in process</td>\n<td><code>payment_in_process</code></td>\n<td>Customer authorised at the bank, awaiting settlement confirmation</td>\n<td>No</td>\n</tr>\n<tr>\n<td>purchase paid</td>\n<td><code>paid</code></td>\n<td>Funds confirmed by the bank</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>purchase expired</td>\n<td><code>expired</code></td>\n<td>Customer did not complete payment within the allowed window</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>purchase error</td>\n<td><code>error</code></td>\n<td>Payment failed or was declined</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>refund in process</td>\n<td><code>refund_in_process</code></td>\n<td>A refund has been initiated, awaiting the bank</td>\n<td>No</td>\n</tr>\n<tr>\n<td>purchase refunded</td>\n<td><code>refunded</code></td>\n<td>Refund confirmed by the bank</td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"faqs\">FAQs</h2>\n<p><strong>Which currencies can I charge in?</strong> <code>EUR</code> for the European countries listed above and <code>GBP</code> for the UK. The customer's bank may convert from their local currency.</p>\n<p><strong>Are refunds supported?</strong> Yes - full refunds only, once the purchase is <code>paid</code>. Partial refunds are not supported.</p>\n<p><strong>Are chargebacks possible?</strong> Open Banking is a bank-to-bank push payment, so card-style chargebacks do not apply. Disputes, where they occur, are handled bank-side and are rare.</p>\n<p><strong>How fast is confirmation?</strong> Typically real-time - you receive the <code>paid</code> webhook once the customer's bank confirms the transfer.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"659bcebd-6194-4a0f-85a7-278e1ced4f7b"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"9bd0684a-af23-42bf-8036-5ef4eb67f4d1"}}],"_postman_id":"3fe29883-279e-4bb7-bc9b-c586aa80dcf6"},{"name":"APIs","item":[{"name":"Purchases","id":"571d967c-f427-4aad-8897-3f85d9c5e71a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5540@example.com\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"LND\",\n        \"street_address\": \"1 Example Street\",\n        \"zip_code\": \"59016\",\n        \"full_name\": \"Riley Costa\",\n        \"date_of_birth\": \"1994-04-21\",\n        \"phone\": \"+447755564318\",\n        \"gender\": \"male\"\n    },\n    \"purchase\": {\n        \"currency\": \"GBP\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": \"10.00\"\n            },\n            {\n                \"name\": \"retail\",\n                \"price\": \"11.00\"\n            }\n        ],\n        \"total\": 21\n    },\n    \"paymentMethod\": \"OPEN-BANKING\",\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"<your_transactionId>\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/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. Set <code>paymentMethod</code> to <code>OPEN-BANKING</code> to route the purchase through the Open Banking flow.</p>\n<p>To generate a purchase you must provide your <code>brand_id</code> (in the request body) and your API key (in the <code>Authorization</code> header). Both can be located in the Dashboard section of your merchant account login.</p>\n<p>On success you receive a <code>purchaseId</code> and a <code>checkout_url</code>; redirect the customer to the <code>checkout_url</code> to complete the payment at their bank.</p>\n<h3 id=\"request-body-parameters\">Request Body Parameters</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>Mandatory.  <br />The customer's email address.</td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td>Optional.  <br />The customer's full name.</td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>Mandatory.  <br />ISO 3166-1 alpha-2 country code, upper case (e.g. <code>GB</code>, <code>DE</code>). Must be a supported Open Banking country.</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>Mandatory.  <br />The customer's city.</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Mandatory.  <br />State / region code, upper case (e.g. <code>LND</code>).</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td>Mandatory.  <br />The customer's street address.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>Mandatory.  <br />The customer's ZIP / postal code.</td>\n</tr>\n<tr>\n<td>client.date_of_birth</td>\n<td>Optional.  <br />Format <code>yyyy-mm-dd</code>.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>Optional.  <br />Customer phone in international format (e.g. <code>+44...</code>).</td>\n</tr>\n<tr>\n<td>client.gender</td>\n<td>Optional.  <br /><code>male</code> / <code>female</code>.</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory.  <br />ISO 4217 code. Must be <code>EUR</code> (Europe) or <code>GBP</code> (UK) for Open Banking, and enabled on your account by your Account Manager.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory.  <br />Name of each product in the order.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory.  <br />Price in decimal with 2 places: EUR 5 -&gt; <code>5.00</code>; GBP 10.37 -&gt; <code>10.37</code>.</td>\n</tr>\n<tr>\n<td>purchase.total</td>\n<td>Optional.  <br />Order total. If omitted, Paysecure sums the product prices.</td>\n</tr>\n<tr>\n<td>paymentMethod</td>\n<td>Mandatory.  <br />Must be <code>OPEN-BANKING</code>. This performs a direct Open Banking payment instead of loading the full method-selection page.</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Mandatory.  <br />Your Brand ID, from the Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>merchantRef</td>\n<td>Optional (recommended).  <br />Your unique transaction reference - see <em>Essential Optional Parameters</em> below.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory.  <br />URL to send the customer to if the transaction is successful.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Mandatory.  <br />URL to send the customer to if the transaction is pending.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory.  <br />URL to send the customer to if the transaction is unsuccessful.</td>\n</tr>\n<tr>\n<td>success_callback</td>\n<td>Optional.  <br />Server-to-server (webhook) URL called on success.</td>\n</tr>\n<tr>\n<td>failure_callback</td>\n<td>Optional.  <br />Server-to-server (webhook) URL called on failure.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"essential-optional-parameters\">Essential Optional Parameters</h3>\n<p><strong>merchantRef</strong> - although not mandatory, it is strongly advised. It gives you two advantages:</p>\n<ul>\n<li><p><strong>Prevention of duplicate requests:</strong> <code>merchantRef</code> acts as a unique identifier. If a second purchase is sent with the same <code>merchantRef</code>, the system recognises it and prevents a duplicate transaction.</p>\n</li>\n<li><p><strong>Transaction retrieval:</strong> if the response to the initial purchase times out or the <code>purchaseId</code> is not received, you can still retrieve the transaction using your <code>merchantRef</code>.</p>\n</li>\n</ul>\n<p>If you do not send a <code>merchantRef</code>, Paysecure assigns the internal <code>purchaseId</code> as the reference for that transaction.</p>\n<h3 id=\"response\">Response</h3>\n<p>A successful create returns HTTP <code>202 ACCEPTED</code> and the full purchase envelope, including <code>purchaseId</code>, <code>status</code> (e.g. <code>PAYMENT_IN_PROCESS</code>), <code>status_history</code>, and the <code>checkout_url</code> you redirect the customer to. <code>refund_availability</code> is <code>NONE</code> until the purchase reaches <code>paid</code>.</p>\n<h3 id=\"errors\">Errors</h3>\n<p>Errors are returned in the form <code>{\"message\": \"...\", \"code\": \"...\"}</code>. Common messages include: <code>Brand not found !</code>, <code>some Mandatory Parameter are missing</code>, <code>Invalid Email Format</code>, <code>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \"country\" parameter</code>, <code>Please pass Valid State Code</code>, <code>Only {{currencyCode}} currency is allowed.</code>, <code>You are not Allowed for Live Transaction</code>, and <code>Transaction amount must be equal or greater to minimum trans amount</code>.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"ccc71b4f-7236-4bae-bcb1-e0a5ef81d946","id":"ccc71b4f-7236-4bae-bcb1-e0a5ef81d946","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"719dfe0d-a571-44dd-8f83-ebf9d3a98b77","name":"Purchases - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5540@example.com\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"LND\",\n        \"street_address\": \"1 Example Street\",\n        \"zip_code\": \"59016\",\n        \"full_name\": \"Riley Costa\",\n        \"date_of_birth\": \"1994-04-21\",\n        \"phone\": \"+447755564318\",\n        \"gender\": \"male\"\n    },\n    \"purchase\": {\n        \"currency\": \"GBP\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": \"10.00\"\n            },\n            {\n                \"name\": \"retail\",\n                \"price\": \"11.00\"\n            }\n        ],\n        \"total\": 21\n    },\n    \"paymentMethod\": \"OPEN-BANKING\",\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"<your_transactionId>\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"68c3a4a031ee334ef2c02b2a\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5540@example.com\",\n        \"date_of_birth\": \"1994-04-21\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"59016\",\n        \"full_name\": \"Riley Costa\",\n        \"phone\": \"+447755564318\",\n        \"gender\": \"male\",\n        \"stateCode\": \"LND\"\n    },\n    \"updated_on\": 1757652134,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"OPEN-BANKING\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"errorCode\": \"NA\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1757652128,\n    \"merchantRef\": \"68c3a4a031ee334ef2c02b2a\",\n    \"merchantName\": \"merchantName\",\n    \"purchase\": {\n        \"currency\": \"GBP\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"quantity\": 1,\n                \"price\": 10,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            },\n            {\n                \"name\": \"retail\",\n                \"quantity\": 1,\n                \"price\": 11,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 21,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 21,\n        \"taxAmount\": 0,\n        \"taxPercent\": 0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 21,\n        \"currency\": \"GBP\",\n        \"net_amount\": 21,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1757652129,\n        \"remote_paid_on\": 1757652129\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\": \"Testing\",\n        \"brand_name\": \"Testing\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"OPEN-BANKING\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"amount\": 21,\n            \"masked_pan\": \"OPEN-BANKING\"\n        },\n        \"country\": \"GB\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.3\",\n                \"type\": \"execute\",\n                \"payment_method\": \"OPEN-BANKING\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"GB\",\n                \"processing_time\": 1757652129,\n                \"extra\": {\n                    \"amount\": 21,\n                    \"masked_pan\": \"OPEN-BANKING\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAYMENT_IN_PROCESS\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1757652128\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1757652129\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1757652134\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS93\",\n    \"issued\": \"2025-09-12\",\n    \"due\": 1757652128,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"0\",\n    \"paidOn\": 0,\n    \"taxAmount\": 0,\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.3\",\n    \"checkout_url\": \"https://gateway.paysecure.net/payments/63cddfa1a4948aba8e8ee9f319e3428f/\",\n    \"payoutProcess\": false\n}"},{"id":"07964b54-671d-4379-b32e-2b58bf78414d","name":"Purchases - Error (Brand not found)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5540@example.com\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"LND\",\n        \"street_address\": \"1 Example Street\",\n        \"zip_code\": \"59016\",\n        \"full_name\": \"Riley Costa\",\n        \"date_of_birth\": \"1994-04-21\",\n        \"phone\": \"+447755564318\",\n        \"gender\": \"male\"\n    },\n    \"purchase\": {\n        \"currency\": \"GBP\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": \"10.00\"\n            },\n            {\n                \"name\": \"retail\",\n                \"price\": \"11.00\"\n            }\n        ],\n        \"total\": 21\n    },\n    \"paymentMethod\": \"OPEN-BANKING\",\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"<your_transactionId>\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Brand not found !\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"571d967c-f427-4aad-8897-3f85d9c5e71a"},{"name":"Refund","id":"63d8070a-1ec0-4ef6-a3f6-244760e057ac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund","description":"<p>This call initiates a refund of a purchase. Only purchases with status <code>paid</code> can be refunded.</p>\n<p>Once a refund is initiated, the purchase status becomes <code>refund_in_process</code>; once the bank approves the refund, it becomes <code>refunded</code>.</p>\n<p><strong>Mandatory:</strong> pass the <code>purchaseId</code> in the URL: <code>GET https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund</code>.</p>\n<p><strong>Partial refunds are not supported</strong> for Open Banking - a refund always returns the full amount.</p>\n<h3 id=\"response\">Response</h3>\n<p>Returns the full purchase envelope with the updated <code>status</code> (<code>refund_in_process</code>, then <code>refunded</code> once confirmed). Watch the <code>refund_in_process</code> and <code>refunded</code> webhooks for the final outcome.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"ccc71b4f-7236-4bae-bcb1-e0a5ef81d946","id":"ccc71b4f-7236-4bae-bcb1-e0a5ef81d946","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}","refund"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"5ccab2a9-affc-4454-87c9-478a8ab1a633","name":"Refund - Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/657af976c3fceb7beb30eeb4/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\": \"user6085@example.com\",\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\": \"203.0.113.133\",\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\": \"203.0.113.133\",\n                \"type\": \"refund\",\n                \"successful\": true,\n                \"processing_time\": 1690302819,\n                \"extra\": {\n                    \"amount\": 9\n                }\n            }\n        ]\n    },\n    \"status\": \"REFUNDED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1765294731\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1765294744\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1765294754\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1765297331\n        },\n        {\n            \"status\": \"refunded\",\n            \"timestamp\": 1765624009\n        }\n    ],\n    \"viewedOn\": 1690299929,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\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://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.133\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/64bfdb7df63e36669499e82f/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/64bfdb7df63e36669499e82f/\"\n}"},{"id":"42ba7217-2c37-49d8-9c9a-4e12353b3550","name":"Refund - Success (Refund in process)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"68c3a4a031ee334ef2c02b2a\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5540@example.com\",\n        \"date_of_birth\": \"1994-04-21\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"59016\",\n        \"full_name\": \"Riley Costa\",\n        \"phone\": \"+447755564318\",\n        \"gender\": \"male\",\n        \"stateCode\": \"LND\"\n    },\n    \"updated_on\": 1757652134,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"OPEN-BANKING\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"errorCode\": \"NA\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1757652128,\n    \"merchantRef\": \"68c3a4a031ee334ef2c02b2a\",\n    \"merchantName\": \"merchantName\",\n    \"purchase\": {\n        \"currency\": \"GBP\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"quantity\": 1,\n                \"price\": 10,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            },\n            {\n                \"name\": \"retail\",\n                \"quantity\": 1,\n                \"price\": 11,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 21,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 21,\n        \"taxAmount\": 0,\n        \"taxPercent\": 0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 21,\n        \"currency\": \"GBP\",\n        \"net_amount\": 21,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1757652129,\n        \"remote_paid_on\": 1757652129\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\": \"Testing\",\n        \"brand_name\": \"Testing\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"OPEN-BANKING\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"amount\": 21,\n            \"masked_pan\": \"OPEN-BANKING\"\n        },\n        \"country\": \"GB\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.3\",\n                \"type\": \"execute\",\n                \"payment_method\": \"OPEN-BANKING\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"GB\",\n                \"processing_time\": 1757652129,\n                \"extra\": {\n                    \"amount\": 21,\n                    \"masked_pan\": \"OPEN-BANKING\"\n                }\n            }\n        ]\n    },\n    \"status\": \"REFUND_IN_PROCESS\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1757652128\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1757652129\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1757652134\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1757652140\n        },\n        {\n            \"status\": \"refund_in_process\",\n            \"timestamp\": 1757655000\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS93\",\n    \"issued\": \"2025-09-12\",\n    \"due\": 1757652128,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"0\",\n    \"paidOn\": 1757652140,\n    \"taxAmount\": 0,\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.3\",\n    \"checkout_url\": \"https://gateway.paysecure.net/payments/63cddfa1a4948aba8e8ee9f319e3428f/\",\n    \"payoutProcess\": false\n}"},{"id":"cac26828-c0cb-4777-b449-dee6321f65d4","name":"Refund - Error (Not refundable)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/refund"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Refund is allowed only for paid purchases\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"63d8070a-1ec0-4ef6-a3f6-244760e057ac"},{"name":"Get Status","id":"0a98fa82-eeb8-425e-b5d7-7b082e7db7ae","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}","description":"<p>This call returns all the details of a purchase, including its full status history. Use it to confirm the outcome of an Open Banking payment (alongside the webhook).</p>\n<p><strong>Mandatory:</strong> pass the <code>purchaseId</code> in the URL: <code>GET https://api.paysecure.net/api/v1/purchases/{purchaseId}/</code>.</p>\n<h3 id=\"possible-values-of-status\">Possible values of <code>status</code></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>Meaning</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>created</code></td>\n<td>Purchase order has been created.</td>\n</tr>\n<tr>\n<td><code>payment_in_process</code></td>\n<td>Payment is under processing.</td>\n</tr>\n<tr>\n<td><code>paid</code></td>\n<td>Transaction successful.</td>\n</tr>\n<tr>\n<td><code>refund_in_process</code></td>\n<td>A refund is under processing.</td>\n</tr>\n<tr>\n<td><code>refunded</code></td>\n<td>Payment has been refunded.</td>\n</tr>\n<tr>\n<td><code>chargeback</code></td>\n<td>Payment is in a chargeback state.</td>\n</tr>\n<tr>\n<td><code>expired</code></td>\n<td>Purchase has expired.</td>\n</tr>\n<tr>\n<td><code>overdue</code></td>\n<td>Purchase is overdue.</td>\n</tr>\n<tr>\n<td><code>cancelled</code></td>\n<td>Purchase was cancelled.</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>Transaction has failed.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"error-details\">Error details</h3>\n<p>If there are issues with the purchase, you can get more detail from the <code>transaction_data.attempts.error</code> attribute of the response object.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"ccc71b4f-7236-4bae-bcb1-e0a5ef81d946","id":"ccc71b4f-7236-4bae-bcb1-e0a5ef81d946","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"0d8f7dca-b8f8-49b3-b5f8-20fb2a5cfdd8","name":"Get Status - Success (Paid)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"68c3a4a031ee334ef2c02b2a\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5540@example.com\",\n        \"date_of_birth\": \"1994-04-21\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"59016\",\n        \"full_name\": \"Riley Costa\",\n        \"phone\": \"+447755564318\",\n        \"gender\": \"male\",\n        \"stateCode\": \"LND\"\n    },\n    \"updated_on\": 1757652134,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"OPEN-BANKING\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"errorCode\": \"NA\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1757652128,\n    \"merchantRef\": \"68c3a4a031ee334ef2c02b2a\",\n    \"merchantName\": \"merchantName\",\n    \"purchase\": {\n        \"currency\": \"GBP\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"quantity\": 1,\n                \"price\": 10,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            },\n            {\n                \"name\": \"retail\",\n                \"quantity\": 1,\n                \"price\": 11,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 21,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 21,\n        \"taxAmount\": 0,\n        \"taxPercent\": 0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 21,\n        \"currency\": \"GBP\",\n        \"net_amount\": 21,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1757652129,\n        \"remote_paid_on\": 1757652129\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\": \"Testing\",\n        \"brand_name\": \"Testing\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"OPEN-BANKING\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"amount\": 21,\n            \"masked_pan\": \"OPEN-BANKING\"\n        },\n        \"country\": \"GB\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.3\",\n                \"type\": \"execute\",\n                \"payment_method\": \"OPEN-BANKING\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"GB\",\n                \"processing_time\": 1757652129,\n                \"extra\": {\n                    \"amount\": 21,\n                    \"masked_pan\": \"OPEN-BANKING\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1757652128\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1757652129\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1757652134\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1757652140\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS93\",\n    \"issued\": \"2025-09-12\",\n    \"due\": 1757652128,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"0\",\n    \"paidOn\": 1757652140,\n    \"taxAmount\": 0,\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\n    \"refund_availability\": \"FULL_ONLY\",\n    \"refundable_amount\": 21,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.3\",\n    \"checkout_url\": \"https://gateway.paysecure.net/payments/63cddfa1a4948aba8e8ee9f319e3428f/\",\n    \"payoutProcess\": false\n}"},{"id":"11d037af-b31c-409c-ae4a-b84ae4be9cd1","name":"Get Status - Error (Purchase not found)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Purchase not found\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"0a98fa82-eeb8-425e-b5d7-7b082e7db7ae"}],"id":"ccc71b4f-7236-4bae-bcb1-e0a5ef81d946","description":"<p>The Open Banking PayIn endpoints follow Paysecure's standard <code>/purchases</code> contract. Create a purchase with <code>paymentMethod</code> = <code>OPEN-BANKING</code>, redirect the customer to the returned <code>checkout_url</code>, then confirm the result with the webhook or the Get Status call.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"41432d3a-8b7d-4212-8aba-463f379e8d46"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"13ccb863-6006-454f-8294-57f1f8906ecb"}}],"_postman_id":"ccc71b4f-7236-4bae-bcb1-e0a5ef81d946"}],"id":"cf02344f-abdf-468a-825b-0b804bc7464b","description":"<p>Open Banking lets your customers pay directly from their bank account through a secure, bank-hosted authentication flow, instead of using a card or a wallet. It is the preferred way to pay in many European markets and the UK, where real-time bank transfers are trusted and widely used.</p>\n<p>Paysecure connects to local Open Banking / bank-transfer networks so you get one integration for many countries, with compliance (PSD2 in Europe), security, and real-time confirmation handled for you.</p>\n<p><strong>Key benefits</strong></p>\n<ul>\n<li><p><strong>Localised payment options</strong> — region-specific bank rails your customers already trust.</p>\n</li>\n<li><p><strong>Secure transactions</strong> — payments are authorised inside the customer's own bank; credentials are never shared with you or Paysecure.</p>\n</li>\n<li><p><strong>Real-time verification</strong> — payment confirmation arrives via webhook, improving cash flow and reducing risk.</p>\n</li>\n<li><p><strong>Compliance</strong> — adheres to PSD2 (Europe) and local regulatory standards.</p>\n</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Payment type</td>\n<td>Real-time bank transfer (Open Banking / PSD2)</td>\n</tr>\n<tr>\n<td>Countries</td>\n<td>Europe (24) + UK (1) — 25 in total (see Concepts -&gt; Coverage &amp; Limits)</td>\n</tr>\n<tr>\n<td>Processing currency</td>\n<td><code>EUR</code> (Europe), <code>GBP</code> (UK)</td>\n</tr>\n<tr>\n<td><code>paymentMethod</code> enum</td>\n<td><code>OPEN-BANKING</code></td>\n</tr>\n<tr>\n<td>PayIn</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>PayOut</td>\n<td>No</td>\n</tr>\n<tr>\n<td>Refunds</td>\n<td>Yes - full only (no partial refunds)</td>\n</tr>\n<tr>\n<td>Recurring / MIT</td>\n<td>No</td>\n</tr>\n<tr>\n<td>Chargebacks</td>\n<td>Rare - bank-to-bank push payment; a <code>chargeback</code> status exists on the platform but card-style disputes do not apply</td>\n</tr>\n<tr>\n<td>Customer flow</td>\n<td>Redirect to Paysecure Gateway -&gt; pick bank -&gt; log in &amp; authorise at the bank</td>\n</tr>\n<tr>\n<td>Payment confirmation</td>\n<td>Real-time (webhook + status polling)</td>\n</tr>\n<tr>\n<td>Transaction limits</td>\n<td>Set per merchant profile - contact your Account Manager</td>\n</tr>\n<tr>\n<td>Settlement</td>\n<td>Set per merchant profile - contact your Account Manager</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"f6d58b0a-04e4-47e5-9159-2dff5e55c61f"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"65d58fd4-c627-47df-acde-e935be2027e5"}}],"_postman_id":"cf02344f-abdf-468a-825b-0b804bc7464b"},{"name":"🌎 Google Pay (Seamless)","item":[{"name":"Concepts","item":[],"id":"e24a175b-0c2c-4495-aa29-d9cbf4b9a29d","description":"<h2 id=\"get-started\"><strong>Get started</strong></h2>\n<p>Paysecure’s Server-to-Server (S2S) integration for Google Pay allows merchants to process Google Pay transactions securely from their backend systems. In this model, merchants are responsible for generating the Google Pay payment token on their client application and sending it to their server, which then communicates with Paysecure APIs.</p>\n<p>This integration uses DIRECT tokenization, where payment data is securely generated by Google Pay and passed to Paysecure for processing.</p>\n<p>This integration is recommended for merchants who require:</p>\n<ul>\n<li><p>Integration with Google Pay wallets</p>\n</li>\n<li><p>Secure handling of tokenized payment data</p>\n</li>\n<li><p>Flexibility in choosing PCI scope (encrypted vs decrypted flow)</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"how-it-works\"><strong>How it works</strong></h2>\n<p>The Google Pay S2S payment flow follows a two-step process:</p>\n<h4 id=\"1-generate-google-pay-token-client-side\"><strong>1. Generate Google Pay Token (Client-side)</strong></h4>\n<p>The merchant integrates Google Pay SDK (Web/Android) to generate a payment token using DIRECT flow.</p>\n<h4 id=\"2-submit-token-via-s2s\"><strong>2. Submit Token via S2S</strong></h4>\n<p>The merchant server sends the Google Pay token (encrypted or decrypted) to Paysecure via the /purchase API.</p>\n<hr />\n<h2 id=\"supported-tokenization-type\"><strong>Supported Tokenization Type</strong></h2>\n<p>Paysecure supports DIRECT flow only.</p>\n<p>PAYMENT_GATEWAY flow is not supported yet.</p>\n<hr />\n<h2 id=\"google-pay-processing-overview\"><strong>Google Pay Processing Overview</strong></h2>\n<p>Google Pay transactions are processed as card-not-present payments using tokenized card data (PAN/DPAN) along with a cryptogram provided by Google Pay.</p>\n<p>These transactions go through:</p>\n<ul>\n<li><p>Card network (Visa, Mastercard, etc.)</p>\n</li>\n<li><p>Issuing bank authorization</p>\n</li>\n<li><p>Risk and fraud checks</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"integration-options\"><strong>Integration Options</strong></h2>\n<p>Paysecure supports two integration modes:</p>\n<hr />\n<h3 id=\"1-encrypted-token-flow-recommended\"><strong>1. Encrypted Token Flow (Recommended)</strong></h3>\n<p>In this flow, the merchant sends the encrypted Google Pay token to Paysecure. Paysecure decrypts and processes the payment.</p>\n<h4 id=\"key-characteristics\">Key Characteristics</h4>\n<ul>\n<li><p>Merchant does not handle PAN</p>\n</li>\n<li><p>Reduced PCI scope</p>\n</li>\n<li><p>Recommended for most merchants</p>\n</li>\n</ul>\n<h4 id=\"pci-impact\">PCI Impact</h4>\n<p>Merchants can significantly reduce PCI DSS scope since sensitive card data is handled by Paysecure.</p>\n<hr />\n<h3 id=\"2-decrypted-token-flow\"><strong>2. Decrypted Token Flow</strong></h3>\n<p>In this flow, the merchant decrypts the Google Pay token and sends decrypted token details to Paysecure.</p>\n<h4 id=\"key-characteristics-1\">Key Characteristics</h4>\n<ul>\n<li><p>PAN is available at merchant side</p>\n</li>\n<li><p>Faster processing</p>\n</li>\n<li><p>Full control over payment data</p>\n</li>\n</ul>\n<h4 id=\"pci-impact-1\">PCI Impact</h4>\n<p>Merchants must be PCI DSS compliant (SAQ D) as they handle raw card data.</p>\n<hr />\n<h2 id=\"before-you-begin\"><strong>Before you begin</strong></h2>\n<p>Ensure the following prerequisites are met:</p>\n<ul>\n<li><p>You have received your API credentials from Paysecure.</p>\n</li>\n<li><p>You have a valid Google Merchant ID</p>\n</li>\n<li><p>You have integrated Google Pay SDK to generate tokens</p>\n</li>\n<li><p>You have configured DIRECT tokenization in Google Pay</p>\n</li>\n<li><p>Your server can make secure HTTPS requests</p>\n</li>\n<li><p>You have a valid brand_id provided by Paysecure</p>\n</li>\n</ul>\n<h3 id=\"additional-requirements-encrypted-flow\">Additional Requirements (Encrypted Flow)</h3>\n<ul>\n<li><p>Generate EC key pair (P-256 / secp256r1)</p>\n</li>\n<li><p>Register public key in Google Pay Console</p>\n</li>\n<li><p>Share private key securely with Paysecure</p>\n</li>\n</ul>\n<h3 id=\"additional-requirements-decrypted-flow\">Additional Requirements (Decrypted Flow)</h3>\n<ul>\n<li><p>Implement token decryption using Google Tink library</p>\n</li>\n<li><p>Ensure full PCI DSS compliance</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"e795c077-616f-4f81-9c18-78a836da3262"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"5073b138-1713-4163-9e09-b237ce467a22"}}],"_postman_id":"e24a175b-0c2c-4495-aa29-d9cbf4b9a29d"},{"name":"APIs","item":[{"name":"Purchases (Encrypted Flow)","id":"80462835-d8c7-496c-9ed6-04ee77fb55c7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9831@example.com\",\r\n        \"full_name\": \"Casey Novak\",\r\n        \"date_of_birth\": \"1800-01-01\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Westbury\",\r\n        \"zip_code\": \"110001\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"DL\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"e-commerce\",\r\n                \"price\": \"10\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"GOOGLEPAY\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\r\n        \"googlepay_param\": {\r\n            \"google_merchant_id\": \"merchant:1234567890\",\r\n            \"googlepay_encrypted_payload\": \"{\\\"signature\\\":\\\"MEUCIQC...\\\",\\\"intermediateSigningKey\\\":{...},\\\"protocolVersion\\\":\\\"ECv2\\\",\\\"signedMessage\\\":\\\"{...}\\\"}\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/","description":"<p>To process a Google Pay transaction, a Purchase must first be created using the /purchases API. The Google Pay token must be included in the request under extraParam.googlepay_param.</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=\"parameters-in-the-request-body\"><strong>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>Conditional.  <br />But Recommended to pass the complete name of the client. Atleast 2 words recommended.</td>\n</tr>\n<tr>\n<td>client.email</td>\n<td>Conditional.  <br />But Recommended to pass a correct email id.</td>\n</tr>\n<tr>\n<td>paymentMethod</td>\n<td>Conditional.  <br />Mandatory if you are not using Paysecure Cashier. Else Non Mandatory.  <br />Value: GOOGLEPAY</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory.  <br />ISO 4217 code for currency you want to send the transaction in. This should be 'BRL' for PIX.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory.  <br />Price in decimal format upto 2 decimals.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <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>Mandatory.  <br />Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory.  <br />URL to send the user if the transactions is successful.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Mandatory.  <br />URL to send the user if the transactions is in progress state.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory  <br />URL to send the user if the transactions has failed.</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 Paysecure.</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 Paysecure'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 Paysecure and at customer's Bank, the merchant and Paysecure 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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure URL.</p>\n<h3 id=\"flow-diagram\">Flow Diagram:</h3>\n<img src=\"https://content.pstmn.io/2dd13473-b015-4a40-b71a-542585919bcc/RW5jcnlwdGVkIEZsb3cucG5n\" />","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3ee541d8-3ca8-46db-adc8-e620df3c4aa0","id":"3ee541d8-3ca8-46db-adc8-e620df3c4aa0","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"296484e4-dbbe-4f72-b63c-c4227971ea63","name":"Purchase - success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n   \"client\": {\r\n       \"customerId\": \"NA\",\r\n       \"email\": \"user9831@example.com\",\r\n       \"full_name\": \"Casey Novak\",\r\n       \"date_of_birth\": \"1800-01-01\",\r\n       \"street_address\": \"58 Testing Lane\",\r\n       \"country\": \"BR\",\r\n       \"city\": \"Westbury\",\r\n       \"zip_code\": \"110001\",\r\n       \"cc\": [],\r\n       \"bcc\": [],\r\n       \"stateCode\": \"DL\"\r\n   },\r\n   \"purchase\": {\r\n       \"currency\": \"EUR\",\r\n       \"products\": [\r\n           {\r\n               \"name\": \"e-commerce\",\r\n               \"price\": \"10\"\r\n           }\r\n       ]\r\n   },\r\n   \"paymentMethod\": \"GOOGLEPAY\",\r\n   \"brand_id\": \"your-brand-id\",\r\n   \"success_redirect\": \"https://your.success.redirect.com\",\r\n   \"pending_redirect\": \"https://your.pending.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      \"extraParam\": {\r\n    \"googlepay_param\": {\r\n      \"google_merchant_id\": \"merchant:1234567890\",\r\n      \"googlepay_encrypted_payload\":     \"{\\\"signature\\\":\\\"MEUCIQC...\\\",\\\"intermediateSigningKey\\\":{...},\\\"protocolVersion\\\":\\\"ECv2\\\",\\\"signedMessage\\\":\\\"{...}\\\"}\"  \r\n      }\r\n   }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"69cce01f5bae56fd5547a993\",\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9831@example.com\",\r\n        \"full_name\": \"Casey Novak\",\r\n        \"date_of_birth\": \"1800-01-01\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Westbury\",\r\n        \"zip_code\": \"110001\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"DL\"\r\n    },\r\n    \"updated_on\": 1775034399,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"GOOGLEPAY\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"errorCode\": \"NA\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1775034399,\r\n    \"merchantRef\": \"69cce01f5bae56fd5547a993\",\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"e-commerce\",\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        \"requestAmount\": 10.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"taxAmount\": 0.0,\r\n        \"taxPercent\": 0.0,\r\n        \"request_client_details\": [],\r\n        \"email_message\": \"\"\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\": \"Omega Pixel\",\r\n        \"brand_name\": \"Omega Pixel\",\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        \"country\": \"\",\r\n        \"attempts\": []\r\n    },\r\n    \"status\": \"CREATED\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1775034399\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS1032\",\r\n    \"issued\": \"2026-04-01\",\r\n    \"due\": 1775034399,\r\n    \"refund_upto\": 0,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"extraFee\": \"0\",\r\n    \"paidOn\": 0,\r\n    \"receivedAmt\": 0.0,\r\n    \"taxAmount\": 0.0,\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"sessionId\": \"\",\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 0.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\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\": \"203.0.113.232\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/6b5a5977ac8e022facb31f3346f61ed0/\",\r\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/69cce01f5bae56fd5547a993/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"21ee352b-e90a-40a7-aa4f-98704f67b280","name":"Purchase - failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9831@example.com\",\r\n        \"full_name\": \"Casey Novak\",\r\n        \"date_of_birth\": \"1800-01-01\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Westbury\",\r\n        \"zip_code\": \"110001\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"DL\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"e-commerce\",\r\n                \"price\": \"10\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"GOOGLEPAY\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\r\n        \"googlepay_param\": {\r\n            \"google_merchant_id\": \"merchant:1234567890\",\r\n            \"googlepay_encrypted_payload\": \"{\\\"signature\\\":\\\"MEUCIQC...\\\",\\\"intermediateSigningKey\\\":{...},\\\"protocolVersion\\\":\\\"ECv2\\\",\\\"signedMessage\\\":\\\"{...}\\\"}\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"80462835-d8c7-496c-9ed6-04ee77fb55c7"},{"name":"Purchases (Decrypted Flow)","id":"8e3c36ee-8de2-46dd-a37f-8bf9188afa71","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9831@example.com\",\r\n        \"full_name\": \"Casey Novak\",\r\n        \"date_of_birth\": \"1800-01-01\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Westbury\",\r\n        \"zip_code\": \"110001\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"DL\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"e-commerce\",\r\n                \"price\": \"10\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"GOOGLEPAY\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\r\n        \"googlepay_param\": {\r\n            \"google_merchant_id\": \"merchant:1234567890\",\r\n            \"googlepay_decrypted_payload\": {\r\n                \"messageExpiration\": \"1735689600000\",\r\n                \"messageId\": \"AH2EjtfkYz...\",\r\n                \"paymentMethod\": \"CARD\",\r\n                \"paymentMethodDetails\": {\r\n                    \"pan\": \"4111111111111111\",\r\n                    \"expirationMonth\": 12,\r\n                    \"expirationYear\": 2027,\r\n                    \"authMethod\": \"CRYPTOGRAM_3DS\",\r\n                    \"cryptogram\": \"AgAAAAAABk4D...\",\r\n                    \"eciIndicator\": \"05\"\r\n                },\r\n                \"gatewayMerchantId\": \"your_gateway_merchant_id\"\r\n            }\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/","description":"<p>To process a Google Pay transaction, a Purchase must first be created using the /purchases API. The Google Pay token must be included in the request under extraParam.googlepay_param.</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=\"parameters-in-the-request-body\"><strong>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>Conditional.  <br />But Recommended to pass the complete name of the client. Atleast 2 words recommended.</td>\n</tr>\n<tr>\n<td>client.email</td>\n<td>Conditional.  <br />But Recommended to pass a correct email id.</td>\n</tr>\n<tr>\n<td>paymentMethod</td>\n<td>Conditional.  <br />Mandatory if you are not using Paysecure Cashier. Else Non Mandatory.  <br />Value: GOOGLEPAY</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory.  <br />ISO 4217 code for currency you want to send the transaction in. This should be 'BRL' for PIX.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory.  <br />Price in decimal format upto 2 decimals.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <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>Mandatory.  <br />Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory.  <br />URL to send the user if the transactions is successful.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Mandatory.  <br />URL to send the user if the transactions is in progress state.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory  <br />URL to send the user if the transactions has failed.</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 Paysecure.</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 Paysecure'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 Paysecure and at customer's Bank, the merchant and Paysecure 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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure URL.</p>\n<h3 id=\"flow-diagram\">Flow Diagram:</h3>\n<img src=\"https://content.pstmn.io/8d726da8-02f8-49a4-a3a9-765cd3e1dd9a/RGVjcnlwdGVkIEZsb3cucG5n\" />","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3ee541d8-3ca8-46db-adc8-e620df3c4aa0","id":"3ee541d8-3ca8-46db-adc8-e620df3c4aa0","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"4c308dae-1b69-4ff4-bc1b-c39f915b26d6","name":"Purchase - success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9831@example.com\",\r\n        \"full_name\": \"Casey Novak\",\r\n        \"date_of_birth\": \"1800-01-01\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Westbury\",\r\n        \"zip_code\": \"110001\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"DL\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"e-commerce\",\r\n                \"price\": \"10\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"GOOGLEPAY\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\r\n        \"googlepay_param\": {\r\n            \"google_merchant_id\": \"merchant:1234567890\",\r\n            \"googlepay_decrypted_payload\": {\r\n                \"messageExpiration\": \"1735689600000\",\r\n                \"messageId\": \"AH2EjtfkYz...\",\r\n                \"paymentMethod\": \"CARD\",\r\n                \"paymentMethodDetails\": {\r\n                    \"pan\": \"4111111111111111\",\r\n                    \"expirationMonth\": 12,\r\n                    \"expirationYear\": 2027,\r\n                    \"authMethod\": \"CRYPTOGRAM_3DS\",\r\n                    \"cryptogram\": \"AgAAAAAABk4D...\",\r\n                    \"eciIndicator\": \"05\"\r\n                },\r\n                \"gatewayMerchantId\": \"your_gateway_merchant_id\"\r\n            }\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"69cce01f5bae56fd5547a993\",\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9831@example.com\",\r\n        \"full_name\": \"Casey Novak\",\r\n        \"date_of_birth\": \"1800-01-01\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Westbury\",\r\n        \"zip_code\": \"110001\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"DL\"\r\n    },\r\n    \"updated_on\": 1775034399,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"GOOGLEPAY\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"errorCode\": \"NA\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1775034399,\r\n    \"merchantRef\": \"69cce01f5bae56fd5547a993\",\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"e-commerce\",\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        \"requestAmount\": 10.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"taxAmount\": 0.0,\r\n        \"taxPercent\": 0.0,\r\n        \"request_client_details\": [],\r\n        \"email_message\": \"\"\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\": \"Omega Pixel\",\r\n        \"brand_name\": \"Omega Pixel\",\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        \"country\": \"\",\r\n        \"attempts\": []\r\n    },\r\n    \"status\": \"CREATED\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1775034399\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS1032\",\r\n    \"issued\": \"2026-04-01\",\r\n    \"due\": 1775034399,\r\n    \"refund_upto\": 0,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"extraFee\": \"0\",\r\n    \"paidOn\": 0,\r\n    \"receivedAmt\": 0.0,\r\n    \"taxAmount\": 0.0,\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"sessionId\": \"\",\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 0.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\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\": \"203.0.113.232\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/6b5a5977ac8e022facb31f3346f61ed0/\",\r\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/69cce01f5bae56fd5547a993/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"152fceca-cd77-4add-8acd-c75fbc6dce53","name":"Purchase - failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9831@example.com\",\r\n        \"full_name\": \"Casey Novak\",\r\n        \"date_of_birth\": \"1800-01-01\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Westbury\",\r\n        \"zip_code\": \"110001\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"DL\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"e-commerce\",\r\n                \"price\": \"10\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"GOOGLEPAY\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\r\n        \"googlepay_param\": {\r\n            \"google_merchant_id\": \"merchant:1234567890\",\r\n            \"googlepay_decrypted_payload\": {\r\n                \"messageExpiration\": \"1735689600000\",\r\n                \"messageId\": \"AH2EjtfkYz...\",\r\n                \"paymentMethod\": \"CARD\",\r\n                \"paymentMethodDetails\": {\r\n                    \"pan\": \"4111111111111111\",\r\n                    \"expirationMonth\": 12,\r\n                    \"expirationYear\": 2027,\r\n                    \"authMethod\": \"CRYPTOGRAM_3DS\",\r\n                    \"cryptogram\": \"AgAAAAAABk4D...\",\r\n                    \"eciIndicator\": \"05\"\r\n                },\r\n                \"gatewayMerchantId\": \"your_gateway_merchant_id\"\r\n            }\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"8e3c36ee-8de2-46dd-a37f-8bf9188afa71"},{"name":"Get Status","id":"fc3f6831-89f1-4cbf-a34c-1707d3f620a0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/","description":"<p>This API tells you about all the details of a purchase (PayIn), 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>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":"noauth","isInherited":true,"source":{"_postman_id":"3ee541d8-3ca8-46db-adc8-e620df3c4aa0","id":"3ee541d8-3ca8-46db-adc8-e620df3c4aa0","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"24fa118c-ee2e-470c-93a4-2622f63083c1","name":"Purchase - success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"69cce01f5bae56fd5547a993\",\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9831@example.com\",\r\n        \"full_name\": \"Casey Novak\",\r\n        \"date_of_birth\": \"1800-01-01\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Westbury\",\r\n        \"zip_code\": \"110001\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"DL\"\r\n    },\r\n    \"updated_on\": 1775034399,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"GOOGLEPAY\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"errorCode\": \"NA\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1775034399,\r\n    \"merchantRef\": \"69cce01f5bae56fd5547a993\",\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"e-commerce\",\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        \"requestAmount\": 10.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"taxAmount\": 0.0,\r\n        \"taxPercent\": 0.0,\r\n        \"request_client_details\": [],\r\n        \"email_message\": \"\"\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\": \"Omega Pixel\",\r\n        \"brand_name\": \"Omega Pixel\",\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        \"country\": \"\",\r\n        \"attempts\": []\r\n    },\r\n    \"status\": \"CREATED\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1775034399\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS1032\",\r\n    \"issued\": \"2026-04-01\",\r\n    \"due\": 1775034399,\r\n    \"refund_upto\": 0,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"extraFee\": \"0\",\r\n    \"paidOn\": 0,\r\n    \"receivedAmt\": 0.0,\r\n    \"taxAmount\": 0.0,\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"sessionId\": \"\",\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 0.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\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\": \"203.0.113.232\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/6b5a5977ac8e022facb31f3346f61ed0/\",\r\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/69cce01f5bae56fd5547a993/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"5266cfcf-5674-41f3-a9a6-9e5ed33d0b6c","name":"Purchase - failure","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"fc3f6831-89f1-4cbf-a34c-1707d3f620a0"}],"id":"3ee541d8-3ca8-46db-adc8-e620df3c4aa0","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"14d4d065-5c47-47d7-bcc1-014f72c86148"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"1bc42005-d530-4255-9523-76d404ec82bd"}}],"_postman_id":"3ee541d8-3ca8-46db-adc8-e620df3c4aa0","description":""}],"id":"242ef7f1-3658-4603-b3e9-df34ac0641c3","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"32b1ba58-ae91-4a9d-b1a5-1dba7b18d180"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"d7ed1461-9d52-4db3-abc8-33dc48f717ea"}}],"_postman_id":"242ef7f1-3658-4603-b3e9-df34ac0641c3","description":""},{"name":"🌎 Apple Pay (Seamless)","item":[{"name":"Concepts","item":[],"id":"72f5d2e6-f37c-4ee6-a7e1-b5edf900c732","description":"<h2 id=\"get-started\"><strong>Get started</strong></h2>\n<p>Paysecure’s Server-to-Server (S2S) integration for Apple Pay allows merchants to process Apple Pay transactions securely from their backend systems. In this model, merchants are responsible for generating the Apple Pay payment token on their client application and sending it to their server, which then communicates with Paysecure APIs.</p>\n<p>This integration uses DIRECT tokenization, where payment data is securely generated by Apple Pay and passed to Paysecure for processing.</p>\n<p>This integration is recommended for merchants who require:</p>\n<ul>\n<li><p>Integration with Apple Pay wallets</p>\n</li>\n<li><p>Secure handling of tokenized payment data</p>\n</li>\n<li><p>Flexibility in choosing PCI scope (encrypted vs decrypted flow)</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"how-it-works\"><strong>How it works</strong></h2>\n<p>The Apple Pay S2S payment flow follows a two-step process:</p>\n<h4 id=\"1-generate-apple-pay-token-client-side\"><strong>1. Generate</strong> Apple <strong>Pay Token (Client-side)</strong></h4>\n<p>The merchant integrates Apple Pay SDK (Web/Android) to generate a payment token using DIRECT flow.</p>\n<h4 id=\"2-submit-token-via-s2s\"><strong>2. Submit Token via S2S</strong></h4>\n<p>The merchant server sends the Apple Pay token (encrypted or decrypted) to Paysecure via the /purchase API.</p>\n<hr />\n<h2 id=\"apple-pay-processing-overview\">Apple <strong>Pay Processing Overview</strong></h2>\n<p>Apple Pay transactions are processed as card-not-present payments using:</p>\n<ul>\n<li><p>Tokenized card data (DPAN)</p>\n</li>\n<li><p>Cryptogram generated by Apple</p>\n</li>\n<li><p>Device-based authentication (Face ID / Touch ID / Passcode)</p>\n</li>\n</ul>\n<p>These transactions go through:</p>\n<ul>\n<li><p>Card network (Visa, Mastercard, Amex, etc.)</p>\n</li>\n<li><p>Issuing bank authorization</p>\n</li>\n<li><p>Risk and fraud checks</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"integration-options\">Integration Options</h2>\n<p>Paysecure supports two integration modes:</p>\n<hr />\n<h3 id=\"1-encrypted-token-flow-recommended\">1. Encrypted Token Flow (Recommended)</h3>\n<p>In this flow, the merchant sends the encrypted Apple Pay token to Paysecure. Paysecure decrypts and processes the payment.</p>\n<h4 id=\"key-characteristics\">Key Characteristics</h4>\n<ul>\n<li><p>Merchant does not handle PAN</p>\n</li>\n<li><p>Reduced PCI scope</p>\n</li>\n<li><p>Recommended for most merchants</p>\n</li>\n</ul>\n<h4 id=\"pci-impact\">PCI Impact</h4>\n<p>Merchants can significantly reduce PCI DSS scope since sensitive card data is handled by Paysecure.</p>\n<hr />\n<h3 id=\"2-decrypted-token-flow\">2. Decrypted Token Flow</h3>\n<p>In this flow, the merchant decrypts the Apple Pay token and sends card details to Paysecure.</p>\n<h4 id=\"key-characteristics-1\">Key Characteristics</h4>\n<ul>\n<li><p>PAN/DPAN available at merchant side</p>\n</li>\n<li><p>Full control over payment data</p>\n</li>\n</ul>\n<h4 id=\"pci-impact-1\">PCI Impact</h4>\n<p>Merchants must be PCI DSS compliant (SAQ D) as they handle raw card data.</p>\n<hr />\n<h2 id=\"before-you-begin\">Before you begin</h2>\n<p>Ensure the following prerequisites are met:</p>\n<ul>\n<li><p>You have received your API credentials from Paysecure</p>\n</li>\n<li><p>You have an Apple Merchant ID</p>\n</li>\n<li><p>You have configured Apple Pay on your domain/app</p>\n</li>\n<li><p>Your server can make secure HTTPS requests</p>\n</li>\n<li><p>You have a valid brand_id provided by Paysecure</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"additional-requirements-encrypted-flow\">Additional Requirements (Encrypted Flow)</h3>\n<ul>\n<li><p>Configure Apple Pay certificates (Payment Processing Certificate)</p>\n</li>\n<li><p>Share certificate details securely with Paysecure (if required)</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"additional-requirements-decrypted-flow\">Additional Requirements (Decrypted Flow)</h3>\n<ul>\n<li><p>Implement Apple Pay token decryption</p>\n</li>\n<li><p>Use Apple’s Payment Processing certificate and private key</p>\n</li>\n<li><p>Ensure full PCI DSS compliance</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"7b7e389e-3c39-4b9c-8d9f-05ae4f685edd"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"e1bd1f2b-7c8e-4a7d-a937-eaf838e3280a"}}],"_postman_id":"72f5d2e6-f37c-4ee6-a7e1-b5edf900c732"},{"name":"APIs","item":[{"name":"Purchases (Encrypted Flow)","id":"3dedf7ff-9a22-406f-942e-0c378a4cee32","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user6597@example.com\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"Product\",\r\n                \"price\": \"10.00\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"APPLEPAY\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"extraParam\": {\r\n        \"applepay_param\": {\r\n            \"applepay_token\": {\r\n                \"version\": \"EC_v1\",\r\n                \"data\": \"...\",\r\n                \"signature\": \"...\",\r\n                \"header\": {\r\n                    \"ephemeralPublicKey\": \"...\",\r\n                    \"publicKeyHash\": \"...\",\r\n                    \"transactionId\": \"...\"\r\n                }\r\n            }\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/","description":"<p>To process an Apple Pay transaction, a Purchase must be created using the /purchases API. The Apple Pay token must be included under extraParam.applepay_param.</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=\"parameters-in-the-request-body\"><strong>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>Conditional.  <br />But Recommended to pass the complete name of the client. Atleast 2 words recommended.</td>\n</tr>\n<tr>\n<td>client.email</td>\n<td>Conditional.  <br />But Recommended to pass a correct email id.</td>\n</tr>\n<tr>\n<td>paymentMethod</td>\n<td>Conditional.  <br />Mandatory if you are not using Paysecure Cashier. Else Non Mandatory.  <br />Value: APPLEPAY</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory.  <br />ISO 4217 code for currency you want to send the transaction in. This should be 'BRL' for PIX.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory.  <br />Price in decimal format upto 2 decimals.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <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>Mandatory.  <br />Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory.  <br />URL to send the user if the transactions is successful.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Mandatory.  <br />URL to send the user if the transactions is in progress state.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory  <br />URL to send the user if the transactions has failed.</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 Paysecure.</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 Paysecure'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 Paysecure and at customer's Bank, the merchant and Paysecure 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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure URL.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"33631ab6-2b6e-440f-891d-7f371cc272c6","id":"33631ab6-2b6e-440f-891d-7f371cc272c6","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"749d5f62-6c02-443c-bc38-bf48122e964d","name":"Purchase - success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user6597@example.com\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"Product\",\r\n                \"price\": \"10.00\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"APPLEPAY\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"extraParam\": {\r\n        \"applepay_param\": {\r\n            \"applepay_token\": {\r\n                \"version\": \"EC_v1\",\r\n                \"data\": \"...\",\r\n                \"signature\": \"...\",\r\n                \"header\": {\r\n                    \"ephemeralPublicKey\": \"...\",\r\n                    \"publicKeyHash\": \"...\",\r\n                    \"transactionId\": \"...\"\r\n                }\r\n            }\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"69cce01f5bae56fd5547a993\",\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9831@example.com\",\r\n        \"full_name\": \"Casey Novak\",\r\n        \"date_of_birth\": \"1800-01-01\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Westbury\",\r\n        \"zip_code\": \"110001\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"DL\"\r\n    },\r\n    \"updated_on\": 1775034399,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"APPLEPAY\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"errorCode\": \"NA\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1775034399,\r\n    \"merchantRef\": \"69cce01f5bae56fd5547a993\",\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"e-commerce\",\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        \"requestAmount\": 10.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"taxAmount\": 0.0,\r\n        \"taxPercent\": 0.0,\r\n        \"request_client_details\": [],\r\n        \"email_message\": \"\"\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\": \"Omega Pixel\",\r\n        \"brand_name\": \"Omega Pixel\",\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        \"country\": \"\",\r\n        \"attempts\": []\r\n    },\r\n    \"status\": \"CREATED\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1775034399\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS1032\",\r\n    \"issued\": \"2026-04-01\",\r\n    \"due\": 1775034399,\r\n    \"refund_upto\": 0,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"extraFee\": \"0\",\r\n    \"paidOn\": 0,\r\n    \"receivedAmt\": 0.0,\r\n    \"taxAmount\": 0.0,\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"sessionId\": \"\",\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 0.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\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\": \"203.0.113.232\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/6b5a5977ac8e022facb31f3346f61ed0/\",\r\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/69cce01f5bae56fd5547a993/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"ee2f92f9-1c88-4e49-b401-fe2518b0d6e1","name":"Purchase - failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user6597@example.com\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"Product\",\r\n                \"price\": \"10.00\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"APPLEPAY\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"extraParam\": {\r\n        \"applepay_param\": {\r\n            \"applepay_token\": {\r\n                \"version\": \"EC_v1\",\r\n                \"data\": \"...\",\r\n                \"signature\": \"...\",\r\n                \"header\": {\r\n                    \"ephemeralPublicKey\": \"...\",\r\n                    \"publicKeyHash\": \"...\",\r\n                    \"transactionId\": \"...\"\r\n                }\r\n            }\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"3dedf7ff-9a22-406f-942e-0c378a4cee32"},{"name":"Purchases (Decrypted Flow)","id":"54b2022c-8003-4c1e-87cc-9ff4ad29b659","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user6597@example.com\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"Product\",\r\n                \"price\": \"10.00\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"APPLEPAY\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"extraParam\": {\r\n        \"applepay_param\": {\r\n            \"applepay_decrypted_payload\": {\r\n                \"applicationPrimaryAccountNumber\": \"4111111111111111\",\r\n                \"applicationExpirationDate\": \"2712\",\r\n                \"currencyCode\": \"840\",\r\n                \"transactionAmount\": 1000,\r\n                \"deviceManufacturerIdentifier\": \"040010030273\",\r\n                \"paymentDataType\": \"3DSecure\",\r\n                \"paymentData\": {\r\n                    \"onlinePaymentCryptogram\": \"AgAAAAAABk4D...\",\r\n                    \"eciIndicator\": \"05\"\r\n                }\r\n            }\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/","description":"<p>To process an Apple Pay transaction, a Purchase must be created using the /purchases API. The Apple Pay token must be included under extraParam.applepay_param.</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=\"parameters-in-the-request-body\"><strong>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>Conditional.  <br />But Recommended to pass the complete name of the client. Atleast 2 words recommended.</td>\n</tr>\n<tr>\n<td>client.email</td>\n<td>Conditional.  <br />But Recommended to pass a correct email id.</td>\n</tr>\n<tr>\n<td>paymentMethod</td>\n<td>Conditional.  <br />Mandatory if you are not using Paysecure Cashier. Else Non Mandatory.  <br />Value: APPLEPAY</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory.  <br />ISO 4217 code for currency you want to send the transaction in. This should be 'BRL' for PIX.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory.  <br />Price in decimal format upto 2 decimals.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <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>Mandatory.  <br />Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory.  <br />URL to send the user if the transactions is successful.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Mandatory.  <br />URL to send the user if the transactions is in progress state.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory  <br />URL to send the user if the transactions has failed.</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 Paysecure.</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 Paysecure'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 Paysecure and at customer's Bank, the merchant and Paysecure 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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure URL.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"33631ab6-2b6e-440f-891d-7f371cc272c6","id":"33631ab6-2b6e-440f-891d-7f371cc272c6","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"dd30c94b-7491-47e6-b6f1-1e3467cd54d1","name":"Purchase - success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user6597@example.com\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"Product\",\r\n                \"price\": \"10.00\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"APPLEPAY\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"extraParam\": {\r\n        \"applepay_param\": {\r\n            \"applepay_decrypted_payload\": {\r\n                \"applicationPrimaryAccountNumber\": \"4111111111111111\",\r\n                \"applicationExpirationDate\": \"2712\",\r\n                \"currencyCode\": \"840\",\r\n                \"transactionAmount\": 1000,\r\n                \"deviceManufacturerIdentifier\": \"040010030273\",\r\n                \"paymentDataType\": \"3DSecure\",\r\n                \"paymentData\": {\r\n                    \"onlinePaymentCryptogram\": \"AgAAAAAABk4D...\",\r\n                    \"eciIndicator\": \"05\"\r\n                }\r\n            }\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"69cce01f5bae56fd5547a993\",\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9831@example.com\",\r\n        \"full_name\": \"Casey Novak\",\r\n        \"date_of_birth\": \"1800-01-01\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Westbury\",\r\n        \"zip_code\": \"110001\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"DL\"\r\n    },\r\n    \"updated_on\": 1775034399,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"APPLEPAY\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"errorCode\": \"NA\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1775034399,\r\n    \"merchantRef\": \"69cce01f5bae56fd5547a993\",\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"e-commerce\",\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        \"requestAmount\": 10.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"taxAmount\": 0.0,\r\n        \"taxPercent\": 0.0,\r\n        \"request_client_details\": [],\r\n        \"email_message\": \"\"\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\": \"Omega Pixel\",\r\n        \"brand_name\": \"Omega Pixel\",\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        \"country\": \"\",\r\n        \"attempts\": []\r\n    },\r\n    \"status\": \"CREATED\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1775034399\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS1032\",\r\n    \"issued\": \"2026-04-01\",\r\n    \"due\": 1775034399,\r\n    \"refund_upto\": 0,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"extraFee\": \"0\",\r\n    \"paidOn\": 0,\r\n    \"receivedAmt\": 0.0,\r\n    \"taxAmount\": 0.0,\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"sessionId\": \"\",\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 0.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\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\": \"203.0.113.232\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/6b5a5977ac8e022facb31f3346f61ed0/\",\r\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/69cce01f5bae56fd5547a993/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"7e18c112-98ed-432f-871d-00d6a2c551b4","name":"Purchase - failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user6597@example.com\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"Product\",\r\n                \"price\": \"10.00\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"APPLEPAY\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"extraParam\": {\r\n        \"applepay_param\": {\r\n            \"applepay_decrypted_payload\": {\r\n                \"applicationPrimaryAccountNumber\": \"4111111111111111\",\r\n                \"applicationExpirationDate\": \"2712\",\r\n                \"currencyCode\": \"840\",\r\n                \"transactionAmount\": 1000,\r\n                \"deviceManufacturerIdentifier\": \"040010030273\",\r\n                \"paymentDataType\": \"3DSecure\",\r\n                \"paymentData\": {\r\n                    \"onlinePaymentCryptogram\": \"AgAAAAAABk4D...\",\r\n                    \"eciIndicator\": \"05\"\r\n                }\r\n            }\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"54b2022c-8003-4c1e-87cc-9ff4ad29b659"},{"name":"Get Status","id":"36eb4863-5aed-4cf5-ae4f-755eed28fc58","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/","description":"<p>This API tells you about all the details of a purchase (PayIn), 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>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":"noauth","isInherited":true,"source":{"_postman_id":"33631ab6-2b6e-440f-891d-7f371cc272c6","id":"33631ab6-2b6e-440f-891d-7f371cc272c6","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"0ba70843-82be-442f-a33e-693c941b4039","name":"Purchase - success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"69cce01f5bae56fd5547a993\",\r\n    \"client\": {\r\n        \"customerId\": \"NA\",\r\n        \"email\": \"user9831@example.com\",\r\n        \"full_name\": \"Casey Novak\",\r\n        \"date_of_birth\": \"1800-01-01\",\r\n        \"street_address\": \"58 Testing Lane\",\r\n        \"country\": \"BR\",\r\n        \"city\": \"Westbury\",\r\n        \"zip_code\": \"110001\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"DL\"\r\n    },\r\n    \"updated_on\": 1775034399,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"GOOGLEPAY\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"errorCode\": \"NA\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1775034399,\r\n    \"merchantRef\": \"69cce01f5bae56fd5547a993\",\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"e-commerce\",\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        \"requestAmount\": 10.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"taxAmount\": 0.0,\r\n        \"taxPercent\": 0.0,\r\n        \"request_client_details\": [],\r\n        \"email_message\": \"\"\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\": \"Omega Pixel\",\r\n        \"brand_name\": \"Omega Pixel\",\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        \"country\": \"\",\r\n        \"attempts\": []\r\n    },\r\n    \"status\": \"CREATED\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1775034399\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS1032\",\r\n    \"issued\": \"2026-04-01\",\r\n    \"due\": 1775034399,\r\n    \"refund_upto\": 0,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"extraFee\": \"0\",\r\n    \"paidOn\": 0,\r\n    \"receivedAmt\": 0.0,\r\n    \"taxAmount\": 0.0,\r\n    \"surcharge\": 0.0,\r\n    \"surchargeType\": \"\",\r\n    \"sessionId\": \"\",\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 0.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\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\": \"203.0.113.232\",\r\n    \"checkout_url\": \"https://api.paysecure.net/payments/6b5a5977ac8e022facb31f3346f61ed0/\",\r\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/69cce01f5bae56fd5547a993/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"88b597a1-f760-44b7-ab90-12a1ae7daeca","name":"Purchase - failure","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"36eb4863-5aed-4cf5-ae4f-755eed28fc58"}],"id":"33631ab6-2b6e-440f-891d-7f371cc272c6","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"4796d7b4-9656-4b0e-bfc6-b8f7428abf49"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"290b3337-cf22-4b39-a464-5be73f1ad572"}}],"_postman_id":"33631ab6-2b6e-440f-891d-7f371cc272c6","description":""}],"id":"496249c8-1136-4636-9937-506390f1df34","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"cdc13b8e-9519-4edf-8b41-a4ad5374354d"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"82526045-b1d6-4267-a4c0-e7ed6cc6577d"}}],"_postman_id":"496249c8-1136-4636-9937-506390f1df34","description":""},{"name":"🌐 Crypto Payments","item":[{"name":"Concepts","item":[],"id":"09530667-ea3f-4e87-ae1b-c84b6b11ef68","description":"<h2 id=\"overview\">Overview</h2>\n<p>Pay with Crypto allows merchants to accept cryptocurrency payments while creating the purchase request in a fiat currency. The merchant initiates the payment using the Purchase API with the <code>PAY-WITH-CRYPTO</code> payment method. The customer is presented with the payment details required to complete the transaction using the selected cryptocurrency.</p>\n<p>Customers select their preferred cryptocurrency token and supported network. The checkout page then generates a unique wallet address and QR code. The customer completes the payment by either scanning the QR code or sending the exact crypto amount to the provided address.</p>\n<p>Once the blockchain transaction is confirmed, Paysecure updates the payment status and sends a webhook notification to the merchant.</p>\n<img src=\"https://content.pstmn.io/19a14af2-ebb7-41bc-a48f-a9d2ada6425f/cGF5LXdpdGgtY3J5cHRvX3BheWluX2Zsb3cucG5n\" />\n\n<p><strong>This is an asynchronous payment method.</strong> Do not treat the Purchase API response as a payment result — the final status arrives later via webhook (or by polling the Get Status API) once the blockchain confirms the transfer. Because the customer sends funds manually from their own wallet, the amount received can differ from the amount requested — see <strong>Underpayment &amp; Overpayment</strong> below.</p>\n<h2 id=\"coverage--limits\">Coverage &amp; Limits</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Value</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Minimum transaction amount</td>\n<td>10.00 EUR</td>\n</tr>\n<tr>\n<td>Maximum transaction amount</td>\n<td>As configured for the merchant account</td>\n</tr>\n<tr>\n<td>Request currency</td>\n<td>Fiat (e.g. <code>EUR</code>) — converted to the selected crypto at checkout</td>\n</tr>\n<tr>\n<td>Amount validity</td>\n<td>The exact crypto amount is quoted with an expiry shown on the checkout page — the customer must pay within it</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong> transactions below <strong>10.00 EUR</strong> are not accepted and will be declined:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"code\": \"107\",\n  \"message\": \"Amount is less than the minimum we can process, action can not be completed. Minimum amount should be: 10.00 EUR\",\n  \"status\": \"DECLINED\",\n  \"traceId\": \"517488249054850e\"\n}\n\n</code></pre>\n<h2 id=\"prerequisites\">Prerequisites</h2>\n<ul>\n<li><p>Valid Paysecure API credentials (<code>API key</code> and <code>Brand ID</code> from the Dashboard section of your merchant account login).</p>\n</li>\n<li><p>Use <code>PAY-WITH-CRYPTO</code> as the payment method.</p>\n</li>\n<li><p>Configure Success, Pending and Failure redirect URLs.</p>\n</li>\n<li><p>Configure webhook callback URLs to receive payment status updates — mandatory in practice for this method, since the final status is delivered asynchronously.</p>\n</li>\n<li><p>The customer must have a crypto wallet containing sufficient funds.</p>\n</li>\n</ul>\n<h2 id=\"payin-flow\">PayIn Flow</h2>\n<p><strong>How it works</strong></p>\n<ol>\n<li><p>The merchant creates a purchase using the Purchase API with <code>paymentMethod</code> set to <code>PAY-WITH-CRYPTO</code>.</p>\n</li>\n<li><p>The Purchase API returns a <code>checkout_url</code>.</p>\n</li>\n<li><p>The merchant redirects the customer to the returned <code>checkout_url</code>.</p>\n</li>\n<li><p>On the checkout page, the customer selects the preferred cryptocurrency token and supported network.</p>\n</li>\n<li><p>The checkout displays the payment details required to complete the transaction: wallet address, QR code, exact crypto amount, and selected network.</p>\n</li>\n<li><p>The customer completes the payment by scanning the QR code with a supported cryptocurrency wallet, or sending the displayed crypto amount to the provided wallet address.</p>\n</li>\n<li><p>Once the blockchain transaction is confirmed, Paysecure updates the payment status and sends a webhook notification to the merchant's configured callback URL.</p>\n</li>\n</ol>\n<p><strong>Integration notes</strong></p>\n<ul>\n<li><p>Always redirect the customer using the <code>checkout_url</code> returned by the Purchase API.</p>\n</li>\n<li><p>Do not consider the payment successful immediately after receiving the Purchase API response — use the webhook to determine the final status.</p>\n</li>\n<li><p>Store the <code>purchaseId</code> from the Purchase API response; it identifies the transaction in all subsequent operations.</p>\n</li>\n<li><p>Pass <code>merchantRef</code> to prevent duplicate purchases and to retrieve the transaction if the response times out.</p>\n</li>\n</ul>\n<h2 id=\"checkout-experience\">Checkout Experience</h2>\n<h3 id=\"step-1--select-token--network\">Step 1 – Select Token &amp; Network</h3>\n<p>The customer is redirected to the hosted checkout page where they select a <strong>token</strong> and a <strong>network</strong>. The checkout automatically converts the purchase amount into the selected cryptocurrency.</p>\n<img src=\"https://content.pstmn.io/dbc54e85-487b-4e35-a9d9-02abd12f9723/aW1hZ2UgKDIzKS5wbmc=\" />\n\n<h3 id=\"step-2--complete-crypto-payment\">Step 2 – Complete Crypto Payment</h3>\n<p>After token selection, the checkout page displays the <strong>exact crypto amount</strong>, <strong>address</strong>, <strong>QR code</strong>, <strong>selected token</strong> and <strong>selected network</strong>.</p>\n<p><strong>Important:</strong> the customer must send the exact crypto amount using the selected network. Sending a different amount changes the final status (see below); sending a different token or network may result in payment failure or permanent loss of funds.</p>\n<img src=\"https://content.pstmn.io/fb8f6afe-0c95-47d5-807c-d33faf062ce0/aW1hZ2UgKDI0KS5wbmc=\" />\n\n<h2 id=\"underpayment--overpayment\">Underpayment &amp; Overpayment</h2>\n<p>Because the customer transfers funds manually, the received amount can differ from the requested amount. Paysecure reports these cases with two dedicated terminal statuses, visible in the merchant dashboard, the webhook, and the Get Status API:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Meaning</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>over_paid</code></td>\n<td>The customer paid <strong>more</strong> than the requested amount</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>partial_paid</code></td>\n<td>The customer paid <strong>less</strong> than the requested amount</td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><p>In the webhook and Get Status response, the top-level <code>status</code> is uppercase (<code>OVER_PAID</code> / <code>PARTIAL_PAID</code>) while <code>status_history</code> entries are lowercase (<code>over_paid</code> / <code>partial_paid</code>). The outer webhook <code>status</code> field is lowercase.</p>\n<p><strong>Handling guidance</strong></p>\n<ul>\n<li><p>Treat <code>paid</code> as the only status that confirms the exact requested amount was received.</p>\n</li>\n<li><p>On <code>partial_paid</code>, do not fulfil the full order automatically — reconcile the received amount in the merchant dashboard first.</p>\n</li>\n<li><p>On <code>over_paid</code>, the order amount is covered; reconcile the excess in the dashboard and agree the resolution path (e.g. refund of the excess) with your Account Manager.</p>\n</li>\n</ul>\n<h2 id=\"webhook\">Webhook</h2>\n<p>When the transaction reaches a terminal state, Paysecure sends a server-to-server POST to your configured callback URL with the full purchase object. Events for this method:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Event</strong></th>\n<th><strong>Status</strong></th>\n<th><strong>When it fires</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>purchase created</td>\n<td><code>created</code></td>\n<td>Purchase registered, awaiting customer</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>pending execute</td>\n<td><code>pending_execute</code></td>\n<td>Customer redirected to the checkout page</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>payment in process</td>\n<td><code>payment_in_process</code></td>\n<td>Crypto payment submitted, awaiting blockchain confirmation</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>purchase paid</td>\n<td><code>paid</code></td>\n<td>Exact requested amount received and confirmed</td>\n<td>✅</td>\n</tr>\n<tr>\n<td>purchase over paid</td>\n<td><code>over_paid</code></td>\n<td>More than the requested amount received</td>\n<td>✅</td>\n</tr>\n<tr>\n<td>purchase partial paid</td>\n<td><code>partial_paid</code></td>\n<td>Less than the requested amount received</td>\n<td>✅</td>\n</tr>\n<tr>\n<td>purchase expired</td>\n<td><code>expired</code></td>\n<td>The payment request expired before completion</td>\n<td>✅</td>\n</tr>\n<tr>\n<td>purchase error</td>\n<td><code>error</code></td>\n<td>Payment failed or was not completed</td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><p>Verify the webhook signature using your Public Key as described in the 🔌 Webhooks section.</p>\n<p><strong>Webhook sample — over paid</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": {\n    \"purchaseId\": \"6a50f3430c177fa609c7aa9a\",\n    \"client\": {\n      \"customerId\": \"NA\",\n      \"email\": \"user5772@example.com\",\n      \"phone\": \"+44 07000000000\",\n      \"full_name\": \"test test\",\n      \"date_of_birth\": \"1994-07-10\",\n      \"street_address\": \"1 Example Street\",\n      \"country\": \"GB\",\n      \"city\": \"Milford\",\n      \"zip_code\": \"234567\",\n      \"cc\": [],\n      \"bcc\": [],\n      \"stateCode\": \"LO\"\n    },\n    \"updated_on\": 1783690281,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"OPEN-BANKING,MASTER,VISA,JCB,AMEX,CRYPTO-BRIDGE,FawryPay,INTERAC-E-TRANSFER,INTERAC-REQUEST-MONEY,MOBILEMONEY,NEOSURF,PAYID,PIX,SPEI,THIRDPARTY-UPI,DISCOVER,BANKTRANSFER,VIRTUAL-IBAN,UPI-COLLECT,UPI-QR,VIRTUAL-ACCOUNT,DINERS,NETBANKING,MAYA,GCASH,INTERAC-EXPRESS,QRPH,APPLEPAY-REDIRECT,GOOGLEPAY-REDIRECT,KLARNA,QBPAY,RUPAY,UPI,UZCARD,PAY_WITH_INSTAXCHANGE,UPI-INTENT,PayByBank,GOOGLEPAY,APPLEPAY,PAYPLAY,UUWALLET,SKRILL,PAYPAL-ONRAMP,PAYPAL,INTERAC-ETRANSFER,INTERAC,PAY-WITH-CRYPTO,ACH,QR\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"Transaction succeeded-APPROVED\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1783690051,\n    \"merchantRef\": \"6a50f3430c177fa609c7aa9a\",\n    \"purchase\": {\n      \"currency\": \"EUR\",\n      \"products\": [\n        {\n          \"name\": \"e-commerce\",\n          \"quantity\": 1,\n          \"price\": 11.5,\n          \"discount\": 0,\n          \"tax_percent\": \"0.00\"\n        }\n      ],\n      \"total\": 11.5,\n      \"requestAmount\": 11.5,\n      \"language\": \"en\",\n      \"notes\": \"\",\n      \"debt\": 0,\n      \"total_formatted\": 1,\n      \"taxAmount\": 0,\n      \"taxPercent\": 0,\n      \"request_client_details\": [],\n      \"email_message\": \"\"\n    },\n    \"payment\": {\n      \"is_outgoing\": false,\n      \"payment_type\": \"PURCHASE\",\n      \"amount\": 11.5,\n      \"currency\": \"EUR\",\n      \"net_amount\": 11.5,\n      \"fee_amount\": 0,\n      \"pending_amount\": 0,\n      \"pending_unfreeze_on\": null,\n      \"description\": \"\",\n      \"paid_on\": 1783690060,\n      \"remote_paid_on\": 1783690060\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\": \"Testing\",\n      \"brand_name\": \"Testing\",\n      \"registration_number\": \"\",\n      \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n      \"payment_method\": \"\",\n      \"flow\": \"payform\",\n      \"extra\": {\n        \"amount\": 11.5,\n        \"masked_pan\": \"PAY-WITH-CRYPTO\"\n      },\n      \"country\": \"\",\n      \"attempts\": [\n        {\n          \"client_ip\": \"203.0.113.81\",\n          \"type\": \"execute\",\n          \"payment_method\": \"PAY-WITH-CRYPTO\",\n          \"flow\": \"payform\",\n          \"successful\": true,\n          \"country\": \"PAY-WITH-CRYPTO\",\n          \"processing_time\": 1783690060,\n          \"extra\": {\n            \"amount\": 11.5,\n            \"masked_pan\": \"PAY-WITH-CRYPTO\"\n          }\n        }\n      ]\n    },\n    \"status\": \"OVER_PAID\",\n    \"status_history\": [\n      {\n        \"status\": \"created\",\n        \"timestamp\": 1783690051\n      },\n      {\n        \"status\": \"pending_execute\",\n        \"timestamp\": 1783690060\n      },\n      {\n        \"status\": \"payment_in_process\",\n        \"timestamp\": 1783690063\n      },\n      {\n        \"status\": \"over_paid\",\n        \"timestamp\": 1783690281\n      },\n      {\n        \"status\": \"viewed\",\n        \"timestamp\": 1783690280\n      }\n    ],\n    \"viewedOn\": 1783690280,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS1903\",\n    \"issued\": \"2026-07-10\",\n    \"due\": 1783690051,\n    \"refund_upto\": 1794054463,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"1\",\n    \"extraFee\": \"0\",\n    \"totalRefunded\": 0,\n    \"pix_payload\": {},\n    \"payInDetails\": {},\n    \"paidOn\": 0,\n    \"receivedAmt\": 0,\n    \"taxAmount\": 0,\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 11.5,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.81\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a50f3430c177fa609c7aa9a/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a50f3430c177fa609c7aa9a/\",\n    \"payoutProcess\": false\n  },\n  \"status\": \"over_paid\"\n}\n\n</code></pre>\n<p><strong>Webhook sample — partial paid</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": {\n    \"purchaseId\": \"6a50f24533779459985eb258\",\n    \"client\": {\n      \"customerId\": \"NA\",\n      \"email\": \"user5772@example.com\",\n      \"phone\": \"+44 07000000000\",\n      \"full_name\": \"test test\",\n      \"date_of_birth\": \"1994-07-10\",\n      \"street_address\": \"1 Example Street\",\n      \"country\": \"GB\",\n      \"city\": \"Milford\",\n      \"zip_code\": \"234567\",\n      \"cc\": [],\n      \"bcc\": [],\n      \"stateCode\": \"LO\"\n    },\n    \"updated_on\": 1783690015,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"OPEN-BANKING,MASTER,VISA,JCB,AMEX,CRYPTO-BRIDGE,FawryPay,INTERAC-E-TRANSFER,INTERAC-REQUEST-MONEY,MOBILEMONEY,NEOSURF,PAYID,PIX,SPEI,THIRDPARTY-UPI,DISCOVER,BANKTRANSFER,VIRTUAL-IBAN,UPI-COLLECT,UPI-QR,VIRTUAL-ACCOUNT,DINERS,NETBANKING,MAYA,GCASH,INTERAC-EXPRESS,QRPH,APPLEPAY-REDIRECT,GOOGLEPAY-REDIRECT,KLARNA,QBPAY,RUPAY,UPI,UZCARD,PAY_WITH_INSTAXCHANGE,UPI-INTENT,PayByBank,GOOGLEPAY,APPLEPAY,PAYPLAY,UUWALLET,SKRILL,PAYPAL-ONRAMP,PAYPAL,INTERAC-ETRANSFER,INTERAC,PAY-WITH-CRYPTO,ACH,QR\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"Transaction succeeded-APPROVED\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1783690051,\n    \"merchantRef\": \"6a50f24533779459985eb258\",\n    \"purchase\": {\n      \"currency\": \"EUR\",\n      \"products\": [\n        {\n          \"name\": \"e-commerce\",\n          \"quantity\": 1,\n          \"price\": 11.5,\n          \"discount\": 0,\n          \"tax_percent\": \"0.00\"\n        }\n      ],\n      \"total\": 11.5,\n      \"requestAmount\": 11.5,\n      \"language\": \"en\",\n      \"notes\": \"\",\n      \"debt\": 0,\n      \"total_formatted\": 1,\n      \"taxAmount\": 0,\n      \"taxPercent\": 0,\n      \"request_client_details\": [],\n      \"email_message\": \"\"\n    },\n    \"payment\": {\n      \"is_outgoing\": false,\n      \"payment_type\": \"PURCHASE\",\n      \"amount\": 11.5,\n      \"currency\": \"EUR\",\n      \"net_amount\": 11.5,\n      \"fee_amount\": 0,\n      \"pending_amount\": 0,\n      \"pending_unfreeze_on\": null,\n      \"description\": \"\",\n      \"paid_on\": 1783689803,\n      \"remote_paid_on\": 1783689803\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\": \"Testing\",\n      \"brand_name\": \"Testing\",\n      \"registration_number\": \"\",\n      \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n      \"payment_method\": \"\",\n      \"flow\": \"payform\",\n      \"extra\": {\n        \"amount\": 11.5,\n        \"masked_pan\": \"PAY-WITH-CRYPTO\"\n      },\n      \"country\": \"\",\n      \"attempts\": [\n        {\n          \"client_ip\": \"203.0.113.81\",\n          \"type\": \"execute\",\n          \"payment_method\": \"PAY-WITH-CRYPTO\",\n          \"flow\": \"payform\",\n          \"successful\": true,\n          \"country\": \"PAY-WITH-CRYPTO\",\n          \"processing_time\": 1783690060,\n          \"extra\": {\n            \"amount\": 11.5,\n            \"masked_pan\": \"PAY-WITH-CRYPTO\"\n          }\n        }\n      ]\n    },\n    \"status\": \"PARTIAL_PAID\",\n    \"status_history\": [\n      {\n        \"status\": \"created\",\n        \"timestamp\": 1783689797\n      },\n      {\n        \"status\": \"pending_execute\",\n        \"timestamp\": 1783689803\n      },\n      {\n        \"status\": \"payment_in_process\",\n        \"timestamp\": 1783689807\n      },\n      {\n        \"status\": \"partial_paid\",\n        \"timestamp\": 1783690015\n      },\n      {\n        \"status\": \"viewed\",\n        \"timestamp\": 1783690014\n      }\n    ],\n    \"viewedOn\": 1783690014,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS1902\",\n    \"issued\": \"2026-07-10\",\n    \"due\": 1783690051,\n    \"refund_upto\": 1794054463,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"1\",\n    \"extraFee\": \"0\",\n    \"totalRefunded\": 0,\n    \"pix_payload\": {},\n    \"payInDetails\": {},\n    \"paidOn\": 1783690015,\n    \"receivedAmt\": 0,\n    \"taxAmount\": 0,\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 11.5,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.81\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a50f24533779459985eb258/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a50f24533779459985eb258/\",\n    \"payoutProcess\": false\n  },\n  \"status\": \"partial_paid\"\n}\n\n</code></pre>\n<p>A <code>paid</code> webhook carries the same envelope with <code>status</code> = <code>PAID</code> and a <code>paid</code> entry in <code>status_history</code>.</p>\n<h2 id=\"faqs\">FAQs</h2>\n<p><strong>Which tokens and networks are supported?</strong><br />The checkout page shows the tokens and networks enabled for your merchant account. Contact your Account Manager to enable additional ones.</p>\n<p><strong>What happens if the customer sends the wrong token or uses the wrong network?</strong><br />The payment may fail or the funds may be permanently lost. The checkout page warns the customer to send the exact amount using the selected token and network.</p>\n<p><strong>What happens if the quote expires before the customer pays?</strong><br />The purchase moves to <code>expired</code>. Create a new purchase to retry — the crypto amount is re-quoted at current rates.</p>\n<p><strong>Can I refund a Pay with Crypto transaction via API?</strong><br />No — <code>refund_availability</code> is <code>NONE</code> for this method. Contact your Account Manager to arrange refunds (including excess amounts on <code>over_paid</code> transactions).</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"2aa2adb6-8e70-4d53-b144-22e80e2b6d3a"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"03fe8109-eff3-457e-92c6-067eeb5e7fc0"}}],"_postman_id":"09530667-ea3f-4e87-ae1b-c84b6b11ef68"},{"name":"PayIn API","item":[{"name":"Purchases","id":"a3867b33-36ac-4bcf-bc1e-5d3ba42abcc2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5772@example.com\",\n        \"full_name\": \"test test\",\n        \"street_address\": \"1 Example Street\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"234567\",\n        \"country\": \"GB\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"stateCode\": \"LO\",\n        \"phone\": \"+44 07000000000\"\n    },\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": 11.5\n            }\n        ]\n    },\n    \"paymentMethod\": \"PAY-WITH-CRYPTO\",\n    \"merchantRef\": \"test_pwc_001\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases","description":"<p>To initiate a Pay with Crypto 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 response returns a <code>checkout_url</code> — redirect your customer there to complete the crypto payment. <strong>The response does not confirm payment</strong>; the final status arrives asynchronously via webhook (<code>paid</code>, <code>over_paid</code>, <code>partial_paid</code>, <code>expired</code>, or <code>error</code>) or by polling Get Status.</p>\n<h3 id=\"request-body-parameters\">Request Body Parameters</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>Mandatory. <br />Customer email address (forwarded to the crypto processor).</td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td>Optional. <br />But recommended — full name of the customer, at least 2 words.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>Optional. <br />Customer's contact phone number.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td>Optional. <br />Customer's street address.</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>Optional. <br />Customer's city.</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Optional. <br />State or province code of the customer.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>Optional. <br />Postal or ZIP code of the customer.</td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>Optional. <br />ISO 3166-1 alpha-2 country code (for example <code>IN</code>, <code>US</code>, <code>GB</code>).</td>\n</tr>\n<tr>\n<td>client.date_of_birth</td>\n<td>Optional. <br />Customer's date of birth in YYYY-MM-DD format.</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory. <br />ISO 4217 fiat currency for the purchase (e.g. <code>EUR</code>). The customer pays the crypto equivalent. Minimum transaction amount: 10.00 EUR.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory. <br />Name of the product or service being purchased.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory. <br />Price in decimal format up to 2 decimals. Example: EUR 10 → <code>10.00</code>, EUR 11 and 50 cents → <code>11.50</code>.</td>\n</tr>\n<tr>\n<td>paymentMethod</td>\n<td>Conditional. <br />Mandatory if you are not using Paysecure Cashier. Value: <code>PAY-WITH-CRYPTO</code>.</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Mandatory. <br />Obtain from the Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>merchantRef</td>\n<td>Optional. <br />Strongly recommended — see Essential Optional Parameters below.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory. <br />URL to send the customer to if the transaction is successful.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Mandatory. <br />URL to send the customer to while the payment is awaiting confirmation.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory. <br />URL to send the customer to if the transaction has failed.</td>\n</tr>\n<tr>\n<td>success_callback</td>\n<td>Optional. <br />Merchant webhook endpoint that receives successful payment notifications.</td>\n</tr>\n<tr>\n<td>failure_callback</td>\n<td>Optional. <br />Merchant webhook endpoint that receives failed payment notifications.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Parameters forwarded to the crypto processor:</strong> Paysecure forwards the order amount (from <code>purchase.products</code>), the customer's IP address, a unique reference identifier, and <code>client.email</code> to the underlying crypto processor. You do not need to send these separately — they are derived from the purchase request.</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. Its inclusion offers two significant advantages:</p>\n<ol>\n<li><strong>Prevention of Duplicate Requests:</strong> if a second purchase request is made using the same <code>merchantRef</code>, the system recognises it and prevents duplicate transactions.</li>\n<li><strong>Facilitation of Transaction Retrieval:</strong> if the response times out or the <code>purchaseId</code> isn't received, the <code>merchantRef</code> allows you to retrieve the transaction details.</li>\n</ol>\n<h3 id=\"response\">Response</h3>\n<p>The success response echoes the full purchase object. The fields that drive your next step are <code>purchaseId</code> (store it) and <code>checkout_url</code> (redirect the customer to it). <code>status</code> is <code>CREATED</code> at this point; the final result arrives by webhook.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"f3d98605-94b2-4aa3-acb6-012cf6b5084a","id":"f3d98605-94b2-4aa3-acb6-012cf6b5084a","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"bc5879b9-f8c9-45eb-9705-6f5fff3092bf","name":"Purchase - Success (Created)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5772@example.com\",\n        \"full_name\": \"test test\",\n        \"street_address\": \"1 Example Street\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"234567\",\n        \"country\": \"GB\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"stateCode\": \"LO\",\n        \"phone\": \"+44 07000000000\"\n    },\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": 11.5\n            }\n        ]\n    },\n    \"paymentMethod\": \"PAY-WITH-CRYPTO\",\n    \"merchantRef\": \"test_pwc_001\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a50f3430c177fa609c7aa9a\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5772@example.com\",\n        \"phone\": \"+44 07000000000\",\n        \"full_name\": \"test test\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"LO\"\n    },\n    \"updated_on\": 1783690051,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"OPEN-BANKING,MASTER,VISA,JCB,AMEX,CRYPTO-BRIDGE,FawryPay,INTERAC-E-TRANSFER,INTERAC-REQUEST-MONEY,MOBILEMONEY,NEOSURF,PAYID,PIX,SPEI,THIRDPARTY-UPI,DISCOVER,BANKTRANSFER,VIRTUAL-IBAN,UPI-COLLECT,UPI-QR,VIRTUAL-ACCOUNT,DINERS,NETBANKING,MAYA,GCASH,INTERAC-EXPRESS,QRPH,APPLEPAY-REDIRECT,GOOGLEPAY-REDIRECT,KLARNA,QBPAY,RUPAY,UPI,UZCARD,PAY_WITH_INSTAXCHANGE,UPI-INTENT,PayByBank,GOOGLEPAY,APPLEPAY,PAYPLAY,UUWALLET,SKRILL,PAYPAL-ONRAMP,PAYPAL,INTERAC-ETRANSFER,INTERAC,PAY-WITH-CRYPTO,ACH,QR\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"NA\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1783690051,\n    \"merchantRef\": \"6a50f3430c177fa609c7aa9a\",\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"quantity\": 1,\n                \"price\": 11.5,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 11.5,\n        \"requestAmount\": 11.5,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"taxAmount\": 0,\n        \"taxPercent\": 0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 11.5,\n        \"currency\": \"EUR\",\n        \"net_amount\": 11.5,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": null,\n        \"remote_paid_on\": null\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\": \"Testing\",\n        \"brand_name\": \"Testing\",\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\": 1783690051\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS1903\",\n    \"issued\": \"2026-07-10\",\n    \"due\": 1783690051,\n    \"refund_upto\": 1794054463,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"1\",\n    \"extraFee\": \"0\",\n    \"totalRefunded\": 0,\n    \"pix_payload\": {},\n    \"payInDetails\": {},\n    \"paidOn\": 0,\n    \"receivedAmt\": 0,\n    \"taxAmount\": 0,\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 11.5,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.81\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a50f3430c177fa609c7aa9a/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a50f3430c177fa609c7aa9a/\",\n    \"payoutProcess\": false\n}"},{"id":"ea784e7c-d80b-418a-9410-a24b20fc49d9","name":"Purchase - Error (Below minimum amount)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user5772@example.com\",\n        \"full_name\": \"test test\",\n        \"street_address\": \"1 Example Street\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"234567\",\n        \"country\": \"GB\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"stateCode\": \"LO\",\n        \"phone\": \"+44 07000000000\"\n    },\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"price\": 11.5\n            }\n        ]\n    },\n    \"paymentMethod\": \"PAY-WITH-CRYPTO\",\n    \"merchantRef\": \"test_pwc_001\",\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"code\": \"107\",\n    \"message\": \"Amount is less than the minimum we can process, action can not be completed. Minimum amount should be: 10.00 EUR\",\n    \"status\": \"DECLINED\",\n    \"traceId\": \"517488249054850e\"\n}"}],"_postman_id":"a3867b33-36ac-4bcf-bc1e-5d3ba42abcc2"},{"name":"Get Status","id":"05683929-a7ce-4ff9-9951-030ee9ee69c2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}","description":"<p>Poll the current state of a purchase using the <code>purchaseId</code> returned by the Purchase API. For Pay with Crypto this is the fallback to webhooks — the status changes asynchronously as the blockchain confirms the transfer.</p>\n<h3 id=\"possible-payment-statuses\">Possible Payment Statuses</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>Description</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>created</code></td>\n<td>Purchase created successfully, awaiting customer</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>pending_execute</code></td>\n<td>Customer has been redirected to the checkout page</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>payment_in_process</code></td>\n<td>Crypto payment submitted, awaiting blockchain confirmation</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>paid</code></td>\n<td>Exact requested amount received and confirmed</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>over_paid</code></td>\n<td>The customer paid more than the requested amount</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>partial_paid</code></td>\n<td>The customer paid less than the requested amount</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>expired</code></td>\n<td>The payment request expired before the customer completed the payment</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>Payment failed or was not completed</td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><p>The top-level <code>status</code> in the response is uppercase (e.g. <code>PAID</code>, <code>OVER_PAID</code>, <code>PARTIAL_PAID</code>); entries in <code>status_history</code> are lowercase. On <code>partial_paid</code> and <code>over_paid</code>, reconcile the actually received amount in the merchant dashboard before fulfilling or refunding.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"f3d98605-94b2-4aa3-acb6-012cf6b5084a","id":"f3d98605-94b2-4aa3-acb6-012cf6b5084a","name":"PayIn API","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"bdbb21ab-e3d2-45e3-878b-0bb376e05893","name":"Get Status - Paid","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a3390aea36f57e04bb8a11b\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5772@example.com\",\n        \"phone\": \"+44 07000000000\",\n        \"full_name\": \"test test\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"LO\"\n    },\n    \"updated_on\": 1783690281,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"OPEN-BANKING,MASTER,VISA,JCB,AMEX,CRYPTO-BRIDGE,FawryPay,INTERAC-E-TRANSFER,INTERAC-REQUEST-MONEY,MOBILEMONEY,NEOSURF,PAYID,PIX,SPEI,THIRDPARTY-UPI,DISCOVER,BANKTRANSFER,VIRTUAL-IBAN,UPI-COLLECT,UPI-QR,VIRTUAL-ACCOUNT,DINERS,NETBANKING,MAYA,GCASH,INTERAC-EXPRESS,QRPH,APPLEPAY-REDIRECT,GOOGLEPAY-REDIRECT,KLARNA,QBPAY,RUPAY,UPI,UZCARD,PAY_WITH_INSTAXCHANGE,UPI-INTENT,PayByBank,GOOGLEPAY,APPLEPAY,PAYPLAY,UUWALLET,SKRILL,PAYPAL-ONRAMP,PAYPAL,INTERAC-ETRANSFER,INTERAC,PAY-WITH-CRYPTO,ACH,QR\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"Transaction succeeded-APPROVED\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1783690051,\n    \"merchantRef\": \"6a3390aea36f57e04bb8a11b\",\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"quantity\": 1,\n                \"price\": 11.5,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 11.5,\n        \"requestAmount\": 11.5,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"taxAmount\": 0,\n        \"taxPercent\": 0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 11.5,\n        \"currency\": \"EUR\",\n        \"net_amount\": 11.5,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1783690060,\n        \"remote_paid_on\": 1783690060\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\": \"Testing\",\n        \"brand_name\": \"Testing\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"amount\": 11.5,\n            \"masked_pan\": \"PAY-WITH-CRYPTO\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.81\",\n                \"type\": \"execute\",\n                \"payment_method\": \"PAY-WITH-CRYPTO\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"PAY-WITH-CRYPTO\",\n                \"processing_time\": 1783690060,\n                \"extra\": {\n                    \"amount\": 11.5,\n                    \"masked_pan\": \"PAY-WITH-CRYPTO\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1783690051\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1783690060\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1783690063\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1783690281\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1783690280\n        }\n    ],\n    \"viewedOn\": 1783690280,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS1874\",\n    \"issued\": \"2026-07-10\",\n    \"due\": 1783690051,\n    \"refund_upto\": 1794054463,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"1\",\n    \"extraFee\": \"0\",\n    \"totalRefunded\": 0,\n    \"pix_payload\": {},\n    \"payInDetails\": {},\n    \"paidOn\": 1783690281,\n    \"receivedAmt\": 11.5,\n    \"taxAmount\": 0,\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 11.5,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.81\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a3390aea36f57e04bb8a11b/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a3390aea36f57e04bb8a11b/\",\n    \"payoutProcess\": false\n}"},{"id":"5c211926-97bd-4649-97b8-f977b8c1a0ba","name":"Get Status - Over Paid","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a50f3430c177fa609c7aa9a\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5772@example.com\",\n        \"phone\": \"+44 07000000000\",\n        \"full_name\": \"test test\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"LO\"\n    },\n    \"updated_on\": 1783690281,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"OPEN-BANKING,MASTER,VISA,JCB,AMEX,CRYPTO-BRIDGE,FawryPay,INTERAC-E-TRANSFER,INTERAC-REQUEST-MONEY,MOBILEMONEY,NEOSURF,PAYID,PIX,SPEI,THIRDPARTY-UPI,DISCOVER,BANKTRANSFER,VIRTUAL-IBAN,UPI-COLLECT,UPI-QR,VIRTUAL-ACCOUNT,DINERS,NETBANKING,MAYA,GCASH,INTERAC-EXPRESS,QRPH,APPLEPAY-REDIRECT,GOOGLEPAY-REDIRECT,KLARNA,QBPAY,RUPAY,UPI,UZCARD,PAY_WITH_INSTAXCHANGE,UPI-INTENT,PayByBank,GOOGLEPAY,APPLEPAY,PAYPLAY,UUWALLET,SKRILL,PAYPAL-ONRAMP,PAYPAL,INTERAC-ETRANSFER,INTERAC,PAY-WITH-CRYPTO,ACH,QR\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"Transaction succeeded-APPROVED\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1783690051,\n    \"merchantRef\": \"6a50f3430c177fa609c7aa9a\",\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"quantity\": 1,\n                \"price\": 11.5,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 11.5,\n        \"requestAmount\": 11.5,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"taxAmount\": 0,\n        \"taxPercent\": 0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 11.5,\n        \"currency\": \"EUR\",\n        \"net_amount\": 11.5,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1783690060,\n        \"remote_paid_on\": 1783690060\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\": \"Testing\",\n        \"brand_name\": \"Testing\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"amount\": 11.5,\n            \"masked_pan\": \"PAY-WITH-CRYPTO\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.81\",\n                \"type\": \"execute\",\n                \"payment_method\": \"PAY-WITH-CRYPTO\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"PAY-WITH-CRYPTO\",\n                \"processing_time\": 1783690060,\n                \"extra\": {\n                    \"amount\": 11.5,\n                    \"masked_pan\": \"PAY-WITH-CRYPTO\"\n                }\n            }\n        ]\n    },\n    \"status\": \"OVER_PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1783690051\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1783690060\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1783690063\n        },\n        {\n            \"status\": \"over_paid\",\n            \"timestamp\": 1783690281\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1783690280\n        }\n    ],\n    \"viewedOn\": 1783690280,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS1903\",\n    \"issued\": \"2026-07-10\",\n    \"due\": 1783690051,\n    \"refund_upto\": 1794054463,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"1\",\n    \"extraFee\": \"0\",\n    \"totalRefunded\": 0,\n    \"pix_payload\": {},\n    \"payInDetails\": {},\n    \"paidOn\": 0,\n    \"receivedAmt\": 0,\n    \"taxAmount\": 0,\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 11.5,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.81\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a50f3430c177fa609c7aa9a/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a50f3430c177fa609c7aa9a/\",\n    \"payoutProcess\": false\n}"},{"id":"b44b1311-38c8-42ea-b9a3-864efbb2a874","name":"Get Status - Partial Paid","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a50f24533779459985eb258\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5772@example.com\",\n        \"phone\": \"+44 07000000000\",\n        \"full_name\": \"test test\",\n        \"date_of_birth\": \"1994-07-10\",\n        \"street_address\": \"1 Example Street\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"LO\"\n    },\n    \"updated_on\": 1783690015,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"OPEN-BANKING,MASTER,VISA,JCB,AMEX,CRYPTO-BRIDGE,FawryPay,INTERAC-E-TRANSFER,INTERAC-REQUEST-MONEY,MOBILEMONEY,NEOSURF,PAYID,PIX,SPEI,THIRDPARTY-UPI,DISCOVER,BANKTRANSFER,VIRTUAL-IBAN,UPI-COLLECT,UPI-QR,VIRTUAL-ACCOUNT,DINERS,NETBANKING,MAYA,GCASH,INTERAC-EXPRESS,QRPH,APPLEPAY-REDIRECT,GOOGLEPAY-REDIRECT,KLARNA,QBPAY,RUPAY,UPI,UZCARD,PAY_WITH_INSTAXCHANGE,UPI-INTENT,PayByBank,GOOGLEPAY,APPLEPAY,PAYPLAY,UUWALLET,SKRILL,PAYPAL-ONRAMP,PAYPAL,INTERAC-ETRANSFER,INTERAC,PAY-WITH-CRYPTO,ACH,QR\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"Transaction succeeded-APPROVED\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1783690051,\n    \"merchantRef\": \"6a50f24533779459985eb258\",\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"quantity\": 1,\n                \"price\": 11.5,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 11.5,\n        \"requestAmount\": 11.5,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"taxAmount\": 0,\n        \"taxPercent\": 0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 11.5,\n        \"currency\": \"EUR\",\n        \"net_amount\": 11.5,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1783689803,\n        \"remote_paid_on\": 1783689803\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\": \"Testing\",\n        \"brand_name\": \"Testing\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"amount\": 11.5,\n            \"masked_pan\": \"PAY-WITH-CRYPTO\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.81\",\n                \"type\": \"execute\",\n                \"payment_method\": \"PAY-WITH-CRYPTO\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"PAY-WITH-CRYPTO\",\n                \"processing_time\": 1783690060,\n                \"extra\": {\n                    \"amount\": 11.5,\n                    \"masked_pan\": \"PAY-WITH-CRYPTO\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PARTIAL_PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1783689797\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1783689803\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1783689807\n        },\n        {\n            \"status\": \"partial_paid\",\n            \"timestamp\": 1783690015\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1783690014\n        }\n    ],\n    \"viewedOn\": 1783690014,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS1902\",\n    \"issued\": \"2026-07-10\",\n    \"due\": 1783690051,\n    \"refund_upto\": 1794054463,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"1\",\n    \"extraFee\": \"0\",\n    \"totalRefunded\": 0,\n    \"pix_payload\": {},\n    \"payInDetails\": {},\n    \"paidOn\": 1783690015,\n    \"receivedAmt\": 0,\n    \"taxAmount\": 0,\n    \"surcharge\": 0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 11.5,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.81\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a50f24533779459985eb258/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a50f24533779459985eb258/\",\n    \"payoutProcess\": false\n}"},{"id":"d4cc7d67-4159-4312-8502-83731801de6e","name":"Get Status - Error (Purchase not found)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Purchase not found!\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"05683929-a7ce-4ff9-9951-030ee9ee69c2"}],"id":"f3d98605-94b2-4aa3-acb6-012cf6b5084a","description":"<p>Create a Pay with Crypto purchase and track it to a terminal status. Both calls use the standard Paysecure purchase contract.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"29d07aab-0b36-4852-82d3-df2c96797ccf"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"fc75b433-bbbc-436f-b4cd-f8c5924b5364"}}],"_postman_id":"f3d98605-94b2-4aa3-acb6-012cf6b5084a"}],"id":"08d3d362-7b1f-4e97-9c60-e6466362ebff","description":"<p>Pay with Crypto lets you accept cryptocurrency payments while creating the purchase in a fiat currency. You create a standard purchase with <code>paymentMethod</code> = <code>PAY-WITH-CRYPTO</code>; the customer picks a token and network on the Paysecure-hosted checkout, pays to a unique wallet address (or scans a QR code), and you receive the final status by webhook once the blockchain confirms the transfer.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Payment type</td>\n<td>Cryptocurrency (hosted checkout, on-chain transfer)</td>\n</tr>\n<tr>\n<td>Countries</td>\n<td>Global (subject to merchant compliance configuration)</td>\n</tr>\n<tr>\n<td>Processing currency</td>\n<td>Fiat (ISO 4217, e.g. <code>EUR</code>) — converted to crypto at checkout</td>\n</tr>\n<tr>\n<td>PayIn</td>\n<td>✅</td>\n</tr>\n<tr>\n<td>PayOut</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>Refunds</td>\n<td>❌ Not available via API (<code>refund_availability</code> = <code>NONE</code>) — contact your Account Manager</td>\n</tr>\n<tr>\n<td>Recurring / MIT</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>Chargebacks</td>\n<td>❌ Not applicable — crypto transfers are push payments</td>\n</tr>\n<tr>\n<td>Customer flow</td>\n<td>Redirect to hosted checkout → QR scan or wallet transfer</td>\n</tr>\n<tr>\n<td>Payment confirmation</td>\n<td>Asynchronous — final status arrives by webhook after blockchain confirmation</td>\n</tr>\n<tr>\n<td>Underpayment / Overpayment</td>\n<td>Possible — terminal statuses <code>partial_paid</code> / <code>over_paid</code> (see Concepts)</td>\n</tr>\n<tr>\n<td>Transaction limits</td>\n<td>Min <strong>10.00 EUR</strong>; max as configured for your merchant account</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"08d3d362-7b1f-4e97-9c60-e6466362ebff"},{"name":"🪙 On Ramp","item":[],"id":"b5b5b2bf-7a44-406f-8379-37c93266b76e","description":"<h2 id=\"overview\">Overview</h2>\n<p>Paysecure 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 PaySecure 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 Paysecure 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\": \"user7068@example.com\",\n        \"country\":\"GB\",\n        \"city\":\"Milford\",\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\": \"your-brand-id\",\n    \"paymentMethod\":\"QBPAYFTOPUP\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.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\": \"user7068@example.com\",\n        \"phone\": \"9999999999\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"221B Baker Street\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\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\": \"your-brand-id\",\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://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.208\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/657a10b3casd23123122/\",\n    \"merchantIp\": \"203.0.113.183\"\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":"b5b5b2bf-7a44-406f-8379-37c93266b76e"},{"name":"3rd Party Cashiers","item":[{"name":"ThirdParty UPI","item":[{"name":"Concepts","item":[],"id":"95eafe78-c951-41b0-ab37-1b825614e344","description":"<h2 id=\"concepts\">Concepts</h2>\n<ul>\n<li><p><strong>APM Integration:</strong> Merchants integrate with set of Paysecure 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>Secure Redirection:</strong> Customers are securely redirected from the merchant site to the 3rd-party's cashier page for payments and back to the merchant site upon completion.</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 intevent via VPA, 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</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 UPI 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 Paysecure <code>createPurchase</code> API to initiate the transaction.</p>\n</li>\n<li><p><strong>Redirection to Third-Party Cashier Page:</strong><br /> The customer is redirected to 3rd-party's 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>UPI Intent (via VPA)</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, success callback is sent 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 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 /> Payout is processed 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","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"71296339-4b2c-464c-927c-e541e82edf19"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"bbf26dc9-5514-458b-a663-44aad811614d"}}],"_postman_id":"95eafe78-c951-41b0-ab37-1b825614e344"},{"name":"Payin","item":[{"name":"Create Purchase","id":"215764fa-9120-49c2-9db7-7ba846dafca9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user8773@example.com\",\r\n        \"street_address\": \"7 Placeholder Road\",\r\n        \"city\": \"Riverton\",\r\n        \"full_name\": \"Sam Costa\",\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\": \"THIRDPARTY-UPI\",\r\n    \"brand_id\": \"your-brand-id\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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.</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 Paysecure.</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 Paysecure'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 Paysecure and at customer's Bank, the merchant and Paysecure 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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure 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, Paysecure 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://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[],"_postman_id":"215764fa-9120-49c2-9db7-7ba846dafca9"},{"name":"Get Status","id":"6954f483-74c6-4fb2-820a-4e53f417918c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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","urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"c69bd26c-7afb-46c1-aa7b-2560a29dd219","name":"Purchases-success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"66c4667bb993c970367c288a\",\n    \"client\": {\n        \"email\": \"user1571@example.com\",\n        \"date_of_birth\": \"1970-07-10\",\n        \"street_address\": \"13 Documentation Way\",\n        \"country\": \"IN\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"68403\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"QLD\"\n    },\n    \"updated_on\": 1724147324,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"UPI\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1724147324,\n    \"merchantRef\": \"66c4667bb993c970367c288a\",\n    \"merchantName\": \"merchant002\",\n    \"purchase\": {\n        \"currency\": \"INR\",\n        \"products\": [\n            {\n                \"name\": \"test\",\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        \"expireInMin\": \"35\",\n        \"request_client_details\": [],\n        \"timezone\": \"MIT\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 10,\n        \"currency\": \"INR\",\n        \"net_amount\": 10,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1724147324,\n        \"remote_paid_on\": 1724147324\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\": 10,\n            \"masked_pan\": \"UPI\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.192\",\n                \"type\": \"execute\",\n                \"payment_method\": \"UPI\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"UPI\",\n                \"processing_time\": 1724147324,\n                \"extra\": {\n                    \"amount\": 10,\n                    \"masked_pan\": \"UPI\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAYMENT_IN_PROCESS\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1724147324\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1724147324\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1724147324\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS10907\",\n    \"issued\": \"2024-08-20\",\n    \"due\": 1724147324,\n    \"refund_upto\": 1725871728,\n    \"cc_descriptor\": \"test1\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"payInDetails\": {\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==\",\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\",\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\",\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\",\n        \"generatedLink\": \"https://api.paysecure.net/pay/514o5z3m9z\"\n    },\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 10,\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\": \"203.0.113.192\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/66c4667bb993c970367c288a/\",\n    \"payoutProcess\": false\n}"},{"id":"50a97a0c-0184-4f0f-b27a-ecd81772511f","name":"Purchases","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/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":"6954f483-74c6-4fb2-820a-4e53f417918c"}],"id":"0943cbe2-b8f2-47c5-9441-822c609f1b5f","description":"<h3 id=\"payin-api-flow\">PayIn API Flow</h3>\n<ol>\n<li><p><strong>Initiation:</strong></p>\n<ol>\n<li><p>Merchant system calls paysecure <code>Purchases</code> API.</p>\n</li>\n<li><p><strong>Response:</strong> Returns a checkout URL and initiates a callback URL.</p>\n</li>\n</ol>\n</li>\n<li><p><strong>Redirection:</strong></p>\n<ol>\n<li>Customer is redirected to the cashier page.</li>\n</ol>\n</li>\n<li><p><strong>Payment Method Selection:</strong></p>\n<ol>\n<li>The cashier page displays options such as UPI Dynamic QR and UPI ID.</li>\n</ol>\n</li>\n<li><p><strong>Transaction Processing:</strong></p>\n<ol>\n<li>Customer completes the payment using a UPI app.</li>\n</ol>\n</li>\n<li><p><strong>Success Callback:</strong></p>\n<ol>\n<li>On successful payment, a scuccess wehook is triggered</li>\n</ol>\n</li>\n<li><p><strong>Finalization:</strong></p>\n<ol>\n<li>Customer is redirected back to the merchant site where the transaction status is displayed and the balance is updated.</li>\n</ol>\n</li>\n</ol>\n","_postman_id":"0943cbe2-b8f2-47c5-9441-822c609f1b5f","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"0a720e0e-9b08-4b29-946a-bff6ff991297","id":"0a720e0e-9b08-4b29-946a-bff6ff991297","name":"ThirdParty UPI","type":"folder"}}},{"name":"Payout","item":[{"name":"Create PayOut","id":"bea9d71b-e544-485d-8051-b4ad564e8db6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user3808@example.com\",\r\n        \"country\": \"CA\",\r\n        \"phone\": \"766225230591\",\r\n        \"full_name\": \"Avery Larsen\"\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-THIRDPARTY-UPI\",\r\n    \"amount\": 10,\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.paysecure.net/api/v1/payout/","description":"<p>To Initiate a payment, the very first call to make is <code>/payout/</code> 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-THIRDPARTY-UPI</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":"noauth","isInherited":true,"source":{"_postman_id":"0a720e0e-9b08-4b29-946a-bff6ff991297","id":"0a720e0e-9b08-4b29-946a-bff6ff991297","name":"ThirdParty UPI","type":"folder"}},"urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[{"disabled":true,"key":"","value":null},{"disabled":true,"key":null,"value":""}],"variable":[]}},"response":[],"_postman_id":"bea9d71b-e544-485d-8051-b4ad564e8db6"},{"name":"Get Status","id":"e585a59a-033e-45e4-ac4e-d2fe2d2f1a13","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.paysecure.net/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://your.success.callback.com\">https://your.success.callback.com</a>\",</p>\n<p>Error: \"failure_callback\": “<a href=\"https://failure.com%E2%80%9D\">https://failure.com”</a></p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"0a720e0e-9b08-4b29-946a-bff6ff991297","id":"0a720e0e-9b08-4b29-946a-bff6ff991297","name":"ThirdParty UPI","type":"folder"}},"urlObject":{"path":["getpayout","{payoutId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"d038641e-177e-4dbb-a2cf-c81d74f3043d","name":"Get success Status","originalRequest":{"method":"GET","header":[],"url":"https://api.paysecure.net/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"66838ae86d41e41c10a8656d\",\r\n    \"client\": {\r\n        \"email\": \"user4063@example.com\",\r\n        \"phone\": \"766533230591\",\r\n        \"full_name\": \"Avery Larsen\",\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://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}\r\n"},{"id":"81e68bce-0a5e-4804-93f4-54ff7c9a1dce","name":"Get Error Status","originalRequest":{"method":"GET","header":[],"url":"https://api.paysecure.net/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":"e585a59a-033e-45e4-ac4e-d2fe2d2f1a13"}],"id":"79f9c9c6-a938-4824-80bf-bd32f7b326dc","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.</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>The payout request is processed.</li>\n</ul>\n</li>\n<li><p><strong>Webhook Notification:</strong></p>\n<ul>\n<li>Upon successful payout, merchant receives 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":"79f9c9c6-a938-4824-80bf-bd32f7b326dc","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"0a720e0e-9b08-4b29-946a-bff6ff991297","id":"0a720e0e-9b08-4b29-946a-bff6ff991297","name":"ThirdParty UPI","type":"folder"}}}],"id":"0a720e0e-9b08-4b29-946a-bff6ff991297","description":"<p>This 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 Intent (via VPA) payments. The integration leverages asynchronous callbacks and webhooks to ensure real-time transaction status updates and balance synchronization.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"b5447dc0-8302-465c-aff8-a0360f5d04f7"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"c3a8aecf-06aa-4219-9fe1-69f8ad32b900"}}],"_postman_id":"0a720e0e-9b08-4b29-946a-bff6ff991297"}],"id":"30bf76e4-813b-4276-9f97-d17269dacaf2","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"b03ea234-ac14-49f9-9ea0-290ddafa15ed"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"10034b86-e510-4206-bc0f-4f3181c19358"}}],"_postman_id":"30bf76e4-813b-4276-9f97-d17269dacaf2","description":""}],"id":"96e442a4-3d5e-4c57-8eeb-5b42f60d12fd","_postman_id":"96e442a4-3d5e-4c57-8eeb-5b42f60d12fd","description":""},{"name":"Trust Score","item":[{"name":"TrustScore Detailed","id":"d1f89783-7b21-43ac-8dad-1f523021cdb5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"requiredinput\": {\r\n        \"ip\": \"203.0.113.106\",\r\n        \"email\": \"user5772@example.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://api.paysecure.net/api/v1/trustScore","description":"<h3 id=\"overview\">Overview</h3>\n<p>Paysecure 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 PaySecure 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>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>","urlObject":{"path":["trustScore"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"7fd18a90-d721-46cf-991c-b37d5b5fd4f2","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\": \"user5772@example.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.paysecure.net/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":"f2726567-a184-44d8-92ce-7a3e46f9a1a9","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\": \"user5772@example.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.paysecure.net/api/v1/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":"d1f89783-7b21-43ac-8dad-1f523021cdb5"},{"name":"checkTransactionAllowed","id":"5712ae38-0783-4dc6-900e-9be07134fe08","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"requiredinput\": {\r\n        \"ip\": \"203.0.113.106\",\r\n        \"email\": \"user5772@example.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://api.paysecure.net/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 Paysecure 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>","urlObject":{"path":["checkTransAllowed"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"9e309f3e-9981-42b4-9aaf-d76111087b74","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\": \"user5772@example.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.paysecure.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":"e75496e7-60f7-4221-a1d7-1136b7df93bc","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\": \"user5772@example.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.paysecure.net/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":"5712ae38-0783-4dc6-900e-9be07134fe08"}],"id":"053bbe78-b35d-46bb-af21-eb040389edda","_postman_id":"053bbe78-b35d-46bb-af21-eb040389edda","description":""},{"name":"Cashier APIs","item":[{"name":"Customer","id":"57dcd018-b449-4805-9a63-cf8ec49ef57c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"fullName\": \"Reese Nakamura\",\r\n    \"emailId\": \"user7734@example.com\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"city\": \"Riverton\",\r\n    \"stateCode\": \"RJ\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"24 Sample Avenue\",\r\n    \"country\": \"IN\",\r\n    \"merchantCustomerId\": \"user8912@example.com\",\r\n    \"CustRegDate\": \"2023-12-27\", //non-mandatory - customer registration date on merchant site\r\n    \"SuccessTxn\": \"32\", //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://api.paysecure.net/api/v1/customer","description":"<p><strong>OVERIEW</strong></p>\n<p>The <strong>createCustomer API</strong> allows merchants to create a customer profile on PaySecure when a user visits their website, facilitating a seamless payment experience by pre-filling the customer's details, on the PaySecure 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><strong>Required</strong></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>Yes</td>\n<td>unique customer ID provided by merchant. This can be email, mobile or an alphanumeric string</td>\n<td><a href=\"https://mailto:user8912@example.com\">user8912@example.com</a></td>\n</tr>\n<tr>\n<td>fullName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Full name of the customer.</td>\n<td>Reese Nakamura</td>\n</tr>\n<tr>\n<td>emailId</td>\n<td>String</td>\n<td>Yes</td>\n<td>Email address of the customer.</td>\n<td><a href=\"https://mailto:user3456@example.com\">user3456@example.com</a></td>\n</tr>\n<tr>\n<td>dateOfBirth</td>\n<td>String</td>\n<td>Optional</td>\n<td>Customer's date of birth in YYYY-MM-DD format.</td>\n<td>1995-12-27</td>\n</tr>\n<tr>\n<td>phoneNo</td>\n<td>String</td>\n<td>Yes</td>\n<td>Customer's phone number. Preferred with the country code</td>\n<td>+91 797639082</td>\n</tr>\n<tr>\n<td>city</td>\n<td>String</td>\n<td>Optional</td>\n<td>City of the customer.</td>\n<td>Riverton</td>\n</tr>\n<tr>\n<td>stateCode</td>\n<td>String</td>\n<td>Yes</td>\n<td>State code of the customer.</td>\n<td>RJ</td>\n</tr>\n<tr>\n<td>zipCode</td>\n<td>String</td>\n<td>Optional</td>\n<td>Postal code of the customer's location.</td>\n<td>302018</td>\n</tr>\n<tr>\n<td>address</td>\n<td>String</td>\n<td>Optional</td>\n<td>Full address of the customer.</td>\n<td>24 Sample Avenue</td>\n</tr>\n<tr>\n<td>country</td>\n<td>String</td>\n<td>Yes</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>Optional</td>\n<td>Customer registration date on merchant site in YYYY-MM-DD format.</td>\n<td>2023-12-27</td>\n</tr>\n<tr>\n<td>successTxn</td>\n<td>String</td>\n<td>Optional</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><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 Paysecure API with the customer's details.</p>\n</li>\n<li><p><strong>Customer ID generation</strong>: Paysecure 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 session creation, 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<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":"noauth","isInherited":true,"source":{"_postman_id":"53a4ccc8-3f67-4e7d-a38c-069f1f6eae81","id":"53a4ccc8-3f67-4e7d-a38c-069f1f6eae81","name":"Cashier APIs","type":"folder"}},"urlObject":{"path":["customer"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"be6c8269-b127-4b9a-ba23-082740dd42e6","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","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 {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"fullName\": \"Reese Nakamura\",\r\n    \"emailId\": \"user7734@example.com\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"city\": \"Riverton\",\r\n    \"stateCode\": \"RJ\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"24 Sample Avenue\",\r\n    \"country\": \"IN\",\r\n    \"merchantCustomerId\": \"user8912@example.com\",\r\n    \"CustRegDate\": \"2023-12-27\", //non-mandatory - customer registration date on merchant site\r\n    \"SuccessTxn\": \"32\", //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://api.paysecure.net/api/v1/customer"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"customerId\": \"691afbc6fd96d34a8113a34d\",\r\n    \"merchantCustomerId\": \"user8912@example.com\",\r\n    \"fullName\": \"Reese Nakamura\",\r\n    \"emailId\": \"user7734@example.com\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"brandID\": \"your-brand-id\",\r\n    \"city\": \"Riverton\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"24 Sample Avenue\",\r\n    \"country\": \"IN\",\r\n    \"stateCode\": \"RJ\",\r\n    \"custRegDate\": \"2023-12-27\",\r\n    \"successTrans\": 0,\r\n    \"createdOn\": 1763376070,\r\n    \"lastUpdated\": 0,\r\n    \"lastActivity\": 1763376070,\r\n    \"extraParam\": {\r\n        \"param1\": \"value1\",\r\n        \"param2\": \"value2\",\r\n        \"param3\": \"value3\",\r\n        \"param4\": \"value4\"\r\n    }\r\n}"},{"id":"664823cf-f821-41c2-a7fa-c4729922b813","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","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 {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"fullName\": \"Reese Nakamura\",\r\n    \"emailId\": \"user7734@example.com\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"city\": \"Riverton\",\r\n    \"stateCode\": \"RJ\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"24 Sample Avenue\",\r\n    \"country\": \"IN\",\r\n    \"merchantCustomerId\": \"user8912@example.com\",\r\n    \"CustRegDate\": \"2023-12-27\", //non-mandatory - customer registration date on merchant site\r\n    \"SuccessTxn\": \"32\", //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://api.paysecure.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":"59cc98c9-96a2-4166-b6d5-6816b1693c81","name":"Existing Customer","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","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 {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"fullName\": \"Reese Nakamura\",\r\n    \"emailId\": \"user7734@example.com\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"city\": \"Riverton\",\r\n    \"stateCode\": \"RJ\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"24 Sample Avenue\",\r\n    \"country\": \"IN\",\r\n    \"merchantCustomerId\": \"user8912@example.com\",\r\n    \"CustRegDate\": \"2023-12-27\", //non-mandatory - customer registration date on merchant site\r\n    \"SuccessTxn\": \"32\", //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://api.paysecure.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}"}],"_postman_id":"57dcd018-b449-4805-9a63-cf8ec49ef57c"},{"name":"Customer","id":"baf23776-2350-4ff2-9381-28eec543744b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"merchantCustomerId\": \"user5489@example.com\"\n}","options":{"raw":{"language":"json"}}},"url":"/customer","description":"<p>This endpoint makes an HTTP GET request to retrieve customer information from the Paysecure 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 parameter \"merchantCustomerId\", which will be the customer id on the merchant's side.</p>\n<h3 id=\"response\">Response</h3>\n<p>The response of this request can be documented as a JSON schema.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"53a4ccc8-3f67-4e7d-a38c-069f1f6eae81","id":"53a4ccc8-3f67-4e7d-a38c-069f1f6eae81","name":"Cashier APIs","type":"folder"}},"urlObject":{"path":["customer"],"host":[""],"query":[],"variable":[]}},"response":[{"id":"9a874e5e-c5b4-4365-9e6c-444d969d03e5","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"/customer"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"customerId\": \"691afbc6fd96d34a8113a34d\",\n    \"merchantCustomerId\": \"user5489@example.com\",\n    \"fullName\": \"Reese Nakamura\",\n    \"emailId\": \"user7734@example.com\",\n    \"dateOfBirth\": \"1994-06-03\",\n    \"phoneNo\": \"+91 797639082\",\n    \"brandID\": \"your-brand-id\",\n    \"city\": \"Riverton\",\n    \"zipCode\": \"302018\",\n    \"address\": \"24 Sample Avenue\",\n    \"country\": \"IN\",\n    \"stateCode\": \"RJ\",\n    \"custRegDate\": \"2023-12-27\",\n    \"successTrans\": 0,\n    \"createdOn\": 1763376070,\n    \"lastUpdated\": 0,\n    \"lastActivity\": 1763376070,\n    \"extraParam\": {\n        \"param1\": \"value1\",\n        \"param2\": \"value2\",\n        \"param3\": \"value3\",\n        \"param4\": \"value4\"\n    }\n}"},{"id":"56b85b23-eb6a-4b39-9c61-13916551a978","name":"Invalid Customer","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"/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":"baf23776-2350-4ff2-9381-28eec543744b"},{"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":{},"requests":{},"id":"7256158c-b175-41fb-b416-ea6b113c2fce"}}],"id":"166d9399-feec-4bf3-a3bf-e331b1d12bfd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"fullName\": \"Reese Rivera\",\n    \"emailId\": \"user5989@example.com\",\n    \"dateOfBirth\": \"1990-11-27\",\n    \"phoneNo\": \"+91 9413666514\",\n    \"city\": \"Kingsport\",\n    \"stateCode\": \"Raj\",\n    \"zipCode\": \"202021\",\n    \"address\": \"58 Testing Lane\",\n    \"country\": \"IN\",\n    \"CustRegDate\": \"2023-12-28\",\n    \"SuccessTxn\": \"33\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/{PaysecureCustomerId}/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 Paysecure.</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://api.paysecure.net/api/v1/%7BcustomerId%7D/patchCustomer\">https://api.paysecure.net/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","urlObject":{"path":["{PaysecureCustomerId}","patchCustomer"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"c0592ddc-d084-4015-9362-2853dc9d996e","name":"Success","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Authorisation","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"fullName\": \"Reese Rivera\",\n    \"emailId\": \"user5989@example.com\",\n    \"dateOfBirth\": \"1990-11-27\",\n    \"phoneNo\": \"+91 9413666514\",\n    \"city\": \"Kingsport\",\n    \"stateCode\": \"Raj\",\n    \"zipCode\": \"202021\",\n    \"address\": \"58 Testing Lane\",\n    \"country\": \"IN\",\n    \"CustRegDate\": \"2023-12-28\",\n    \"SuccessTxn\": \"33\",\n    \"extraParam\": {\n        \"param1\": \"value1\",\n        \"param2\": \"value2\",\n        \"param3\": \"value3\",\n        \"param4\": \"value4\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/{PaysecureCustomerId}/patchCustomer"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"customerId\": \"691afbc6fd96d34a8113a34d\",\n    \"merchantCustomerId\": \"user5489@example.com\",\n    \"fullName\": \"Reese Rivera\",\n    \"emailId\": \"user5989@example.com\",\n    \"dateOfBirth\": \"1990-11-27\",\n    \"phoneNo\": \"+91 9413666514\",\n    \"brandID\": \"your-brand-id\",\n    \"city\": \"Kingsport\",\n    \"zipCode\": \"202021\",\n    \"address\": \"58 Testing Lane\",\n    \"country\": \"IN\",\n    \"stateCode\": \"Raj\",\n    \"custRegDate\": \"2023-12-28\",\n    \"successTrans\": 0,\n    \"createdOn\": 1763376070,\n    \"lastUpdated\": 1763377024,\n    \"lastActivity\": 1763377024,\n    \"extraParam\": {\n        \"param1\": \"value1\",\n        \"param2\": \"value2\",\n        \"param3\": \"value3\",\n        \"param4\": \"value4\"\n    }\n}"}],"_postman_id":"166d9399-feec-4bf3-a3bf-e331b1d12bfd"},{"name":"Purchase Session","id":"2b150d84-25a3-41e1-a2a5-9e09caf994c5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"customerId\": \"68fed1855ebbe829416b08c6\",\r\n    \"merchantRef\": \"user5489@example.com\", // optional\r\n    \"currency\": \"EUR\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"10\"\r\n        },\r\n        {\r\n            \"name\": \"Product2\",\r\n            \"price\": \"12\"\r\n        }\r\n    ],\r\n    \"totalAmount\": \"22\", // optional, but if present have precedence over sum of prices mentioned above.\r\n    \"paymentMethod\": \"VISA\", //optional\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\",\r\n    \"extraParam\": {\r\n        \"param1\": \"value1\",\r\n        \"showCryptoConversion\": \"yes\",\r\n        \"cryptoCurrencies\": \"[\\\"BTC\\\",\\\"ETH\\\",\\\"USDT\\\",\\\"XRP\\\",\\\"LTC\\\",\\\"DOGE\\\",\\\"ETC\\\",\\\"BNB\\\",\\\"USDC\\\",\\\"SOL\\\",\\\"ADA\\\",\\\"BCH\\\",\\\"DASH\\\",\\\"BTG\\\",\\\"ZEC\\\",\\\"DGB\\\",\\\"EOS\\\",\\\"XLM\\\",\\\"TRX\\\",\\\"QTUM\\\",\\\"POL\\\",\\\"SHIB\\\",\\\"LINK\\\",\\\"DAI\\\",\\\"TON\\\",\\\"AVAX\\\",\\\"FDUSD\\\",\\\"ARB\\\",\\\"OP\\\"]\",\r\n            \"param3\": \"value3\",\r\n            \"param4\": \"value4\"\r\n        }\r\n    }","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/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<h3 id=\"mandatory-parameters\">Mandatory Parameters</h3>\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</tbody>\n</table>\n</div><h4 id=\"show-crypto-conversion\">Show Crypto Conversion</h4>\n<p>Additionally, there are some default extra parameters that you can pass for allowing Crypto Conversion on Paysecure's cashier itself.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Example</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>extraParam.showCryptoConversion</td>\n<td>String</td>\n<td>This optional parameter allows customer to see crypto value equivelant to the Fiat amount the customer is planning to pay.</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>extraParam.cryptoCurrencies</td>\n<td>String</td>\n<td>Pass here the allowed crypto tokens on the cashier, where customer can see the the conversion value</td>\n<td>[\\\"BTC\\\",\\\"ETH\\\",\\\"USDT\\\",\\\"XRP\\\",\\\"LTC\\\",\\\"DOGE\\\",\\\"ETC\\\",\\\"BNB\\\",\\\"USDC\\\",\\\"SOL\\\",\\\"ADA\\\",\\\"BCH\\\",\\\"DASH\\\",\\\"BTG\\\",\\\"ZEC\\\",\\\"DGB\\\",\\\"EOS\\\",\\\"XLM\\\",\\\"TRX\\\",\\\"QTUM\\\",\\\"POL\\\",\\\"SHIB\\\",\\\"LINK\\\",\\\"DAI\\\",\\\"TON\\\",\\\"AVAX\\\",\\\"FDUSD\\\",\\\"ARB\\\",\\\"OP\\\"]</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>: PaySecure 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. Default is 15 mins from the creation time.</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":"noauth","isInherited":true,"source":{"_postman_id":"53a4ccc8-3f67-4e7d-a38c-069f1f6eae81","id":"53a4ccc8-3f67-4e7d-a38c-069f1f6eae81","name":"Cashier APIs","type":"folder"}},"urlObject":{"path":["createSession"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"4003139d-265c-4d58-947d-be6ead487340","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","description":"it is mandatory to pass the BrandId in header for each createSession request. ","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"customerId\": \"68fed1855ebbe829416b08c6\",\r\n    \"merchantRef\": \"user5489@example.com\", // optional\r\n    \"currency\": \"EUR\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"10\"\r\n        },\r\n        {\r\n            \"name\": \"Product2\",\r\n            \"price\": \"12\"\r\n        }\r\n    ],\r\n    \"totalAmount\": \"22\", // optional, but if present have precedence over sum of prices mentioned above.\r\n    \"paymentMethod\": \"VISA\", //optional\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\",\r\n    \"extraParam\": {\r\n        \"param1\": \"value1\",\r\n        \"param3\": \"value3\",\r\n        \"param4\": \"value4\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/createSession"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"sessionUrl\": \"https://api.paysecure.net/payment-session/691b02b48c73dd76eedaa379/\",\r\n    \"brandId\": \"your-brand-id\",\r\n    \"customerId\": \"68fed1855ebbe829416b08c6\",\r\n    \"sessionId\": \"691b02b48c73dd76eedaa379\",\r\n    \"expiryOn\": 1763378744,\r\n    \"createdOn\": 1763377844\r\n}"},{"id":"6bdb95a8-d18f-4f8d-8be1-47c498b0c641","name":"Session with CryptoConversion","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","description":"it is mandatory to pass the BrandId in header for each createSession request. ","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"customerId\": \"68fed1855ebbe829416b08c6\",\r\n    \"merchantRef\": \"user5489@example.com\", // optional\r\n    \"currency\": \"EUR\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"10\"\r\n        },\r\n        {\r\n            \"name\": \"Product2\",\r\n            \"price\": \"12\"\r\n        }\r\n    ],\r\n    \"totalAmount\": \"22\", // optional, but if present have precedence over sum of prices mentioned above.\r\n    \"paymentMethod\": \"VISA\", //optional\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\",\r\n    \"extraParam\": {\r\n        \"param1\": \"value1\",\r\n        \"showCryptoConversion\": \"yes\",\r\n        \"cryptoCurrencies\": \"[\\\"BTC\\\",\\\"ETH\\\",\\\"USDT\\\",\\\"XRP\\\",\\\"LTC\\\",\\\"DOGE\\\",\\\"ETC\\\",\\\"BNB\\\",\\\"USDC\\\",\\\"SOL\\\",\\\"ADA\\\",\\\"BCH\\\",\\\"DASH\\\",\\\"BTG\\\",\\\"ZEC\\\",\\\"DGB\\\",\\\"EOS\\\",\\\"XLM\\\",\\\"TRX\\\",\\\"QTUM\\\",\\\"POL\\\",\\\"SHIB\\\",\\\"LINK\\\",\\\"DAI\\\",\\\"TON\\\",\\\"AVAX\\\",\\\"FDUSD\\\",\\\"ARB\\\",\\\"OP\\\"]\",\r\n        \"param3\": \"value3\",\r\n        \"param4\": \"value4\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/createSession"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"sessionUrl\": \"https://api.paysecure.net/payment-session/691b02b48c73dd76eedaa379/\",\n    \"brandId\": \"your-brand-id\",\n    \"customerId\": \"68fed1855ebbe829416b08c6\",\n    \"sessionId\": \"691b02b48c73dd76eedaa379\",\n    \"expiryOn\": 1763378744,\n    \"createdOn\": 1763377844\n}"},{"id":"7845d7b7-348c-4ad2-a8af-0e83db877e8f","name":"Invalid Session","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"your-brand-id","description":"it is mandatory to pass the BrandId in header for each createSession request. ","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"customerId\": \"68fed1855ebbe829416b08c6\",\r\n    \"merchantRef\": \"user5489@example.com\", // optional\r\n    \"currency\": \"EUR\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"10\"\r\n        },\r\n        {\r\n            \"name\": \"Product2\",\r\n            \"price\": \"12\"\r\n        }\r\n    ],\r\n    \"totalAmount\": \"22\", // optional, but if present have precedence over sum of prices mentioned above.\r\n    \"paymentMethod\": \"VISA\", //optional\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\",\r\n    \"extraParam\": {\r\n        \"param1\": \"value1\",\r\n        \"param3\": \"value3\",\r\n        \"param4\": \"value4\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.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}"}],"_postman_id":"2b150d84-25a3-41e1-a2a5-9e09caf994c5"},{"name":"Payout Session","id":"31efe940-11bd-42ec-b9ef-5a041c6fb570","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"customerId\": \"67c9983fba18400ab6cceb8f\",\r\n    \"currency\": \"USD\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"2\"\r\n        }\r\n    ],\r\n    \"totalAmount\": \"2\",\r\n    \"tax_amount\": \"\", // optional\r\n    \"tax_percent\": \"\", // optional\r\n    \"type\": \"payout\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\r\n        \"showCryptoConversion\": \"yes\",\r\n        \"cryptoCurrencies\": \"[\\\"BTC\\\",\\\"ETH\\\",\\\"USDT\\\",\\\"XRP\\\",\\\"LTC\\\",\\\"DOGE\\\",\\\"ETC\\\",\\\"BNB\\\",\\\"USDC\\\",\\\"SOL\\\",\\\"ADA\\\",\\\"BCH\\\",\\\"DASH\\\",\\\"BTG\\\",\\\"ZEC\\\",\\\"DGB\\\",\\\"EOS\\\",\\\"XLM\\\",\\\"TRX\\\",\\\"QTUM\\\",\\\"POL\\\",\\\"SHIB\\\",\\\"LINK\\\",\\\"DAI\\\",\\\"TON\\\",\\\"AVAX\\\",\\\"FDUSD\\\",\\\"ARB\\\",\\\"OP\\\"]\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/createSession","description":"<p>This API is used to initiate a payout session for a customer. By passing the <code>customerId</code> (generated via the <code>createCustomer</code> API) and specifying <code>\"type\": \"payout\"</code>, a payout session is started.<br />A <code>sessionURL</code> is returned in the response, which can be used to redirect the customer to the payout cashier. The customer can then select the payout method, pass required parameters, and the payout will be processed.</p>\n<h4 id=\"parameters\">Parameters:</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>customerId</strong></td>\n<td>string</td>\n<td>The unique ID of the customer for whom the payout session is created. This ID is generated by the <code>createCustomer</code> API.</td>\n</tr>\n<tr>\n<td><strong>currency</strong></td>\n<td>string</td>\n<td>The currency of the payout session (e.g., USD).</td>\n</tr>\n<tr>\n<td><strong>products</strong></td>\n<td>array</td>\n<td>A list of products associated with the payout (e.g., name and price).</td>\n</tr>\n<tr>\n<td><strong>totalAmount</strong></td>\n<td>string</td>\n<td>The total payout amount (optional. calculated dynamically if value is not passed).</td>\n</tr>\n<tr>\n<td><strong>tax_amount</strong></td>\n<td>string</td>\n<td>The tax amount to be applied (optional).</td>\n</tr>\n<tr>\n<td><strong>tax_percent</strong></td>\n<td>string</td>\n<td>The tax percentage to be applied (optional).</td>\n</tr>\n<tr>\n<td><strong>type</strong></td>\n<td>string</td>\n<td>Should be set to \"payout\" to initiate a payout session.</td>\n</tr>\n<tr>\n<td><strong>success_redirect</strong></td>\n<td>string</td>\n<td>The URL where the customer will be redirected after a successful payout.</td>\n</tr>\n<tr>\n<td><strong>pending_redirect</strong></td>\n<td>string</td>\n<td>The URL where the customer will be redirected after a pending payout.</td>\n</tr>\n<tr>\n<td><strong>failure_redirect</strong></td>\n<td>string</td>\n<td>The URL where the customer will be redirected after a failed payout attempt.</td>\n</tr>\n<tr>\n<td><strong>success_callback</strong></td>\n<td>string</td>\n<td>The callback URL for successful payout.</td>\n</tr>\n<tr>\n<td><strong>failure_callback</strong></td>\n<td>string</td>\n<td>The callback URL for failed payout.</td>\n</tr>\n<tr>\n<td><strong>extraParam</strong></td>\n<td>object</td>\n<td>Contains additional parameters for the payout session.</td>\n</tr>\n<tr>\n<td><strong>extraParam.showCryptoConversion</strong></td>\n<td>string</td>\n<td>Set to \"yes\" to display cryptocurrency conversion.</td>\n</tr>\n<tr>\n<td><strong>extraParam.cryptoCurrencies</strong></td>\n<td>string</td>\n<td>A list of accepted cryptocurrencies (e.g., BTC, ETH, USDT).</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-headers\">Request Headers:</h4>\n<ul>\n<li><p><strong>BrandId</strong>: Your unique brand ID (required).</p>\n</li>\n<li><p><strong>Content-Type</strong>: application/json (required).</p>\n</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The API will return a JSON object containing the <code>sessionURL</code> that can be used to redirect the customer to the payout cashier.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"sessionUrl\": \"https://api.paysecure.net/payoutSession/68341ad35f895955355d5452/\",\n    \"brandId\": \"your-brand-id\",\n    \"customerId\": \"67c9983fba18400ab6cceb8f\",\n    \"sessionId\": \"68341ad35f895955355d5452\",\n    \"expiryOn\": 1748246103,\n    \"createdOn\": 1748245203\n}\n\n</code></pre>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"53a4ccc8-3f67-4e7d-a38c-069f1f6eae81","id":"53a4ccc8-3f67-4e7d-a38c-069f1f6eae81","name":"Cashier APIs","type":"folder"}},"urlObject":{"path":["createSession"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"21c58be1-7eee-476c-acdb-f3acffeea1b4","name":"payoutSession","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"customerId\": \"67c9983fba18400ab6cceb8f\",\r\n    \"currency\": \"USD\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"2\"\r\n        }\r\n    ],\r\n    \"totalAmount\": \"2\",\r\n    \"tax_amount\": \"\", // optional\r\n    \"tax_percent\": \"\", // optional\r\n    \"type\": \"payout\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\r\n        \"param1\": \"value1\",\r\n        \"param2\": \"value2\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/createSession"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"sessionUrl\": \"https://api.paysecure.net/payoutSession/68341e385f895955355d5671/\",\n    \"brandId\": \"your-brand-id\",\n    \"customerId\": \"67c9983fba18400ab6cceb8f\",\n    \"sessionId\": \"68341e385f895955355d5671\",\n    \"expiryOn\": 1748246972,\n    \"createdOn\": 1748246072\n}"},{"id":"9e53b256-5057-48f0-8640-95c35363d443","name":"payoutSession with Crypto Conversion","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"customerId\": \"67c9983fba18400ab6cceb8f\",\r\n    \"currency\": \"USD\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"2\"\r\n        }\r\n    ],\r\n    \"totalAmount\": \"2\",\r\n    \"tax_amount\": \"\",\r\n    \"tax_percent\": \"\",\r\n    \"type\": \"payout\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\r\n        \"showCryptoConversion\": \"yes\",\r\n        \"cryptoCurrencies\": \"[\\\"BTC\\\",\\\"ETH\\\",\\\"USDT\\\",\\\"XRP\\\",\\\"LTC\\\",\\\"DOGE\\\",\\\"ETC\\\",\\\"BNB\\\",\\\"USDC\\\",\\\"SOL\\\",\\\"ADA\\\",\\\"BCH\\\",\\\"DASH\\\",\\\"BTG\\\",\\\"ZEC\\\",\\\"DGB\\\",\\\"EOS\\\",\\\"XLM\\\",\\\"TRX\\\",\\\"QTUM\\\",\\\"POL\\\",\\\"SHIB\\\",\\\"LINK\\\",\\\"DAI\\\",\\\"TON\\\",\\\"AVAX\\\",\\\"FDUSD\\\",\\\"ARB\\\",\\\"OP\\\"]\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/createSession"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"sessionUrl\": \"https://api.paysecure.net/payoutSession/68341e385f895955355d5671/\",\n    \"brandId\": \"your-brand-id\",\n    \"customerId\": \"67c9983fba18400ab6cceb8f\",\n    \"sessionId\": \"68341e385f895955355d5671\",\n    \"expiryOn\": 1748246972,\n    \"createdOn\": 1748246072\n}"}],"_postman_id":"31efe940-11bd-42ec-b9ef-5a041c6fb570"},{"name":"Check Status - Payin","id":"95060b62-8db9-4949-976a-be2171c8ac91","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/purchases/{Session ID}/","description":"<p>This endpoint retrieves the details of a session identified by the provided session ID.</p>\n<blockquote>\n<p>Note that this API only respond once the SessionURL, received in the response for session API, is clicked. </p>\n</blockquote>\n<blockquote>\n<p>Once the SessionURL is clicked and the user has selected a payment method and click on \"Pay\" button, a purchase is created on our backend. If you call this API before that, you will get an error.</p>\n</blockquote>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"53a4ccc8-3f67-4e7d-a38c-069f1f6eae81","id":"53a4ccc8-3f67-4e7d-a38c-069f1f6eae81","name":"Cashier APIs","type":"folder"}},"urlObject":{"path":["purchases","{Session ID}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"fe9b5e73-8513-4aa6-842f-739ed2d10bf9","name":"202 Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/purchases/6950e4ba5205280b71ac2010/"},"status":"Accepted","code":202,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sun, 28 Dec 2025 08:03:36 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"d5308b2a-537d-466a-8273-f754ba3491b8"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 f89daa99b6a349030b23247a4977cb5e.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"Ed-N_b__1xPz7yrAt9mMc6JrgiZqMiuPi3uJbZ4AeuUKm-Ziiohlcw=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=V90OEeQkl%2Fh028giW2T2qMbuNADZ5EvKMZG33harMVuXpmo%2BnNQm5JeDtH2802Oa8hw5kJG737sqfdiLVuvIq%2F5E5tHoRdK8Zj6OU6yO255A\"}]}"},{"key":"CF-RAY","value":"9b4f8ac7caf2f4ca-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"purchaseId\": \"6950e4e3e4a1b008c2fae5c3\",\n    \"client\": {\n        \"customerId\": \"69034a5a61b460084d20c23b\",\n        \"email\": \"user8399@example.com\",\n        \"phone\": \"+919634088561\",\n        \"full_name\": \"Reese Nakamura\",\n        \"street_address\": \"90 Fixture Close\",\n        \"country\": \"NA\",\n        \"city\": \"Ashford\",\n        \"zip_code\": \"202020\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"RA\"\n    },\n    \"updated_on\": 1766909180,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"MASTER,VISA,JCB,AMEX,CRYPTO-BRIDGE,FawryPay,INTERAC-E-TRANSFER,INTERAC-REQUEST-MONEY,MOBILEMONEY,NEOSURF,PAYID,PIX,SPEI,THIRDPARTY-UPI,DISCOVER,BANKTRANSFER,VIRTUAL-IBAN,UPI-COLLECT,UPI-QR,VIRTUAL-ACCOUNT,DINERS,NETBANKING,THIRDPARTY-NETBANKING,MAYA,GCASH,INTERAC-EXPRESS,QRPH\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"This customer can not be processed !\",\n    \"errorCode\": \"NA\",\n    \"savedCardUsed\": \"NO\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1766909155,\n    \"merchantRef\": \"6950e4e3e4a1b008c2fae5c3\",\n    \"merchantName\": \"Morgan Costa_test\",\n    \"merchantType\": \"MERCHANT\",\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"NA\",\n                \"quantity\": 1.0,\n                \"price\": 22.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 22.0,\n        \"requestAmount\": 22.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"taxAmount\": 0.0,\n        \"taxPercent\": 0.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\": \"Testing\",\n        \"brand_name\": \"Testing\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"07\",\n            \"amount\": 22.0,\n            \"card_issuer\": \"CIAGROUP\",\n            \"masked_pan\": \"55555555****4444\",\n            \"card_brand\": \"MASTER\",\n            \"card_issuer_country\": \"BR\",\n            \"card_type\": \"DEBIT\",\n            \"cardholder_name\": \"Morgan Costa\",\n            \"expiry_year\": \"30\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.4\",\n                \"type\": \"execute\",\n                \"payment_method\": \"MASTER\",\n                \"flow\": \"payform\",\n                \"successful\": false,\n                \"country\": \"BR\",\n                \"processing_time\": 1766909179,\n                \"extra\": {\n                    \"expiry_month\": \"07\",\n                    \"amount\": 22.0,\n                    \"card_issuer\": \"CIAGROUP\",\n                    \"masked_pan\": \"55555555****4444\",\n                    \"card_brand\": \"MASTER\",\n                    \"card_issuer_country\": \"BR\",\n                    \"card_type\": \"DEBIT\",\n                    \"cardholder_name\": \"Morgan Costa\",\n                    \"expiry_year\": \"30\"\n                },\n                \"error\": {\n                    \"message\": \"This customer can not be processed !\",\n                    \"code\": \"no_mid_found\"\n                }\n            }\n        ]\n    },\n    \"status\": \"ERROR\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1766909155\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1766909179\n        },\n        {\n            \"status\": \"error\",\n            \"timestamp\": 1766909180\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1766909186\n        }\n    ],\n    \"viewedOn\": 1766909186,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS334\",\n    \"issued\": \"2025-12-28\",\n    \"due\": 1766909155,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"0\",\n    \"extraFee\": \"0\",\n    \"paidOn\": 0,\n    \"receivedAmt\": 0.0,\n    \"taxAmount\": 0.0,\n    \"surcharge\": 0.0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"6950e4ba5205280b71ac2010\",\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    \"pending_redirect\": \"https://your.pending.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    \"checkout_url\": \"https://api.paysecure.net/payments/adb6e07f74ec6197ef764909736d478e/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6950e4e3e4a1b008c2fae5c3/\",\n    \"payoutProcess\": false\n}"},{"id":"1163f16e-9758-4c6e-b67e-692ad3468179","name":"400 Bad Request","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/purchases/6950e4ba5205280b71ac2010/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sun, 28 Dec 2025 08:03:36 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"d5308b2a-537d-466a-8273-f754ba3491b8"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 f89daa99b6a349030b23247a4977cb5e.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"Ed-N_b__1xPz7yrAt9mMc6JrgiZqMiuPi3uJbZ4AeuUKm-Ziiohlcw=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=V90OEeQkl%2Fh028giW2T2qMbuNADZ5EvKMZG33harMVuXpmo%2BnNQm5JeDtH2802Oa8hw5kJG737sqfdiLVuvIq%2F5E5tHoRdK8Zj6OU6yO255A\"}]}"},{"key":"CF-RAY","value":"9b4f8ac7caf2f4ca-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"message\": \"PurchaseId Not found.\",\n    \"code\": \"transaction_error\"\n}"},{"id":"3050ed7e-acb7-41f5-a168-f6a4cdf4f72a","name":"401 Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/purchases/{Session ID}/"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sun, 28 Dec 2025 08:03:36 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"d5308b2a-537d-466a-8273-f754ba3491b8"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 f89daa99b6a349030b23247a4977cb5e.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"Ed-N_b__1xPz7yrAt9mMc6JrgiZqMiuPi3uJbZ4AeuUKm-Ziiohlcw=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=V90OEeQkl%2Fh028giW2T2qMbuNADZ5EvKMZG33harMVuXpmo%2BnNQm5JeDtH2802Oa8hw5kJG737sqfdiLVuvIq%2F5E5tHoRdK8Zj6OU6yO255A\"}]}"},{"key":"CF-RAY","value":"9b4f8ac7caf2f4ca-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Incorrect secret_key\",\n    \"code\": \"authentication_failed\"\n}"}],"_postman_id":"95060b62-8db9-4949-976a-be2171c8ac91"},{"name":"Check Status - Payout","id":"f9d9c58a-c561-4285-b179-3ab76594f93b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/getpayout/{Session ID}/","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 or session id 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>","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"53a4ccc8-3f67-4e7d-a38c-069f1f6eae81","id":"53a4ccc8-3f67-4e7d-a38c-069f1f6eae81","name":"Cashier APIs","type":"folder"}},"urlObject":{"path":["getpayout","{Session ID}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"7e6d743c-3385-4c2f-9ca0-31465ce27b91","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/getpayout/{Session ID}/"},"status":"Accepted","code":202,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 27 Apr 2026 07:03:52 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"9be65213-e200-4ef2-831c-683022389e8b"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 ea9784182c7536f5ce15ec71cf0089d6.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"SQqBgIYJCqc_HzF2NrYyoiCCGUdxGyPFZ3OzmUrrL-XBe56tKWTifA=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=dRx0V9WF8UC%2FPmYeyh%2Fl2YI7rIhT15NcQDiRVHdKuzF4jjsVyYmbl2imFi%2FSpP4VpmIHsFmO0xzXUjyO1%2BwKeupdremHVjRNwtqENY%2FZxgVpN7KFFzAhSQDhOMdd62Anr2zN\"}]}"},{"key":"CF-RAY","value":"9f2bf84969fa9c85-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"payoutId\": \"65ffadb4c1c83822903a9205\",\n    \"client\": {\n        \"email\": \"user5424@example.com\",\n        \"full_name\": \"Avery Larsen\",\n        \"street_address\": \"13 Documentation Way\",\n        \"country\": \"SG\",\n        \"city\": \"Oakdale\",\n        \"zip_code\": \"123456\",\n        \"stateCode\": \"test\"\n    },\n    \"updated_on\": 1711254964,\n    \"payoutMethod\": \"Payout-BANKTRANSFER\",\n    \"beneficiaryDetail\":{\n    \"bankName\": \"DBS Bank\",      \n    \"bankAccountName\": \"test test\",\n    \"bankAccountCurrency\": \"SGD\",\n    \"bankAccountNumber\": \"12345640\",\n    \"bankCountryCode\" : \"SG\",\n    \"swiftCode\": \"DBSSSGSG\",\n    \"routing_param\" :\n    {\n        \"bankCode\": \"897678\",\n        \"bankBranchCode\" : \"888\"\n           \n    }\n     },\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 1000.0,\n    \"errorMsg\": \"Currency Account has insufficient balance.\",\n    \"purpose\": \"test payout\",\n    \"created_on\": 1711254972,\n    \"merchantRef\": \"65ffadb4c1c83822903a9205\",\n    \"status\": \"ERROR\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1711254964\n        },\n        {\n            \"status\": \"error\",\n            \"timestamp\": 1711254972\n        }\n    ],\n    \"currency\": \"USD\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"}],"_postman_id":"f9d9c58a-c561-4285-b179-3ab76594f93b"}],"id":"53a4ccc8-3f67-4e7d-a38c-069f1f6eae81","description":"<p>Paysecure 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","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"73a8e138-60b1-4e45-9f25-1f7ef5dd3f5f"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"36dd1478-4a37-4e40-be77-eaf345c59400"}}],"_postman_id":"53a4ccc8-3f67-4e7d-a38c-069f1f6eae81"},{"name":"User Defined Fields (UDF)","item":[],"id":"51f85f42-535e-40d4-a3e6-2a068e082f23","description":"<p>User Defined Fields (also referred to as Merchant Defined Parameters) allow you to attach custom identifiers to transactions. These identifiers can help you map transactions to your internal systems and configure advanced routing rules.</p>\n<p>Once created, you can pass the parameter in the purchases or session API using the <code>extraParam</code> object in the payload, to receive the same in the API response and the following webhooks.</p>\n<h3 id=\"adding-a-user-defined-field\">Adding a User Defined Field</h3>\n<ol>\n<li><p>Click <strong>Add Parameters</strong>.</p>\n</li>\n<li><p>Enter the <strong>Parameter Name</strong>.</p>\n</li>\n<li><p>Choose the <strong>Value Type</strong> (Numeric, String, or Boolean).</p>\n</li>\n<li><p>Click <strong>Add</strong> to save.</p>\n</li>\n</ol>\n<p>Here is how you can define UDFs in Paysecure's app.</p>\n<img src=\"https://content.pstmn.io/af86f713-7ddc-410b-81e0-0de7c10cb7ce/U2NyZWVuc2hvdCAyMDI1LTA4LTI2IGF0IDQuNDMuNTXigK9QTS5wbmc=\" />\n\n<h3 id=\"using-udf-in-api-requests\">Using UDF in API Requests</h3>\n<p>Once created, you can pass the parameter in the <code>purchases</code> or <code>session</code> API using the <code>extraParam</code> object in the payload, to receive the same in the API response and the following webhooks.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">\"extraParam\": {\n    \"userDefinedParameter\": \"value\"\n}\n\n</code></pre>\n<h3 id=\"best-practices\">Best Practices</h3>\n<ul>\n<li><p>Use <strong>consistent naming conventions</strong> for parameters to avoid confusion across integrations.</p>\n</li>\n<li><p>Keep the number of UDFs minimal — only add fields that provide clear value (e.g., customer segment, order type, risk score).</p>\n</li>\n<li><p>Leverage UDFs in <strong>rule-based routing</strong> to optimize processing flows (e.g., route high-value transactions to a specific MID).</p>\n</li>\n<li><p>Document your UDFs internally so operations and support teams can easily reference them.</p>\n</li>\n</ul>\n<p>Note:<br />This feature is enabled only for the whitelabel merchant solution. If you are using a merchant solution, please contact your Account Manager for doing these changes.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"e6dcd126-75ba-43bb-a8c9-4bb55d96d5b6"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"4e6d3a41-613e-4865-a5a4-1bc7d138b861"}}],"_postman_id":"51f85f42-535e-40d4-a3e6-2a068e082f23"},{"name":"Recurring Payments","item":[{"name":"Registration Flow","item":[],"id":"fa2d5719-9858-44ca-8816-a784cfa14050","description":"<img src=\"https://content.pstmn.io/aed8483b-3304-43c4-a305-291e37c9b534/aW1hZ2UucG5n\" alt height=\"1489\" width=\"734\" />","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"d6206f17-473f-4c90-ba5b-583f67524b03"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"7c3907b7-c05e-4446-a822-8fd7d7e6a729"}}],"_postman_id":"fa2d5719-9858-44ca-8816-a784cfa14050"},{"name":"Recurring Flow","item":[],"id":"72bda194-fa9e-4196-9425-b2926dda82f3","description":"<p><strong>For cases where the Merchant handles the scheduling:</strong></p>\n<img src=\"https://content.pstmn.io/0fde3212-41fe-4574-9371-3dcc9cee33ec/aW1hZ2UucG5n\" alt height=\"541\" width=\"703\" />\n\n<p><strong>For cases where Paysecure handles the scheduling:</strong></p>\n<img src=\"https://content.pstmn.io/384c80a7-159a-4777-ac2c-0bcbb4aa66a8/aW1hZ2UucG5n\" alt height=\"671\" width=\"806\" />","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"93087ee5-d290-4cb9-ac0c-43162f46477c"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"5d9f46bc-cd00-4983-a880-654107a05f6b"}}],"_postman_id":"72bda194-fa9e-4196-9425-b2926dda82f3"},{"name":"APIs","item":[{"name":"Create Customer","id":"8bd44644-dd9d-4101-afaa-ed44a4252787","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"fullName\": \"Reese Nakamura\",\n    \"emailId\": \"user7734@example.com\",\n    \"dateOfBirth\": \"1994-06-03\",\n    \"phoneNo\": \"+91 797639082\",\n    \"city\": \"Riverton\",\n    \"stateCode\": \"RJ\",\n    \"zipCode\": \"302018\",\n    \"address\": \"24 Sample Avenue\",\n    \"country\": \"IN\",\n    \"merchantCustomerId\": \"user8912@example.com\",\n    \"CustRegDate\": \"2023-12-27\", //non-mandatory - customer registration date on merchant site\n    \"SuccessTxn\": \"32\", //non-mandatory - total successful customer orders on merchant site\n    \"extraParam\": {\n        \"param1\": \"value1\",\n        \"param2\": \"value2\",\n        \"param3\": \"value3\",\n        \"param4\": \"value4\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/customer","description":"<p><strong>OVERIEW</strong></p>\n<p>The <strong>createCustomer API</strong> allows merchants to create a customer profile on Paysecure when a user visits their website, facilitating a seamless payment experience by pre-filling the customer's details, on the Paysecure Cashier.</p>\n<p>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><strong>Required</strong></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>Yes</td>\n<td>unique customer ID provided by merchant. This can be email, mobile or an alphanumeric string</td>\n<td><a href=\"https://mailto:user8912@example.com\">user8912@example.com</a></td>\n</tr>\n<tr>\n<td>fullName</td>\n<td>String</td>\n<td>Yes</td>\n<td>Full name of the customer.</td>\n<td>Reese Nakamura</td>\n</tr>\n<tr>\n<td>emailId</td>\n<td>String</td>\n<td>Yes</td>\n<td>Email address of the customer.</td>\n<td><a href=\"https://mailto:user3456@example.com\">user3456@example.com</a></td>\n</tr>\n<tr>\n<td>dateOfBirth</td>\n<td>String</td>\n<td>Optional</td>\n<td>Customer's date of birth in YYYY-MM-DD format.</td>\n<td>1995-12-27</td>\n</tr>\n<tr>\n<td>phoneNo</td>\n<td>String</td>\n<td>Yes</td>\n<td>Customer's phone number. Preferred with the country code</td>\n<td>+91 797639082</td>\n</tr>\n<tr>\n<td>city</td>\n<td>String</td>\n<td>Optional</td>\n<td>City of the customer.</td>\n<td>Riverton</td>\n</tr>\n<tr>\n<td>stateCode</td>\n<td>String</td>\n<td>Yes</td>\n<td>State code of the customer.</td>\n<td>RJ</td>\n</tr>\n<tr>\n<td>zipCode</td>\n<td>String</td>\n<td>Optional</td>\n<td>Postal code of the customer's location.</td>\n<td>302018</td>\n</tr>\n<tr>\n<td>address</td>\n<td>String</td>\n<td>Optional</td>\n<td>Full address of the customer.</td>\n<td>24 Sample Avenue</td>\n</tr>\n<tr>\n<td>country</td>\n<td>String</td>\n<td>Yes</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>Optional</td>\n<td>Customer registration date on merchant site in YYYY-MM-DD format.</td>\n<td>2023-12-27</td>\n</tr>\n<tr>\n<td>successTxn</td>\n<td>String</td>\n<td>Optional</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><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 Paysecure API with the customer's details.</p>\n</li>\n<li><p><strong>Customer ID generation</strong>: Paysecure 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 session creation, 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<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":"noauth","isInherited":true,"source":{"_postman_id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","name":"Recurring Payments","type":"folder"}},"urlObject":{"path":["customer"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"8d0cd417-e118-42b1-9a8d-59c877ff14b0","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"fullName\": \"Reese Nakamura\",\r\n    \"emailId\": \"user7734@example.com\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"city\": \"Riverton\",\r\n    \"stateCode\": \"RJ\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"24 Sample Avenue\",\r\n    \"country\": \"IN\",\r\n    \"merchantCustomerId\": \"user8912@example.com\",\r\n    \"CustRegDate\": \"2023-12-27\", //non-mandatory - customer registration date on merchant site\r\n    \"SuccessTxn\": \"32\", //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://api.paysecure.net/api/v1/customer"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sat, 31 Jan 2026 14:56:20 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"d248f17f-e674-4a0a-8dfe-b862eabc5cc5"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 6225fd23298b677711e0721417a30ae2.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"bbu1ItT0MbY2zy91fGODaOu6WWheF2CPo7DPYkIh-lxzFZFdFDgEyw=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=lUm%2FZBBs45Cas%2FwmM6M3RYhfSTKtEYd5XVPihkyRHHF92PBKUR%2BaNp5%2F65qClhn8h%2FMKHq6yiUSf2WFapmiBdVJdzE86w6J8%2B%2F7AvvxYzio%3D\"}]}"},{"key":"CF-RAY","value":"9c6a0e1fbf4657b2-IAD"}],"cookie":[],"responseTime":null,"body":"{\n    \"customerId\": \"691afbc6fd96d34a8113a34d\",\n    \"merchantCustomerId\": \"user8912@example.com\",\n    \"fullName\": \"Reese Nakamura\",\n    \"emailId\": \"user7734@example.com\",\n    \"dateOfBirth\": \"1994-06-03\",\n    \"phoneNo\": \"+91 797639082\",\n    \"brandID\": \"your-brand-id\",\n    \"city\": \"Riverton\",\n    \"zipCode\": \"302018\",\n    \"address\": \"24 Sample Avenue\",\n    \"country\": \"IN\",\n    \"stateCode\": \"RJ\",\n    \"custRegDate\": \"2023-12-27\",\n    \"successTrans\": 0,\n    \"createdOn\": 1763376070,\n    \"lastUpdated\": 0,\n    \"lastActivity\": 1763376070,\n    \"extraParam\": {\n        \"param1\": \"value1\",\n        \"param2\": \"value2\",\n        \"param3\": \"value3\",\n        \"param4\": \"value4\"\n    }\n}"}],"_postman_id":"8bd44644-dd9d-4101-afaa-ed44a4252787"},{"name":"Get Customer","id":"394dd0f6-a4fb-40bb-8c73-819d3ca9c0d5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"merchantCustomerId\": \"user5489@example.com\"\n}","options":{"raw":{"language":"json"}}},"url":"/customer","description":"<p>This endpoint makes an HTTP GET request to retrieve customer information from the Paysecure 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 parameter \"merchantCustomerId\", which will be the customer id on the merchant's side.</p>\n<h3 id=\"response\">Response</h3>\n<p>The response of this request can be documented as a JSON schema.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","name":"Recurring Payments","type":"folder"}},"urlObject":{"path":["customer"],"host":[""],"query":[],"variable":[]}},"response":[{"id":"7b87a483-7fb0-4cb0-a6e7-1bce48175398","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"}],"url":"/customer"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sat, 31 Jan 2026 15:00:13 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"x-session-id","value":"74520247-3540-48b2-81f9-33fd50e71e01"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Set-Cookie","value":"SESSION=NDRjYjEwZGQtNTAyMy00MDA1LWFiNTUtNTBmNmY2YWY1NjZj; Path=/; Secure; HttpOnly; SameSite=Strict"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=gy0s5195rsESyn%2B0cQcmwej6qKnbNzrAcSxW%2F%2FrtkYk52a4Lipz%2FTBcpX5IjTYOHLNsLsPeT9jJFd4rUsIPUJbu4R%2B%2BcaGEmcMT6de1u%2FVA%3D\"}]}"},{"key":"CF-RAY","value":"9c6a13d27f38a3ba-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"customerId\": \"691afbc6fd96d34a8113a34d\",\n    \"merchantCustomerId\": \"user5489@example.com\",\n    \"fullName\": \"Reese Nakamura\",\n    \"emailId\": \"user7734@example.com\",\n    \"dateOfBirth\": \"1994-06-03\",\n    \"phoneNo\": \"+91 797639082\",\n    \"brandID\": \"your-brand-id\",\n    \"city\": \"Riverton\",\n    \"zipCode\": \"302018\",\n    \"address\": \"24 Sample Avenue\",\n    \"country\": \"IN\",\n    \"stateCode\": \"RJ\",\n    \"custRegDate\": \"2023-12-27\",\n    \"successTrans\": 0,\n    \"createdOn\": 1763376070,\n    \"lastUpdated\": 0,\n    \"lastActivity\": 1763376070,\n    \"extraParam\": {\n        \"param1\": \"value1\",\n        \"param2\": \"value2\",\n        \"param3\": \"value3\",\n        \"param4\": \"value4\"\n    }\n}"}],"_postman_id":"394dd0f6-a4fb-40bb-8c73-819d3ca9c0d5"},{"name":"Create Session (CIT)","id":"95ec9640-1c1f-4932-9550-5168512d2a02","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"customerId\": \"685f870cf3435a2d5b35ee08\", // mandatory\n    \"currency\": \"EUR\",\n    \"products\": [\n        {\n            \"name\": \"Product1\",\n            \"price\": \"10\"\n        },\n        {\n            \"name\": \"Product2\",\n            \"price\": \"10\"\n        }\n    ],\n    \"totalAmount\": \"21\", // optional, but if present have precedence over sum of prices.\n    \"paymentMethod\": \"VISA\", //optional\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"payment_type\": \"mandate\",\n    \"mandate\": {\n        \"mandate_max_amount\": \"5000\", // the mandated amount should be less than or equal to this amount.\n        \"amount_variability\": \"Fixed\",\n        \"start_date\": \"1598965200\", // epoch timestamp or UNIX timestamp\n        \"end_date\": \"1914141600\", // epoch timestamp or UNIX timestamp\n        \"frequency\": \"MONTHLY\",\n        \"rule\": \"on\",\n        \"value\": 1\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/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<h3 id=\"mandatory-parameters\">Mandatory Parameters</h3>\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</tbody>\n</table>\n</div><p>To register a mandate, pass mandate related parameters in the Create Session API to create a mandate registration purchase. Post transaction completion, use Get Status API and Webhooks to capture mandate registration details.</p>\n<h3 id=\"additional-parameters-for-this-usecase\">Additional <strong>parameters for this usecase:</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>payment_type</td>\n<td>Mandatory.  <br />To be passed as \"mandate\".</td>\n</tr>\n<tr>\n<td>mandate</td>\n<td>Mandatory.  <br />This object is mandatory for mandate flow</td>\n</tr>\n<tr>\n<td>mandate.mandate_max_amount</td>\n<td>Optional  <br />Maximum amount for a mandate.</td>\n</tr>\n<tr>\n<td>mandate.amount_variability</td>\n<td>Optional  <br />Specifies whether the amount is fixed or variable for each recurrence.  <br />  <br />Possible values: Fixed or Variable</td>\n</tr>\n<tr>\n<td>mandate.start_date</td>\n<td>Mandatory  <br />Specifies the time when the mandate will start.</td>\n</tr>\n<tr>\n<td>mandate.end_date</td>\n<td>Mandatory  <br />Specifies the time when the mandate will end.</td>\n</tr>\n<tr>\n<td>mandate.frequency</td>\n<td>Mandatory  <br />Defines the frequency of mandate execution, how often a customer should be charged.  <br />  <br />Possible Values:  <br /><strong>ONETIME</strong>: This is for a one-time mandate. The customer provides authorisation to debit their account a single time for a specific amount.  <br />  <br /><strong>DAILY</strong>: Recurring mandate. The customer provides authorisation to debit their account daily for a specific amount.  <br />  <br /><strong>WEEKLY</strong>: Recurring mandate. Authorisation given by a customer to debit their account weekly once for a specified amount.  <br />  <br /><strong>FORTNIGHTLY</strong>: Recurring mandate. The customer provides authorisation to debit their account fortnightly for a specific amount.  <br />  <br /><strong>MONTHLY</strong>: Recurring mandate. The customer provides authorisation to debit their account monthly for a specific amount.  <br />  <br /><strong>BIMONTHLY</strong>: Recurring mandate. The customer provides authorisation to debit their account bimonthly for a specific amount.  <br />  <br /><strong>QUARTERLY</strong>: Recurring mandate. The customer provides authorisation to debit their account quarterly for a specific amount.  <br />  <br /><strong>HALFYEARLY</strong>: Recurring mandate. The customer provides authorisation to debit their account once in every 6 months for a specific amount.  <br />  <br /><strong>YEARLY</strong>: Recurring mandate. The customer provides authorisation to debit their account once a year for a specific amount.  <br />  <br /><strong>ASPRESENTED</strong>: For cases where the scheduling is handled by the merchant. The customer provides authorization to debit their account whenever there is an execution request.</td>\n</tr>\n<tr>\n<td>mandate.rule</td>\n<td>Optional.  <br />Indicates the recurrence rule of the mandate. This rule is not required for onetime, daily, and aspresented recurrence patterns.  <br />Possible values: on/before/after  <br />By Default: on</td>\n</tr>\n<tr>\n<td>mandate.value</td>\n<td>Conditional.  <br />The recurrence Value of the mandate.  <br />It is not required for ONETIME, DAILY and ASPRESENTED frequencies.  <br />  <br />Possible values:  <br />For WEEKLY: The value should be 1-Monday to 7-Sunday.  <br />For MONTHLY, BIMONTHLY, QUARTERLY, HALFYEARLY or YEARLY: The value should be between 1 to 30/31 days.  <br />  <br />By Default: The value will be treated as 1.</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>: PaySecure 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. Default is 15 mins from the creation time.</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":"noauth","isInherited":true,"source":{"_postman_id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","name":"Recurring Payments","type":"folder"}},"urlObject":{"path":["createSession"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"b4514645-0ad8-41e3-839a-73281fe7b684","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"customerId\": \"685f870cf3435a2d5b35ee08\", // mandatory\n    \"currency\": \"EUR\",\n    \"products\": [\n        {\n            \"name\": \"Product1\",\n            \"price\": \"10\"\n        },\n        {\n            \"name\": \"Product2\",\n            \"price\": \"10\"\n        }\n    ],\n    \"totalAmount\": \"21\", // optional, but if present have precedence over sum of prices.\n    \"paymentMethod\": \"VISA\", //optional\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"payment_type\": \"mandate\",\n    \"mandate\": {\n        \"mandate_max_amount\": \"5000\", // the mandated amount should be less than or equal to this amount.\n        \"amount_variability\": \"Fixed\",\n        \"start_date\": \"1598965200\", // epoch timestamp or UNIX timestamp\n        \"end_date\": \"1914141600\", // epoch timestamp or UNIX timestamp\n        \"frequency\": \"MONTHLY\",\n        \"rule\": \"on\",\n        \"value\": 1\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/createSession"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sat, 31 Jan 2026 15:03:03 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"a1b350a8-3571-4d8d-bc24-d101d22cd00a"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 f50e53e9e947bca4dadaaf68ff4c7ea4.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"PPcszsJpkuNycxcxWExDrgtmzycS3Ty-qSugN-xvzxN5XDNbUuYX4A=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=rZYK3Hg4zn%2FCuotFLtqHtD2%2F1oVqT7cNmz67YbXBCtsgOhig8X7SPRj8n%2BH9ifhPdt2TF5yERePKHIScEDWDp3BYw9aY1WM%2FmECM6XWiUQw%3D\"}]}"},{"key":"CF-RAY","value":"9c6a17f2cb21d64b-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"sessionUrl\": \"https://api.paysecure.net/api/v1/session/685bdefb9a1a8f16b3c4489c/\",\n    \"brandId\": \"your-brand-id\",\n    \"customerId\": \"685bdd529a1a8f16b3c445a4\",\n    \"sessionId\": \"685cc8515e3af922dd0e8c31\",\n    \"expiryOn\": 1750852223,\n    \"createdOn\": 1750851323,\n    \"expiry_in_mins\": \"86400\"\n}"}],"_postman_id":"95ec9640-1c1f-4932-9550-5168512d2a02"},{"name":"Create Purchase (CIT)","id":"68ace5f7-edbb-4d91-b4fb-7ae9fc882443","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3069@example.com\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"LO\",\n        \"street_address\": \"90 Fixture Close\",\n        \"zip_code\": \"234567\",\n        \"full_name\": \"Reese Nakamura\",\n        \"phone\": \"+44 07932665877\" // optional\n    },\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"product name\",\n                \"price\": \"1\"\n            }\n        ]\n    },\n    \"merchantRef\": \"your-merchant-ref\", // optional\n    \"paymentMethod\": \"MASTER\",\n    \"brand_id\": \"your-brand-id\",\n    \"payment_type\": \"mandate\",\n    \"mandate\": {\n        \"mandate_max_amount\": \"5000\", // Conditional\n        \"amount_variability\": \"Fixed\", // optional\n        \"start_date\": \"1598965200\", // optional\n        \"end_date\": \"1914141600\", // optional\n        \"frequency\": \"MONTHLY\", // mandatory\n        \"rule\": \"on\", // optional\n        \"value\": 1 // conditional\n    },\n    \"success_redirect\": \"https://your.success.redirect.com\", // mandatory\n    \"pending_redirect\": \"https://your.pending.redirect.com\", // mandatory\n    \"failure_redirect\": \"https://your.failure.redirect.com\", // mandatory\n    \"success_callback\": \"https://your.success.callback.com\", // mandatory\n    \"failure_callback\": \"https://your.failure.callback.com\" // mandatory\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases","description":"<p><strong>OVERIEW</strong></p>\n<p>The <code>create Purchase</code> API is designed to initiate a payment for a merchant who doesn't want to use Paysecure's cashier and wants to keep everything S2S.</p>\n<p>The merchant doesn't need to create a customer in this case and directly needs to call the purchase API and then call the S2S API after that.</p>\n<h3 id=\"additional-parameters-for-this-usecase\">Additional <strong>parameters for this usecase:</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>payment_type</td>\n<td>Mandatory.  <br />To be passed as \"mandate\".</td>\n</tr>\n<tr>\n<td>paymentMethod</td>\n<td>Mandatory.  <br />Example: MASTER, VISA</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Mandatory.  <br />Your brand id.</td>\n</tr>\n<tr>\n<td>mandate</td>\n<td>Mandatory.  <br />This object is mandatory for mandate flow</td>\n</tr>\n<tr>\n<td>mandate.mandate_max_amount</td>\n<td>Conditional.  <br />Mandatory when amount_variability is \"Variable\".  <br />Maximum amount for a mandate.</td>\n</tr>\n<tr>\n<td>mandate.amount_variability</td>\n<td>Optional  <br />Specifies whether the amount is fixed or variable for each recurrence.  <br />  <br />Possible values: Fixed or Variable</td>\n</tr>\n<tr>\n<td>mandate.start_date</td>\n<td>Optional  <br />Specifies the time when the mandate will start.</td>\n</tr>\n<tr>\n<td>mandate.end_date</td>\n<td>Optional  <br />Specifies the time when the mandate will end.  <br />(If not passed then indefinite)</td>\n</tr>\n<tr>\n<td>mandate.frequency</td>\n<td>Mandatory  <br />Defines the frequency of mandate execution, how often a customer should be charged.  <br />  <br />Possible Values:  <br /><strong>ONETIME</strong>: This is for a one-time mandate. The customer provides authorisation to debit their account a single time for a specific amount.  <br />  <br /><strong>DAILY</strong>: Recurring mandate. The customer provides authorisation to debit their account daily for a specific amount.  <br />  <br /><strong>WEEKLY</strong>: Recurring mandate. Authorisation given by a customer to debit their account weekly once for a specified amount.  <br />  <br /><strong>FORTNIGHTLY</strong>: Recurring mandate. The customer provides authorisation to debit their account fortnightly for a specific amount.  <br />  <br /><strong>MONTHLY</strong>: Recurring mandate. The customer provides authorisation to debit their account monthly for a specific amount.  <br />  <br /><strong>BIMONTHLY</strong>: Recurring mandate. The customer provides authorisation to debit their account bimonthly for a specific amount.  <br />  <br /><strong>QUARTERLY</strong>: Recurring mandate. The customer provides authorisation to debit their account quarterly for a specific amount.  <br />  <br /><strong>HALFYEARLY</strong>: Recurring mandate. The customer provides authorisation to debit their account once in every 6 months for a specific amount.  <br />  <br /><strong>YEARLY</strong>: Recurring mandate. The customer provides authorisation to debit their account once a year for a specific amount.  <br />  <br /><strong>ASPRESENTED</strong>: For cases where the scheduling is handled by the merchant. The customer provides authorization to debit their account whenever there is an execution request.</td>\n</tr>\n<tr>\n<td>mandate.rule</td>\n<td>Optional.  <br />Indicates the recurrence rule of the mandate. This rule is not required for onetime, daily, and aspresented recurrence patterns.  <br />Possible values: on/before/after  <br />By Default: on</td>\n</tr>\n<tr>\n<td>mandate.value</td>\n<td>Conditional.  <br />The recurrence Value of the mandate.  <br />It is not required for ONETIME, DAILY and ASPRESENTED frequencies.  <br />  <br />Possible values:  <br />For WEEKLY: The value should be 1-Monday to 7-Sunday.  <br />For MONTHLY, BIMONTHLY, QUARTERLY, HALFYEARLY or YEARLY: The value should be between 1 to 30/31 days.  <br />  <br />By Default: The value will be treated as 1.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","name":"Recurring Payments","type":"folder"}},"urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"33523e92-37f5-4548-85cb-83f6963f0236","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3069@example.com\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"LO\",\n        \"street_address\": \"90 Fixture Close\",\n        \"zip_code\": \"234567\",\n        \"full_name\": \"Reese Nakamura\",\n        \"phone\": \"+44 07932665877\" // optional\n    },\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"product name\",\n                \"price\": \"1\"\n            }\n        ]\n    },\n    \"merchantRef\": \"your-merchant-ref\", // optional\n    \"paymentMethod\": \"MASTER\",\n    \"brand_id\": \"your-brand-id\",\n    \"payment_type\": \"mandate\",\n    \"mandate\": {\n        \"mandate_max_amount\": \"5000\", // Conditional\n        \"amount_variability\": \"Fixed\", // optional\n        \"start_date\": \"1598965200\", // optional\n        \"end_date\": \"1914141600\", // optional\n        \"frequency\": \"MONTHLY\", // mandatory\n        \"rule\": \"on\", // optional\n        \"value\": 1 // conditional\n    },\n    \"success_redirect\": \"https://your.success.redirect.com\", // mandatory\n    \"pending_redirect\": \"https://your.pending.redirect.com\", // mandatory\n    \"failure_redirect\": \"https://your.failure.redirect.com\", // mandatory\n    \"success_callback\": \"https://your.success.callback.com\", // mandatory\n    \"failure_callback\": \"https://your.failure.callback.com\" // mandatory\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 30 Mar 2026 12:23:05 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"668295f8-5770-4492-8318-01e2d1c09664"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 b4011ac432e4f034161d5cccc8a4ac80.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"46KSjvCpG3Uv-3pzVOVedkJkacP2LZAI0m9ByboJ-rzLxQkfNNycJA=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=1p%2FF34n2kiKpiE2WnCntzJPGKU28mcMx4pIFZ9F6UFZqmnoSxQEqZQ44WCu6SsOg5eYfqPqYGdhXxgBbuVLNwP5Xyc2OqoL1lTauqUylCkCPuOXJ1VRrvygGOmX9Yslw6BqJ\"}]}"},{"key":"CF-RAY","value":"9e471560fd16d6d5-IAD"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"69f8d167db7ca561ab27c484\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5797@example.com\",\n        \"street_address\": \"90 Fixture Close\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"LO\"\n    },\n    \"updated_on\": 1777914215,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"VISA\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1777914215,\n    \"merchantRef\": \"69f8d167db7ca561ab27c484\",\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"product name\",\n                \"quantity\": 1.0,\n                \"price\": 5.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 5.0,\n        \"requestAmount\": 5.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"taxAmount\": 0.0,\n        \"taxPercent\": 0.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\": \"Testing\",\n        \"brand_name\": \"Testing\",\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\": 1777914215\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS1736\",\n    \"issued\": \"2026-05-04\",\n    \"due\": 1777914215,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"extraFee\": \"0\",\n    \"totalRefunded\": 0.0,\n    \"paidOn\": 0,\n    \"receivedAmt\": 0.0,\n    \"taxAmount\": 0.0,\n    \"surcharge\": 0.0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\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    \"pending_redirect\": \"https://your.pending.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\": \"2406:b400:75:22bd:b48e:a33e:4e26:a542\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/16550278d7e374e53048b72dcf253a3a/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/69f8d167db7ca561ab27c484/\",\n    \"payoutProcess\": false,\n    \"payment_type\": \"mandate\",\n    \"mandate\": {\n        \"frequency\": \"ASPRESENTED\",\n        \"rule\": \"on\",\n        \"value\": null,\n        \"mandate_max_amount\": null,\n        \"amount_variability\": \"Variable\",\n        \"end_date\": null,\n        \"mandate_status\": \"CREATED\",\n        \"mandate_id\": \"69f8d167db7ca561ab27c484\"\n    }\n}"}],"_postman_id":"68ace5f7-edbb-4d91-b4fb-7ae9fc882443"},{"name":"S2S API","id":"420d35db-9107-4522-a12e-a69bb8fac430","protocolProfileBehavior":{"disableUrlEncoding":false,"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"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\": \"203.0.113.121\",\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://api.paysecure.net/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>remote_ip</td>\n<td>IP address of the customer’s device used for transaction. Helps in fraud checks and risk scoring. Ex- 203.0.113.42</td>\n</tr>\n<tr>\n<td>user_agent</td>\n<td>Full browser and operating system details captured from HTTP header. EX- Chrome/5.0 (X11; Linux x86_64)</td>\n</tr>\n<tr>\n<td>accept_header</td>\n<td>Browser’s accepted content types (from HTTP header). Used for validating request origin and device info. EX- text/html</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"essential-parameters-in-request-body\"><strong>Essential 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>Name of the cardholder</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</tbody>\n</table>\n</div><p>**<br />Other optional parameters in request body:**</p>\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>language</td>\n<td>Preferred language of the user’s browser . EX - en-US</td>\n</tr>\n<tr>\n<td>java_enabled</td>\n<td>Indicates if Java is enabled in the browser. Helps PSPs in device profiling. Ex- true/false</td>\n</tr>\n<tr>\n<td>javascript_enabled</td>\n<td>Indicates if JavaScript is enabled in the client browser. Used for 3DS or risk-based checks. Ex- true</td>\n</tr>\n<tr>\n<td>color_depth</td>\n<td>Bit depth of the display screen. Ex- 24</td>\n</tr>\n<tr>\n<td>utc_offset</td>\n<td>Difference in minutes between local time and UTC. Used for location and timezone checks. Ex- 330</td>\n</tr>\n<tr>\n<td>screen_width</td>\n<td>Width of the device screen in pixels. Used in device profiling. Ex- 1920</td>\n</tr>\n<tr>\n<td>screen_height</td>\n<td>Height of the device screen in pixels. Ex- 1080</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Successful Response</strong></p>\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://api.paysecure.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<p><strong>Errors</strong></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<p>Please see the Status Code section for further details.</p>\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":"09aaa678-42b8-46d4-ab7e-18743a94fac9","id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","name":"Recurring Payments","type":"folder"}},"urlObject":{"path":["p","64bff4fff63e36669499e9c8",""],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"s2s","value":"true"}],"variable":[]}},"response":[{"id":"afd548ec-4197-43a3-a86d-81d57ad671e9","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"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\": \"203.0.113.121\",\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":{"raw":"https://api.paysecure.net/api/v1/p/64bff4fff63e36669499e9c8/?s2s=true","host":["https://api.paysecure.net/api/v1"],"path":["p","64bff4fff63e36669499e9c8",""],"query":[{"key":"s2s","value":"true"}]}},"status":"Accepted","code":202,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 30 Mar 2026 12:29:20 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"013dfd43-0689-4d6b-a797-38281465a753"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 3b66cea026f27925ba048cc96a0885ca.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"SWosGrWkPMrZoTyRfLd6N01fBb57k60RtzFzD-r38XQXmfTQEW_SRQ=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=qC4PItJ0vJPndQ4Ni%2F0rS%2BPlrlTkj9%2F28whoJdWsDG4oYZpOnmcmYgstZyXlRLs5CC6XI1kBR7nuEUQ6t4NoE1tnrhM8iv1IV%2BvSYTxq3AryDLbD0zZlxLVKj9jllGVm3RVN\"}]}"},{"key":"CF-RAY","value":"9e471e8bcf88824e-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"status\": \"pending\",\n    \"callback_url\": \"https://api.paysecure.net/api/v1/payment/64b034ecc6dccf7d329d9eb3/\",\n    \"method\": \"GET\"\n}"}],"_postman_id":"420d35db-9107-4522-a12e-a69bb8fac430"},{"name":"Get Mandate","id":"ea3b0707-7819-47c9-b5ba-2ff211994564","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/mandate/{mandate_id or session_id}","description":"<p>This endpoint will be used to get all the details of a particular mandate. You can search for a particular mandate id or for a particular session id.</p>\n<h3 id=\"response-parameters\">Response <strong>parameters:</strong></h3>\n<ol>\n<li><p><strong>totalDeductedAmount</strong><br /> This is the total amount which is deducted from the user's account.</p>\n</li>\n<li><p><strong>recurringMandateIds</strong><br /> This object returns a list of all the MIT transactions done for the respective mandate.</p>\n</li>\n<li><p><strong>nextMandateDate</strong><br /> This is the date when the next recurring payment will happen.</p>\n</li>\n</ol>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","name":"Recurring Payments","type":"folder"}},"urlObject":{"path":["mandate","{mandate_id or session_id}"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"ae88119b-c5e9-48c3-8767-34bc3ae89c7e","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"}],"url":"https://api.paysecure.net/api/v1/mandate/696bd471b0c24568ade46466"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sun, 01 Feb 2026 06:56:32 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"b8dc3fe9-c56b-4718-a6e8-b4044e69120b"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 05a63efd5ebb043211ccf075f3a8aa68.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"UPvql_nBAvRboQG1BikwIVIHoN_m5uHLEWWErbwD0Lr7fo5x48HpaA=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Tp4EtXNt4DgHuaJ2Q9BfPJURiEh05tLCWMtFCu9z05OQ7YEYP1Cf3TATCi0U0OCbQWhfsBnlVUnPsz2DBH5%2FMZIxm8AQy7eBsf%2Fnh1HJP8Q%3D\"}]}"},{"key":"CF-RAY","value":"9c6f8cad4867d6fd-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"status\": \"ACTIVE\",\n    \"frequency\": \"YEARLY\",\n    \"rule\": \"on\",\n    \"value\": 12,\n    \"totalDeductedAmount\": \"20.00\",\n    \"recurringMandateIds\": [\n        \"6973ad04fa54ee2cf14f438c\",\n        \"697ce750e6446c7babfe4727\"\n    ],\n    \"email\": \"user5847@example.com\",\n    \"nextMandateDate\": 1799778418,\n    \"customer_id\": \"68dcd9c057c92d789953fec6\",\n    \"mandate_id\": \"696bd471b0c24568ade46466\",\n    \"mandate_max_amount\": 120,\n    \"amount_variability\": \"Variable\",\n    \"start_date\": \"1768674418\",\n    \"end_date\": \"null\",\n    \"pause_start_date\": \"null\",\n    \"pause_end_date\": \"null\",\n    \"session_id\": \"696bd468b0c24568ade4645e\"\n}\n"}],"_postman_id":"ea3b0707-7819-47c9-b5ba-2ff211994564"},{"name":"Create Purchase (MIT)","id":"7da59c4b-c281-4c0b-9be5-5e5c5d98051c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"customerId\": \"685f870cf3435a2d5b35ee08\", // optional\r\n        \"email\": \"user4895@example.com\", // mandatory\r\n        \"phone\": \"+44 07932665877\", // optional\r\n        \"full_name\": \"Navya Alex\", // optional\r\n        \"street_address\": \"90 Fixture Close\", // mandatory\r\n        \"country\": \"GB\", // mandatory\r\n        \"city\": \"Milford\", // mandatory\r\n        \"zip_code\": \"234567\",  // mandatory\r\n        \"stateCode\": \"LO\" // mandatory\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"price\": 1\r\n            }\r\n        ]\r\n    },\r\n    \"merchantRef\": \"{{your-merchant-ref}}\", // optional\r\n    \"brand_id\": \"your-brand-id\", // mandatory\r\n    \"payment_type\": \"recurring\", // mandatory\r\n    \"mandate_id\": \"{{mandate-id}}\", // mandatory\r\n    \"success_redirect\": \"https://your.success.redirect.com\", // mandatory\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\", // optional\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\", // mandatory\r\n    \"success_callback\": \"https://your.success.callback.com\", // optional\r\n    \"failure_callback\": \"https://your.failure.callback.com\" // optional\r\n}"},"url":"https://api.paysecure.net/api/v1/purchases","description":"<p>After the successful Mandate registration, Merchant will receive a mandate_id from Paysecure that should be stored against a customer at their end.</p>\n<p>If the <strong>merchant handles their own scheduling,</strong> then for the subsequent transactions, the merchant is supposed to pass a combination of customer_id and mandate_id to do a debit. This API will perform a transaction with a PSP based on the mandate_id passed in the request.</p>\n<p>If <strong>Paysecure handles the scheduling for the merchant</strong> on their behalf, then this API is not for them. The MIT transactions will be handled by Paysecure from our side.</p>\n<p>Note:<br />Recurring payments should only be done if the mandate registration has been successful and the mandate is ACTIVE.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","name":"Recurring Payments","type":"folder"}},"urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"1ff9aa13-d353-40b5-ad0e-a76f28fc0c1e","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"customerId\": \"685f870cf3435a2d5b35ee08\", // optional\r\n        \"email\": \"user4895@example.com\", // mandatory\r\n        \"phone\": \"+44 07932665877\", // optional\r\n        \"full_name\": \"Navya Alex\", // optional\r\n        \"street_address\": \"90 Fixture Close\", // mandatory\r\n        \"country\": \"GB\", // mandatory\r\n        \"city\": \"Milford\", // mandatory\r\n        \"zip_code\": \"234567\",  // mandatory\r\n        \"stateCode\": \"LO\" // mandatory\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"price\": 1\r\n            }\r\n        ]\r\n    },\r\n    \"merchantRef\": \"{{your-merchant-ref}}\", // optional\r\n    \"brand_id\": \"your-brand-id\", // mandatory\r\n    \"payment_type\": \"recurring\", // mandatory\r\n    \"mandate_id\": \"{{mandate-id}}\", // mandatory\r\n    \"success_redirect\": \"https://your.success.redirect.com\", // mandatory\r\n    \"pending_redirect\": \"https://your.pending.redirect.com\", // optional\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\", // mandatory\r\n    \"success_callback\": \"https://your.success.callback.com\", // optional\r\n    \"failure_callback\": \"https://your.failure.callback.com\" // optional\r\n}"},"url":"https://api.paysecure.net/api/v1/purchases"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sun, 01 Feb 2026 07:33:08 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"37f1854e-59ef-4553-928a-273030e84769"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 adbd5a952eb287ac84e05fd5fd42328e.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"7AJkDib2VzETAS6vS-ZJxKBYVyLrDSEJQl_Tnle4M6l-IWwqo2asaA=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=EtWT1DIhR3ebhY8soSvPlHMZW8ROhPoWtuiPSMSlWz3I2qU3notH7b6tEnFIyl%2B6iQZs2wFrTKESZRcMCfuxDwqNPDAccnSfvR5gjUb7kUs%3D\"}]}"},{"key":"CF-RAY","value":"9c6fc2486bdc311a-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"purchaseId\": \"69f8d407ea26ad15715ebb85\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user5293@example.com\",\n        \"date_of_birth\": \"1800-01-01\",\n        \"street_address\": \"58 Testing Lane\",\n        \"country\": \"CA\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"68403\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"QLD\"\n    },\n    \"updated_on\": 1777914890,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"VISA\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1777914887,\n    \"merchantRef\": \"69f8d407ea26ad15715ebb85\",\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"gaming cards\",\n                \"quantity\": 1.0,\n                \"price\": 1.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 1.0,\n        \"requestAmount\": 1.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"taxAmount\": 0.0,\n        \"taxPercent\": 0.0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 1.0,\n        \"currency\": \"USD\",\n        \"net_amount\": 1.0,\n        \"fee_amount\": 0.0,\n        \"pending_amount\": 0.0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1777914887,\n        \"remote_paid_on\": 1777914887\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\": \"Testing\",\n        \"brand_name\": \"Testing\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"04\",\n            \"amount\": 1.0,\n            \"card_issuer\": \"REVOLUT BANK UAB\",\n            \"masked_pan\": \"41659827****0724\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"CH\",\n            \"card_type\": \"DEBIT\",\n            \"cardholder_name\": \"Casey Novak\",\n            \"expiry_year\": \"31\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.57\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"CH\",\n                \"processing_time\": 1777914887,\n                \"extra\": {\n                    \"expiry_month\": \"04\",\n                    \"amount\": 1.0,\n                    \"card_issuer\": \"REVOLUT BANK UAB\",\n                    \"masked_pan\": \"41659827****0724\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"CH\",\n                    \"card_type\": \"DEBIT\",\n                    \"cardholder_name\": \"Casey Novak\",\n                    \"expiry_year\": \"31\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1777914887\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1777914887\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1777914890\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS1738\",\n    \"issued\": \"2026-05-04\",\n    \"due\": 1777914887,\n    \"refund_upto\": 1780503290,\n    \"cc_descriptor\": \"multitasklist\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"0\",\n    \"extraFee\": \"0\",\n    \"totalRefunded\": 0.0,\n    \"paidOn\": 1777914890,\n    \"receivedAmt\": 0.0,\n    \"taxAmount\": 0.0,\n    \"surcharge\": 0.0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 1.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\": \"2406:b400:75:22bd:b48e:a33e:4e26:a542\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/0bc9c18600980b03a08fb030726428f8/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/69f8d407ea26ad15715ebb85/\",\n    \"payoutProcess\": false,\n    \"payment_type\": \"recurring\",\n    \"mandate_id\": \"69f8cfa1db7ca561ab23fed2\"\n}"}],"_postman_id":"7da59c4b-c281-4c0b-9be5-5e5c5d98051c"},{"name":"Revoke Mandate","id":"51231dee-3bfa-421f-9a3a-b4e509cb87d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Brandid","value":"your-brand-id","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"mandate_id\": \"685cc8515e3af922dd0e8c31\",\n    \"command\": \"revoke\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/mandate","description":"<p>Required for cases where the Paysecure is handling the scheduling of recurring payments. Use this API to revoke/cancel an ACTIVE mandate.</p>\n<p>Note:<br />Revoking a mandate should be done at the same instance this API is called. The mandate status should be updated to “REVOKED” at the same instant.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","name":"Recurring Payments","type":"folder"}},"urlObject":{"path":["mandate"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"7169bf6a-cbf3-41fb-969f-0f530d96ca31","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Brandid","value":"your-brand-id","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"mandate_id\": \"685cc8515e3af922dd0e8c31\",\n    \"command\": \"revoke\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/mandate"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sun, 01 Feb 2026 07:35:47 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"4a8592fc-9fa6-4fbb-9e07-cdcd7edc5e40"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 f89daa99b6a349030b23247a4977cb5e.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"HmEu78FCUGrOzYk6YJdjvLfy0B6-xSVbGbk0Yud_HA3Bg0EgIfBt5A=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=oMkGA9vbkd3bDC7Q9cfg5OcebtSE%2FehjdB9%2BKjGMP%2BJEyQIpOYfkAN1qKp5ByOTxfmLL6i9TB6nS8bdIIYKhIw0xHog50DJhUAPxJMEFv2M%3D\"}]}"},{"key":"CF-RAY","value":"9c6fc62b3b071e2d-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"mandateId\": \"6943aabe3f5c35b0f7849768\",\n    \"message\": \"Mandate revoked successfully\",\n    \"revokeDate\": 1769857766,\n    \"status\": \"REVOKED\"\n}"}],"_postman_id":"51231dee-3bfa-421f-9a3a-b4e509cb87d4"},{"name":"Pause Mandate","id":"5569d1a1-4b27-49e4-8b29-3ebb64bfbaf7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"mandate_id\": \"685cc8515e3af922dd0e8c31\",\n    \"command\": \"pause\",\n    \"pause_start_date\": \"1761985415\",\n    \"pause_end_date\": \"1761985415\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/mandate","description":"<p>Required for cases where the Paysecure is handling the scheduling of recurring payments. Use this API to pause an ACTIVE mandate.</p>\n<h3 id=\"additional-parameters-for-this-usecase\">Additional <strong>parameters for this usecase:</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>command</td>\n<td>Mandatory.  <br />To be passed as \"pause\".</td>\n</tr>\n<tr>\n<td>mandate_id</td>\n<td>Mandatory.</td>\n</tr>\n<tr>\n<td>pause_start_date</td>\n<td>Optional  <br />Date in UNIX EPOCH timestamp (UTC timezone) format, when the mandate will be paused.  <br />If not passed, Default value will be the current date.</td>\n</tr>\n<tr>\n<td>pause_end_date</td>\n<td>Mandatory  <br />Date in UNIX EPOCH timestamp (UTC timezone) format, when the mandate status will be automatically changed to ACTIVE.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Note:<br />For pausing a mandate you need to keep the exact timestamp in mind.<br />If a recurring payment is scheduled between the pause_start_date and pause_end_date then it will not be executed.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","name":"Recurring Payments","type":"folder"}},"urlObject":{"path":["mandate"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"c8945088-f53b-4c67-9b3f-c23cfaf28813","name":"Pause Mandate","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"mandate_id\": \"685cc8515e3af922dd0e8c31\",\n    \"command\": \"pause\",\n    \"pause_start_date\": \"1761985415\",\n    \"pause_end_date\": \"1761985415\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/mandate"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sun, 01 Feb 2026 07:43:17 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"d58bc371-c0da-450a-acfe-0c3201044a0d"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 1a12f863197f986ec10d35ed76e104f0.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"ywPaVLC1kDeRa4Z9VCMmj4E3hj0lAODhase1DUwkbaCEeCW3c2Y0Bw=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=jxNgzPiQ7b3lf84TmsdZvXle8FBgBUNhmJa5W6ZgA0z943LEtK3kWUVHzpO%2B9jLRC7jxqt2Df6QyJBu3anUlhBNLpCn0uxchM1IvQNKx90c%3D\"}]}"},{"key":"CF-RAY","value":"9c6fd1258d901ff2-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"mandateId\": \"693c053feef6a6b6928b48b0\",\n    \"pauseEndDate\": 1769859769,\n    \"message\": \"Mandate paused configuration done successfully for the selected duration\",\n    \"pauseStartDate\": 1769857969,\n    \"status\": \"PAUSED\"\n}"}],"_postman_id":"5569d1a1-4b27-49e4-8b29-3ebb64bfbaf7"},{"name":"List Mandates","id":"3e6e0557-a2cc-4da1-a993-5dc9ac12b577","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/mandate?customerId=696bd627b0c24568ade4675e&email=user5772@example.com","description":"<p>This endpoint will be used to list all the mandates for a particular customer of a merchant.</p>\n<h3 id=\"response-parameters\">Response <strong>parameters:</strong></h3>\n<ol>\n<li><p><strong>totalDeductedAmount</strong><br /> This is the total amount which is deducted from the user's account.</p>\n</li>\n<li><p><strong>recurringMandateIds</strong><br /> This object returns a list of all the MIT transactions done for the respective mandate.</p>\n</li>\n<li><p><strong>nextMandateDate</strong><br /> This is the date when the next recurring payment will happen.</p>\n</li>\n</ol>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","name":"Recurring Payments","type":"folder"}},"urlObject":{"path":["mandate"],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"customerId","value":"696bd627b0c24568ade4675e"},{"key":"email","value":"user5772@example.com"}],"variable":[]}},"response":[{"id":"bb1e97cc-3f60-4117-9120-701e019b7505","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"BrandId","value":"your-brand-id","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":{"raw":"https://api.paysecure.net/api/v1/mandate?customerId=696bd627b0c24568ade4675e&email=user5772@example.com","host":["https://api.paysecure.net/api/v1"],"path":["mandate"],"query":[{"key":"customerId","value":"696bd627b0c24568ade4675e"},{"key":"email","value":"user5772@example.com"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sun, 01 Feb 2026 07:45:33 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"f16548e2-fc87-44fc-bbf1-767f2c82af0c"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 9bce423254194c16408d5cf7234126e2.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"ywr-KbYLgcl2CP9ZyFndEJjR7VI6jATRNoLeJen1sLm6hmk4VPBSGw=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=SuOGk1BmR%2B6RDq9oMjQI0y4v%2B2wZpehSeXuXxwibUF8%2B%2Fg6CIX9K27%2F1oT205007Yq63%2BR2d2casubErbR9yDAk78NgFsX%2Bd%2FGq2v9VBBGY%3D\"}]}"},{"key":"CF-RAY","value":"9c6fd4788b13c5ce-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"mandates\": [\n        {\n            \"status\": \"ACTIVE\",\n            \"frequency\": \"WEEKLY\",\n            \"rule\": \"after\",\n            \"value\": 4,\n            \"totalDeductedAmount\": \"10.00\",\n            \"recurringMandateIds\": [\n                \"6973ad04fa54ee2cf14f438c\",\n                \"697ce750e6446c7babfe4727\"\n            ],\n            \"email\": \"user5772@example.com\",\n            \"nextMandateDate\": 1770398106,\n            \"customer_id\": \"696bd627b0c24568ade4675e\",\n            \"mandate_id\": \"696bc39a7bc779fac5201357\",\n            \"mandate_max_amount\": 120,\n            \"amount_variability\": \"Variable\",\n            \"start_date\": \"1768670106\"\n        },\n        {\n            \"status\": \"CREATED\",\n            \"frequency\": \"WEEKLY\",\n            \"rule\": \"on\",\n            \"value\": 6,\n            \"totalDeductedAmount\": \"0\",\n            \"email\": \"user5772@example.com\",\n            \"customer_id\": \"696bd627b0c24568ade4675e\",\n            \"mandate_id\": \"696bd627b0c24568ade4675e\",\n            \"mandate_max_amount\": 120,\n            \"amount_variability\": \"Variable\",\n            \"start_date\": \"1768674855\",\n            \"session_id\": \"\"\n        },\n        {\n            \"status\": \"ACTIVE\",\n            \"frequency\": \"WEEKLY\",\n            \"rule\": \"after\",\n            \"value\": 4,\n            \"totalDeductedAmount\": \"0\",\n            \"email\": \"user5772@example.com\",\n            \"customer_id\": \"696bd627b0c24568ade4675e\",\n            \"mandate_id\": \"69788a5dd1ed27eeb5fb89d6\",\n            \"mandate_max_amount\": 120,\n            \"amount_variability\": \"Variable\",\n            \"start_date\": \"1769507493\",\n            \"session_id\": \"\"\n        },\n        {\n            \"status\": \"ACTIVE\",\n            \"frequency\": \"WEEKLY\",\n            \"rule\": \"after\",\n            \"value\": 4,\n            \"totalDeductedAmount\": \"1000\",\n            \"recurringMandateIds\": [\n                \"6973ad04fa54ee2cf14f438c\",\n                \"697ce750e6446c7babfe4727\"\n            ],\n            \"email\": \"user5772@example.com\",\n            \"customer_id\": \"696bd627b0c24568ade4675e\",\n            \"mandate_id\": \"69788d2f0ea4df4fd4e6eb5b\",\n            \"mandate_max_amount\": 120,\n            \"amount_variability\": \"Variable\",\n            \"start_date\": \"1769508214\",\n            \"session_id\": \"\"\n        },\n        {\n            \"status\": \"FAILED\",\n            \"frequency\": \"WEEKLY\",\n            \"rule\": \"after\",\n            \"value\": 4,\n            \"totalDeductedAmount\": \"0\",\n            \"email\": \"user5772@example.com\",\n            \"customer_id\": \"696bd627b0c24568ade4675e\",\n            \"mandate_id\": \"697b533b34d180d90cfb2f5f\",\n            \"mandate_max_amount\": 120,\n            \"amount_variability\": \"Variable\",\n            \"start_date\": \"1769689915\",\n            \"session_id\": \"\"\n        },\n        {\n            \"status\": \"CREATED\",\n            \"frequency\": \"WEEKLY\",\n            \"rule\": \"after\",\n            \"value\": 4,\n            \"totalDeductedAmount\": \"0\",\n            \"email\": \"user5772@example.com\",\n            \"customer_id\": \"696bd627b0c24568ade4675e\",\n            \"mandate_id\": \"697de0e15d2e562bf8b4552a\",\n            \"mandate_max_amount\": 120,\n            \"amount_variability\": \"Variable\",\n            \"start_date\": \"1769857249\",\n            \"session_id\": \"\"\n        }\n    ]\n}"}],"_postman_id":"3e6e0557-a2cc-4da1-a993-5dc9ac12b577"},{"name":"Get Status","id":"b07092fe-992d-4ec3-a6c9-77aab34545c2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/","description":"<p>This API tells you about all the details of a recurring payment which occurred</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>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":"noauth","isInherited":true,"source":{"_postman_id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","name":"Recurring Payments","type":"folder"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"86f9a0f4-9934-47b9-bce7-b332b304dc9e","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}/"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sun, 01 Feb 2026 07:59:35 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"e222737a-b9e9-4562-94de-5b80b056c180"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 f89daa99b6a349030b23247a4977cb5e.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"eUcDXjdNU1qDjwPQst7oM9Kbi8qYyd8sncr30-6kphukYSEGv-qwUg=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=i8qaRQprp0TLqlSo5At%2FjpQANnSZgP8iEeVFnMasIN8xyAN2mdqYXVqP3dXt2AbZRL8fj6SRWa%2BFA1dybSS8ebE5scTH8BsB6Ubx8ppJSxc%3D\"}]}"},{"key":"CF-RAY","value":"9c6fe9092c493ec9-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"purchaseId\": \"6973ad04fa54ee2cf14f438c\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user7402@example.com\",\n        \"phone\": \"0557719399\",\n        \"full_name\": \"Test user\",\n        \"date_of_birth\": \"2004-07-12\",\n        \"street_address\": \"90 Fixture Close\",\n        \"country\": \"CA\",\n        \"city\": \"Milford\",\n        \"zip_code\": \"68403\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"tax_number\": \"+447755564318\",\n        \"bankAccountNumber\": \"1345789678\",\n        \"stateCode\": \"QLD\"\n    },\n    \"updated_on\": 1769188614,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"VISA\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"ERROR_PARSING_GROUP_ID\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1769188612,\n    \"merchantRef\": \"6973ad04fa54ee2cf14f438c\",\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"gaming cards\",\n                \"quantity\": 1.0,\n                \"price\": 10.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 10.0,\n        \"requestAmount\": 10.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"taxAmount\": 0.0,\n        \"taxPercent\": 0.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\": \"zenith\",\n        \"brand_name\": \"zenith\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"01\",\n            \"amount\": 10.0,\n            \"card_issuer\": \"VISION BANK\",\n            \"masked_pan\": \"42222222*2222\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"SA\",\n            \"card_type\": \"DEBIT\",\n            \"cardholder_name\": \"Rowan Sharma\",\n            \"expiry_year\": \"29\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.100\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": false,\n                \"country\": \"VISA\",\n                \"processing_time\": 1769188612,\n                \"extra\": {\n                    \"amount\": 10.0,\n                    \"masked_pan\": \"VISA\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"VISA\",\n                    \"cardholder_name\": \"Test user\"\n                },\n                \"error\": {\n                    \"message\": \"This customer can not be processed !\",\n                    \"code\": \"transaction_error\"\n                }\n            },\n            {\n                \"client_ip\": \"\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": false,\n                \"country\": \"SA\",\n                \"processing_time\": 1769188613,\n                \"extra\": {\n                    \"expiry_month\": \"01\",\n                    \"amount\": 10.0,\n                    \"card_issuer\": \"VISION BANK\",\n                    \"masked_pan\": \"42222222*2222\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"SA\",\n                    \"card_type\": \"DEBIT\",\n                    \"cardholder_name\": \"Rowan Sharma\",\n                    \"expiry_year\": \"29\"\n                },\n                \"error\": {\n                    \"message\": \"ERROR_PARSING_GROUP_ID\",\n                    \"code\": \"transaction_error\"\n                }\n            }\n        ]\n    },\n    \"status\": \"ERROR\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1769188612\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1769188612\n        },\n        {\n            \"status\": \"error\",\n            \"timestamp\": 1769188613\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1769188613\n        },\n        {\n            \"status\": \"error\",\n            \"timestamp\": 1769188614\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1770016552\n        }\n    ],\n    \"viewedOn\": 1770016552,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS1841\",\n    \"issued\": \"2026-01-23\",\n    \"due\": 1769188612,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"extraFee\": \"0\",\n    \"paidOn\": 0,\n    \"receivedAmt\": 0.0,\n    \"taxAmount\": 0.0,\n    \"surcharge\": 0.0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\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    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.100\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/a28ed9974a22a4cbd5f2f49cc26cc334/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6973ad04fa54ee2cf14f438c/\",\n    \"payoutProcess\": false,\n    \"payment_type\": \"internal recurring\",\n    \"mandate_id\": \"696bc39a7bc779fac5201357\"\n}"}],"_postman_id":"b07092fe-992d-4ec3-a6c9-77aab34545c2"}],"id":"6e56d17a-6580-4378-9a86-ffcea4a544cd","_postman_id":"6e56d17a-6580-4378-9a86-ffcea4a544cd","description":"","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","name":"Recurring Payments","type":"folder"}}}],"id":"09aaa678-42b8-46d4-ab7e-18743a94fac9","description":"<h1 id=\"overview\">Overview</h1>\n<p>Recurring Payments allow merchants to automatically charge customers at predefined or flexible intervals without requiring the customer to re-enter payment details each time.</p>\n<p>A <strong>Mandate</strong> represents the customer’s authorization that links their payment method to the merchant for future recurring charges. Once created, this mandate is used as a secure reference for all upcoming payments.</p>\n<p>Instead of processing every transaction as a one-time payment, merchants rely on mandates to execute recurring debits in a frictionless and compliant manner.</p>\n<p>The recurring payments may be initiated using Paysecure APIs as fixed/ non-fixed intervals based on your business use case.</p>\n<p>The Paysecure Subscription module (also known as Mandates) enables merchants to automate recurring billing for products and services. Unlike standard one-off transactions, this feature creates a persistent link between the merchant and the customer's payment method, allowing for future charges without requiring the customer to be present or re-enter their details.</p>\n<p>This system is built around two fundamental transaction types that define the lifecycle of a subscription:</p>\n<h3 id=\"1-mandate-registration-cit\"><strong>1. Mandate Registration (CIT)</strong></h3>\n<p>The <strong>Customer Initiated Transaction (CIT)</strong> represents the initial setup of the recurring payment mandate, during which the customer is actively present on the merchant’s website or application (in-session flow).</p>\n<p>In this flow, the merchant collects and submits the customer’s basic details along with the mandate configuration, including registration information, payment amount (fixed or variable, as applicable), and the scheduling frequency for recurring debits.</p>\n<p>As part of the setup process, the customer must explicitly provide consent for the mandate. To authenticate and activate the mandate, the customer also completes a one-time payment using the selected payment method. Once this payment is successful, the mandate is registered and becomes eligible for future automated recurring transactions as per the defined schedule.</p>\n<p><strong>Purpose</strong>:</p>\n<ul>\n<li><p>Capture customer payment details</p>\n</li>\n<li><p>Authenticate the transaction (typically via 3D Secure)</p>\n</li>\n<li><p>Collect customer consent for recurring billing</p>\n</li>\n</ul>\n<p><strong>Outcome:</strong></p>\n<ul>\n<li><p>A unique mandate_id is generated</p>\n</li>\n<li><p>This mandate acts as a secure token for all future charges</p>\n</li>\n</ul>\n<p><strong>Use Case:</strong></p>\n<p>The customer signs up for a subscription and completes the first payment</p>\n<h3 id=\"2-recurring-payments-mit\"><strong>2. Recurring Payments (MIT)</strong></h3>\n<p>The <strong>Merchant Initiated Transaction (MIT)</strong> represents the execution phase of the recurring payment lifecycle. In this stage, payments are automatically triggered by the merchant’s system or through Paysecure’s built-in scheduler without requiring the customer to be actively present (off-session flow).</p>\n<p>Once a mandate is successfully registered, merchants can initiate recurring debits as per the defined schedule and payment terms. These transactions are processed seamlessly using the customer’s authorized payment method.</p>\n<p>The Paysecure Mandate module provides the following benefits:</p>\n<ul>\n<li><p>Prebuilt support for a complete mandate registration experience using cards as the payment method</p>\n</li>\n<li><p>Flexible mandate setup to match different business models and customer requirements</p>\n</li>\n<li><p>Simplified execution of recurring payments through the Paysecure Dashboard with minimal operational effort</p>\n</li>\n<li><p>Built-in analytics and reporting tools to monitor mandate sign-ups, payment performance, and renewals</p>\n</li>\n</ul>\n<p><strong>Purpose:</strong></p>\n<ul>\n<li>Debit the customer according to the defined schedule or usage</li>\n</ul>\n<p><strong>Mechanism:</strong></p>\n<ul>\n<li><p>Merchant (or Paysecure scheduler) sends payment requests using the mandate_id</p>\n</li>\n<li><p>No card details are required again</p>\n</li>\n<li><p>Usually bypasses 3D Secure</p>\n</li>\n</ul>\n<p><strong>Use Case:</strong></p>\n<p>Monthly subscription renewal payment.</p>\n<h1 id=\"key-capabilities\"><strong>Key Capabilities</strong></h1>\n<ul>\n<li><p><strong>Flexible Scheduling:</strong> Define rigid schedules (Daily, Weekly, Monthly, Yearly) or use \"As Presented\" for irregular billing intervals.</p>\n</li>\n<li><p><strong>Amount Variability:</strong> Support for <strong>Fixed</strong> amounts (e.g., $10/month license) or <strong>Variable</strong> amounts (e.g., utility bills where the cost changes based on usage).</p>\n</li>\n<li><p><strong>Smart Management:</strong></p>\n<ul>\n<li><p><strong>Merchant Managed:</strong> You track the dates and trigger the API call when payment is due.</p>\n</li>\n<li><p><strong>Paysecure Managed:</strong> You define the rules (start date, end date, frequency), and Paysecure handles the execution logic.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Analytics &amp; Operations:</strong> Includes a dedicated dashboard for monitoring signup performance, renewal success rates, and managing cancellations.</p>\n</li>\n</ul>\n<p>There are 2 ways in which subscriptions are handled at Paysecure’s end:</p>\n<h4 id=\"merchant-managed-scheduling\"><strong>Merchant Managed Scheduling</strong></h4>\n<p>After successfully registering the mandate, the merchant creates a subscription linked to the customer’s mandate. Based on the defined billing cycle and business logic, the merchant then triggers the Recurring Payments API according to their own payment schedule to execute automated debits.</p>\n<p>This approach allows merchants to maintain full control over when and how recurring charges are initiated.</p>\n<ul>\n<li><p>Merchant tracks payment due dates</p>\n</li>\n<li><p>Merchant triggers recurring API calls manually</p>\n</li>\n</ul>\n<p><strong>Best for:</strong></p>\n<p>Custom billing logic or internal scheduling systems.</p>\n<h4 id=\"paysecure-managed-scheduling\"><strong>Paysecure Managed Scheduling</strong></h4>\n<p>In this model, the merchant creates a subscription within the Paysecure system and submits the recurring payment schedule, including billing frequency and timing. Based on the provided configuration, Paysecure automatically manages the execution of recurring transactions as per the defined schedule.</p>\n<p>This removes the need for merchants to manually trigger each payment, ensuring consistent and timely debits while maintaining a fully automated recurring billing process</p>\n<ul>\n<li><p>Merchant defines payment rules (start date, frequency, end date)</p>\n</li>\n<li><p>Paysecure automatically executes recurring charges</p>\n</li>\n</ul>\n<p><strong>Best for:</strong></p>\n<p>Standard subscription models with minimal operational overhead.</p>\n<h1 id=\"prerequisites\"><strong>Prerequisites</strong></h1>\n<p>Before starting the mandate integration, merchants must ensure that the required configurations are enabled both at the PSP level and within the Paysecure system.</p>\n<h4 id=\"mandate-enablement-at-psp-level\"><strong>Mandate Enablement at PSP Level</strong></h4>\n<p>Merchants must enable mandate-related features on their respective PSP (Payment Service Provider) dashboard. This ensures that the PSP supports recurring and mandate-based transactions.</p>\n<h4 id=\"configuration-on-the-paysecure-dashboard\"><strong>Configuration on the Paysecure Dashboard</strong></h4>\n<ul>\n<li><p>For whitelabel merchants or those using Paysecure’s whitelabel solution, the mandate support toggle must be enabled within the MID settings of the PSP configuration. This allows Paysecure to recognize and route mandate transactions correctly.</p>\n</li>\n<li><p>For merchants directly onboarded with Paysecure, this configuration is managed by the Paysecure team. Merchants should coordinate with their account manager to ensure mandate enablement is completed.</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"021f4d9b-cc06-4281-a85f-7c1fd1de9704"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"8c536bf9-1157-469e-9b7a-6757bb6aa841"}}],"_postman_id":"09aaa678-42b8-46d4-ab7e-18743a94fac9"},{"name":"Transaction Reporting","item":[{"name":"List Transactions","id":"3b993501-7ca3-4988-b3d8-ccca454d07b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"BrandId","value":"your-brand-id"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/external/transactions/list?page_no=1&page_size=10&transaction_id=69d4ba22465443878a0045ba&start_date=2025-10-29%2000%3A00%3A00%20+05%3A30&end_date=2026-04-23%2000%3A00%3A00%20+05%3A30&last_updated_start=2026-01-07%2016%3A12%3A00%20+05%3A30&last_updated_end=2026-12-07%2016%3A12%3A00%20+05%3A30&customer_id=NA&status=paid&currency=USD&is_sandbox=true","description":"<p>Fetches a paginated list of transactions. This endpoint is optimized for high-volume retrieval and returns a summary view of each transaction (ID and Status).</p>\n<h4 id=\"important-path-params-to-consider\"><strong>Important Path Params to consider:</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Fields</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>page_no</td>\n<td>The index number of the page to retrieve.  <br />Zero-based indexing: The first page is 0, the second is 1, etc.  <br />Example: To get the third page of results, send page_no=2</td>\n</tr>\n<tr>\n<td>page_size</td>\n<td>The number of records to return per page.  <br />Minimum: 1  <br />Maximum: 100 (or whatever your API limit is).  <br />Usage: A larger page_size reduces the number of API calls but increases payload size.</td>\n</tr>\n<tr>\n<td>transaction_id</td>\n<td>If you want to filter with a specific transaction id. Multiple ids are not supported.  <br />If a transaction id is passed, it has the highest priority. All the below mentioned filters are ommitted.</td>\n</tr>\n<tr>\n<td>start_date</td>\n<td>If you want to filter between 2 dates.  <br />Format: 2026-01-07 16:12:00 +05:30  <br />Base timezone is in UTC.</td>\n</tr>\n<tr>\n<td>end_date</td>\n<td>If you want to filter between 2 dates  <br />Format: 2026-01-07 16:12:00 +05:30  <br />Base timezone is in UTC.</td>\n</tr>\n<tr>\n<td>last_updated_start</td>\n<td>If you want to filter with the last updated date of a transaction.  <br />Format: 2026-01-07 16:12:00 +05:30  <br />Base timezone is in UTC.</td>\n</tr>\n<tr>\n<td>last_updated_end</td>\n<td>If you want to filter with the last updated date of a transaction.  <br />Format: 2026-01-07 16:12:00 +05:30  <br />Base timezone is in UTC.</td>\n</tr>\n<tr>\n<td>customer_id</td>\n<td>If you want to filter with a specific customer id. Multiple ids are not supported.</td>\n</tr>\n<tr>\n<td>status</td>\n<td>If you want to filter with the status.</td>\n</tr>\n<tr>\n<td>currency</td>\n<td>If you want to filter with the currency.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["external","transactions","list"],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"page_no","value":"1"},{"key":"page_size","value":"10"},{"key":"transaction_id","value":"69d4ba22465443878a0045ba"},{"key":"start_date","value":"2025-10-29%2000%3A00%3A00%20+05%3A30"},{"key":"end_date","value":"2026-04-23%2000%3A00%3A00%20+05%3A30"},{"key":"last_updated_start","value":"2026-01-07%2016%3A12%3A00%20+05%3A30"},{"key":"last_updated_end","value":"2026-12-07%2016%3A12%3A00%20+05%3A30"},{"key":"customer_id","value":"NA"},{"key":"status","value":"paid"},{"key":"currency","value":"USD"},{"key":"is_sandbox","value":"true"}],"variable":[]}},"response":[{"id":"0910f5b1-32ff-445e-957c-dac0bd9ad8b6","name":"Success","originalRequest":{"method":"GET","header":[{"key":"BrandId","value":"your-brand-id"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":{"raw":"https://api.paysecure.net/api/v1/external/transactions/list?page_no=1&page_size=10&start_date=2025-10-29%2000%3A00%3A00%20+05%3A30&end_date=2026-04-23%2000%3A00%3A00%20+05%3A30&last_updated_start=2026-01-07%2016%3A12%3A00%20+05%3A30&last_updated_end=2026-12-07%2016%3A12%3A00%20+05%3A30&customer_id=NA&status=paid&currency=USD&is_sandbox=true","host":["https://api.paysecure.net/api/v1"],"path":["external","transactions","list"],"query":[{"key":"page_no","value":"1"},{"key":"page_size","value":"10"},{"key":"transaction_id","value":"69d4ba22465443878a0045ba","disabled":true},{"key":"start_date","value":"2025-10-29%2000%3A00%3A00%20+05%3A30"},{"key":"end_date","value":"2026-04-23%2000%3A00%3A00%20+05%3A30"},{"key":"last_updated_start","value":"2026-01-07%2016%3A12%3A00%20+05%3A30"},{"key":"last_updated_end","value":"2026-12-07%2016%3A12%3A00%20+05%3A30"},{"key":"customer_id","value":"NA"},{"key":"status","value":"paid"},{"key":"currency","value":"USD"},{"key":"is_sandbox","value":"true"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sun, 19 Apr 2026 14:11:10 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"c2111eb2-6314-4f0b-b546-4ae3ee123a44"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 6a91ddfdf36644f1344da228258d9082.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"lKDk7cJHKNy2cOdf_AWXk3GlUJdWC5slaGWaVfgUf1Fn0XXm7T7D7Q=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=YLhXcnCfKpMy2KQEcmek7bxnkI2lT3%2F5IQ8opo9ZpZ4E852qZoWIFsjJ%2BcmGZfTO7S1rWYnB3uzuGwMYwevQ%2F47w%2Bm6u51jrIfjuG3TDh08KGeWKRbR92ItXRYPoh1CgVmja\"}]}"},{"key":"CF-RAY","value":"9eec7f31f973c9b7-IAD"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"content\": [\n            {\n                \"transaction_id\": \"69e2146828bea6ca2e31bc85\",\n                \"status\": \"paid\"\n            },\n            {\n                \"transaction_id\": \"69e20fd928bea6ca2e31b17c\",\n                \"status\": \"paid\"\n            }\n        ],\n        \"currentPage\": 1,\n        \"pageSize\": 2,\n        \"totalElements\": 95,\n        \"totalPages\": 48,\n        \"first\": true,\n        \"last\": false,\n        \"hasNext\": true,\n        \"hasPrevious\": false\n    }\n}"}],"_postman_id":"3b993501-7ca3-4988-b3d8-ccca454d07b1"},{"name":"Get Detailed Transaction Details","id":"539b29f9-d784-4ad4-81cb-e8934e7cad55","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"BrandId","value":"your-brand-id"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/external/transactions/data/69e20fd928bea6ca2e31b17c?page_no=1&page_size=10&include_subtransactions=true","description":"<p>Retrieves the complete details for a specific transaction. This includes customer info, payment method details, bank response codes, and hierarchy metadata (parent/child transactions).</p>\n<h3 id=\"additional-query-parameters-for-this-usecase\">Additional query <strong>parameters for this usecase:</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>include_subtransactions</td>\n<td>Mandatory.  <br />Possible Values: true/false  <br />  <br />If true, includes child transactions (e.g., recurring payments).</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["external","transactions","data","69e20fd928bea6ca2e31b17c"],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"page_no","value":"1"},{"key":"page_size","value":"10"},{"key":"include_subtransactions","value":"true"}],"variable":[]}},"response":[{"id":"caf45845-f808-4f2a-9dc5-d0564d6555d2","name":"Success","originalRequest":{"method":"GET","header":[{"key":"BrandId","value":"your-brand-id"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":{"raw":"https://api.paysecure.net/api/v1/external/transactions/data/69e20fd928bea6ca2e31b17c?page_no=1&page_size=10&include_subtransactions=true","host":["https://api.paysecure.net/api/v1"],"path":["external","transactions","data","69e20fd928bea6ca2e31b17c"],"query":[{"key":"page_no","value":"1"},{"key":"page_size","value":"10"},{"key":"include_subtransactions","value":"true"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Sun, 19 Apr 2026 14:13:09 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"3d9fb1d1-b30f-4c3e-a76f-6956e3731ad3"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 64d4305f6a0418824e90908ac490184e.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"COt7k0tEcVGSOSy8pTkHoOqGoG1lSgC9qz8baoKbgmPkAh5dq0GNjQ=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=hn0q1Q9Cqa9onXwzy%2F1Qeq8u4RTGt3q%2BZNFW29weO%2BOmtABh6y8XLnAH9%2FytCQEEOmNzdnvM0oPcQruiJvYqQQShCKOndiMKUnEksUPM9I9UMph4qP7s1ognTK%2BBhheXvIwO\"}]}"},{"key":"CF-RAY","value":"9eec821e0f4b172c-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"data\": {\n        \"transaction_id\": \"69e20fd928bea6ca2e31b17c\",\n        \"merchant_reference\": \"69e20fd928bea6ca2e31b17c\",\n        \"customer_id\": \"NA\",\n        \"amount\": 1.0,\n        \"currency\": \"USD\",\n        \"status\": \"paid\",\n        \"session_id\": \"\",\n        \"email\": \"user1661@example.com\",\n        \"merchant_name\": \"globex12merch\",\n        \"payment_method\": \"MASTER\",\n        \"payment_flow\": \"payform\",\n        \"issuing_bank\": \"PUBLIC BANK BERHAD\",\n        \"created_at\": \"2026-04-17T10:47:53Z\",\n        \"error_reason\": \"Transaction succeeded-APPROVED\",\n        \"last_updated_at\": \"2026-04-17T10:49:14Z\",\n        \"transaction_type\": \"parent\",\n        \"fees\": [\n            {\n                \"type\": \"mdr\",\n                \"amount\": 0.00,\n                \"currency\": \"USD\"\n            },\n            {\n                \"type\": \"decline_fee\",\n                \"amount\": 0,\n                \"currency\": \"USD\"\n            },\n            {\n                \"type\": \"transaction_fee\",\n                \"amount\": 0.1,\n                \"currency\": \"USD\"\n            },\n            {\n                \"type\": \"fraud_refund_fee\",\n                \"amount\": 0,\n                \"currency\": \"USD\"\n            },\n            {\n                \"type\": \"refund_fee\",\n                \"amount\": 0,\n                \"currency\": \"USD\"\n            },\n            {\n                \"type\": \"chargeback_fee\",\n                \"amount\": 0,\n                \"currency\": \"USD\"\n            },\n            {\n                \"type\": \"extra_fee\",\n                \"amount\": 0,\n                \"currency\": \"USD\"\n            }\n        ],\n        \"metadata\": {\n            \"has_subtransactions\": false,\n            \"total_subtransactions\": 0,\n            \"transaction_hierarchy_level\": \"parent\"\n        }\n    }\n}"}],"_postman_id":"539b29f9-d784-4ad4-81cb-e8934e7cad55"}],"id":"2749a63c-474d-41bb-875c-f92b6683d345","description":"<h2 id=\"overview\">Overview</h2>\n<p>The Transaction Reporting APIs allow merchants to retrieve detailed logs of their payment activity programmatically. This is useful for:</p>\n<ul>\n<li><p><strong>Reconciliation:</strong> Matching Paysecure records with your internal order system.</p>\n</li>\n<li><p><strong>Audit Trails:</strong> Tracking the status history of specific transactions.</p>\n</li>\n<li><p><strong>Data Export:</strong> Pulling transaction data into your own analytics tools.</p>\n</li>\n</ul>\n<p>There are two primary endpoints:</p>\n<ol>\n<li><p><strong>List Transactions:</strong> Retrieves a paginated list of all transactions for a specific Brand ID.</p>\n</li>\n<li><p><strong>Get Transaction Details:</strong> Retrieves the full data payload for a single transaction ID, including metadata and sub-transaction details.</p>\n</li>\n</ol>\n","_postman_id":"2749a63c-474d-41bb-875c-f92b6683d345"},{"name":"Network Tokenisation","item":[{"name":"Merchant Configuration","item":[],"id":"0e79c7a0-501a-4fcb-9766-4a3db87f1dd2","description":"<p>Before you can use network tokenisation in your payment flow, the feature must be enabled and configured on your merchant account. This section walks through the setup steps in the Paysecure Dashboard.</p>\n<h2 id=\"enabling-network-tokenisation\">Enabling Network Tokenisation</h2>\n<p>Network tokenisation requires activation at the merchant level. Follow these steps in the Paysecure Dashboard:</p>\n<ol>\n<li><p>Log in to your Paysecure merchant account.</p>\n</li>\n<li><p>Navigate to Merchant Details → Allowed Services.</p>\n</li>\n<li><p>Enable “Allow Network Token” to activate tokenisation for your account.</p>\n</li>\n</ol>\n<p><strong>Admin Activation Required</strong><br />Network tokenisation must first be enabled at the platform level by your Paysecure account administrator. If you do not see the “Allow Network Token” option in your dashboard, contact your Paysecure account manager to request activation.</p>\n<img src=\"https://content.pstmn.io/6203c767-d43a-4b53-b43b-2b925d101d2d/U2NyZWVuc2hvdCAyMDI2LTAzLTEzIGF0IDEyLjU1LjQ44oCvQU0uanBn\" />\n\n<h2 id=\"paysecure-token-service-setup\">Paysecure Token Service Setup</h2>\n<p>After enabling network tokenisation, configure the Paysecure Token Service with your merchant details:</p>\n<ol>\n<li><p>In the Paysecure Dashboard, navigate to Global Settings → Paysecure Token Service.</p>\n</li>\n<li><p>Fill in all the required fields accurately.</p>\n</li>\n<li><p>Enter your Category Code — this represents your merchant business type code (MCC).</p>\n</li>\n<li><p>Click Save.</p>\n</li>\n<li><p>After saving, verify that the status shows as Pending (visible in the top-right corner of the page).</p>\n</li>\n<li><p>The status will automatically update to Active or Error once your token profile is created.</p>\n</li>\n</ol>\n<img src=\"https://content.pstmn.io/1a41fc67-9194-4ba6-8b4a-2c50a4923740/U2NyZWVuc2hvdCAyMDI2LTAzLTEzIGF0IDMuMjkuNDXigK9BTS5wbmc=\" />\n\n<p><strong>Status Update Timing:</strong> The status update from Pending to Active may take up to 1 hour. Do not attempt to use tokenisation APIs until the status shows Active. If the status changes to Error, contact your Paysecure account manager for resolution.</p>\n<h3 id=\"status-values\"><strong>Status Values</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Meaning</th>\n<th>Action Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Pending</td>\n<td>Your token service profile has been submitted and is being provisioned.</td>\n<td>Wait for the status to update. This may take up to 1 hour.</td>\n</tr>\n<tr>\n<td>Active</td>\n<td>Token service is live and ready to use. You can now process tokenised transactions.</td>\n<td>None — you are ready to integrate.</td>\n</tr>\n<tr>\n<td>Error</td>\n<td>There was a problem creating your token profile.</td>\n<td>Contact your Paysecure account manager to resolve the issue.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"5d3e9c0e-8be2-4fb8-9483-59f5d51e0e96"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"9ecfbca4-6351-427b-862d-1d0739dda6d8"}}],"_postman_id":"0e79c7a0-501a-4fcb-9766-4a3db87f1dd2"},{"name":"APIs","item":[{"name":"List Saved Cards","id":"3ee86fb5-136a-4140-bb02-4c15ff3a56c0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"https://api.paysecure.net/listSavedCards","description":"<h2 id=\"list-saved-cards\">List Saved Cards</h2>\n<p>Retrieve all saved card tokens for a given customer. Returns the last 4 digits of each card and its associated <code>token_reference</code>.</p>\n<p>Use this API to display saved cards to the customer for selection before initiating a payment via the S2S API.</p>\n<h3 id=\"query-parameters\">Query Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>customerId</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Unique identifier for the customer. Must be URL-encoded if it contains special characters. Email addresses are case-sensitive.</td>\n</tr>\n<tr>\n<td><code>brandId</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Brand id of the merchant</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-fields\">Response Fields</h3>\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>card_last_four</code></td>\n<td>string</td>\n<td>Last 4 digits of the stored card. Display to the customer for card selection.</td>\n</tr>\n<tr>\n<td><code>token_reference</code></td>\n<td>string</td>\n<td>Unique reference for this saved card. Pass this in the S2S payment request or Delete Token request. Do not display to the customer.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"notes\">Notes</h3>\n<ul>\n<li><p>The <code>token_reference</code> does not expire. It remains valid as long as the saved card has not been deleted.</p>\n</li>\n<li><p>Show saved cards to the customer using <code>card_last_four</code> alongside a card brand icon (Visa / Mastercard).</p>\n</li>\n<li><p>The <code>token_reference</code> should only be stored and used server-side.</p>\n</li>\n</ul>\n<h3 id=\"display-tip\">Display Tip</h3>\n<p>Show saved cards using cardlast4 alongside a card brand icon (Visa / Mastercard).<br />The token_reference should only be stored and used server-side.</p>\n","urlObject":{"protocol":"https","path":["listSavedCards"],"host":["api","paysecure","net"],"query":[],"variable":[]}},"response":[{"id":"c5d47652-5f6d-44fc-a310-ad2d53e5fad0","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":{"raw":"https://api.paysecure.net/listSavedCards?customerId=user7556@example.com&brandId=fceb4dea-163c-492c-a9e6-beedd8539da8","protocol":"https","host":["api","paysecure","net"],"path":["listSavedCards"],"query":[{"key":"customerId","value":"user7556@example.com"},{"key":"brandId","value":"fceb4dea-163c-492c-a9e6-beedd8539da8"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"card_last_four\": \"1003\",\n        \"token_reference\": \"token_2bcf691f0f0347d6bcb38118d1bb31d5\"\n    },\n    {\n        \"card_last_four\": \"6006\",\n        \"token_reference\": \"token_e17dd98c66c14b37afaa62bd4770f915\"\n    },\n    {\n        \"card_last_four\": \"6916\",\n        \"token_reference\": \"token_7178bb7208614544a285656da38ae5ac\"\n    }\n]"}],"_postman_id":"3ee86fb5-136a-4140-bb02-4c15ff3a56c0"},{"name":"Purchase","id":"edcecdb0-fea9-4559-93ce-6678e3809ad8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user6597@example.com\",\n        \"country\": \"IN\",\n        \"city\": \"Riverton\",\n        \"stateCode\": \"RJ\",\n        \"street_address\": \"1 Example Street\",\n        \"zip_code\": \"302001\",\n        \"phone\": \"9999999999\"\n    },\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"Product Name\",\n                \"price\": \"10.00\"\n            }\n        ]\n    },\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/api/v1/purchases","description":"<h2 id=\"purchase\">Purchase</h2>\n<p>Initiate a payment transaction. This is the standard Paysecure Purchase API.</p>\n<p>When a customer completes the purchase on the Paysecure checkout page and opts to save their card, Paysecure provisions a network token in the background and generates a <code>token_reference</code> linked to the customer.</p>\n<h3 id=\"mandatory-parameters\">Mandatory Parameters</h3>\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</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>client.email</code></td>\n<td>string</td>\n<td>Customer's email address.  <br />Please send it in smallcase</td>\n</tr>\n<tr>\n<td><code>client.city</code></td>\n<td>string</td>\n<td>Customer's city.</td>\n</tr>\n<tr>\n<td><code>client.country</code></td>\n<td>string</td>\n<td>ISO-3166 Alpha-2 country code, uppercase (e.g., IN, US, SG).</td>\n</tr>\n<tr>\n<td><code>client.stateCode</code></td>\n<td>string</td>\n<td>State code, uppercase (e.g., RJ, CA, AL).</td>\n</tr>\n<tr>\n<td><code>client.street_address</code></td>\n<td>string</td>\n<td>Customer's street address.</td>\n</tr>\n<tr>\n<td><code>client.zip_code</code></td>\n<td>string</td>\n<td>Postal / ZIP code. US format: NNNNN or NNNNN-NNNN.</td>\n</tr>\n<tr>\n<td><code>purchase.currency</code></td>\n<td>string</td>\n<td>ISO 4217 currency code (e.g., USD, EUR). Must be enabled on your account.</td>\n</tr>\n<tr>\n<td><code>purchase.products</code></td>\n<td>array</td>\n<td>Array of product objects with <code>name</code> and <code>price</code>.</td>\n</tr>\n<tr>\n<td><code>brand_id</code></td>\n<td>string</td>\n<td>Your Paysecure Brand ID from Dashboard.</td>\n</tr>\n<tr>\n<td><code>success_redirect</code></td>\n<td>string</td>\n<td>URL to redirect customer after successful payment.</td>\n</tr>\n<tr>\n<td><code>failure_redirect</code></td>\n<td>string</td>\n<td>URL to redirect customer after failed payment.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"optional-parameters\">Optional Parameters</h3>\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</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>pending_redirect</code></td>\n<td>string</td>\n<td>URL to redirect when payment is pending.</td>\n</tr>\n<tr>\n<td><code>success_callback</code></td>\n<td>string</td>\n<td>Server-to-server webhook URL for success.</td>\n</tr>\n<tr>\n<td><code>failure_callback</code></td>\n<td>string</td>\n<td>Server-to-server webhook URL for failure.</td>\n</tr>\n<tr>\n<td><code>merchantRef</code></td>\n<td>string</td>\n<td>Your internal reference for this transaction.</td>\n</tr>\n<tr>\n<td><code>paymentMethod</code></td>\n<td>string</td>\n<td>Pre-select payment method (e.g., VISA).</td>\n</tr>\n<tr>\n<td><code>client.phone</code></td>\n<td>string</td>\n<td>Customer's phone number.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"key-response-fields\">Key Response Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>Unique purchase ID.</td>\n</tr>\n<tr>\n<td><code>checkout_url</code></td>\n<td>Redirect customer here to complete payment. Card saving happens during this step.</td>\n</tr>\n<tr>\n<td><code>direct_post_url</code></td>\n<td>URL for S2S payment submission.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Purchase status. Initially \"created\".</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"network-tokenisation--card-saving\"><strong>Network Tokenisation &amp; Card Saving</strong></h4>\n<p>When the customer completes payment via <code>checkout_url</code> and opts to save their card, Paysecure provisions a network token. The <code>token_reference</code> is then available via the <strong>List Saved Cards</strong> API.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"06073ed3-ffd7-4e56-a80c-f7d47269716d","id":"06073ed3-ffd7-4e56-a80c-f7d47269716d","name":"APIs","type":"folder"}},"urlObject":{"path":["api","v1","purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"8978edc0-1b5e-4ef5-b1b8-cc9d03100332","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user6597@example.com\",\n        \"country\": \"IN\",\n        \"city\": \"Riverton\",\n        \"stateCode\": \"RJ\",\n        \"street_address\": \"1 Example Street\",\n        \"zip_code\": \"302001\",\n        \"phone\": \"9999999999\"\n    },\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"Product Name\",\n                \"price\": \"10.00\"\n            }\n        ]\n    },\n    \"brand_id\": \"your-brand-id\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/api/v1/purchases"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"69b32e42250ac73495aefd50\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user9831@example.com\",\n        \"full_name\": \"Casey Novak\",\n        \"date_of_birth\": \"1800-01-01\",\n        \"street_address\": \"58 Testing Lane\",\n        \"country\": \"BR\",\n        \"city\": \"Westbury\",\n        \"zip_code\": \"110001\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"DL\"\n    },\n    \"updated_on\": 1773350466,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"MASTER\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1773350466,\n    \"merchantRef\": \"69b32e42250ac73495aefd50\",\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"e-commerce\",\n                \"quantity\": 1.0,\n                \"price\": 10.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 10.0,\n        \"requestAmount\": 10.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"taxAmount\": 0.0,\n        \"taxPercent\": 0.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\": \"brand\",\n        \"brand_name\": \"brand\",\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\": 1773350466\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS1060\",\n    \"issued\": \"2026-03-12\",\n    \"due\": 1773350466,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"extraFee\": \"0\",\n    \"paidOn\": 0,\n    \"receivedAmt\": 0.0,\n    \"taxAmount\": 0.0,\n    \"surcharge\": 0.0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\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    \"pending_redirect\": \"https://your.pending.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\": \"203.0.113.33\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/1b73d31d178113798afa0157c8805ef0/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/69b32e42250ac73495aefd50/\",\n    \"payoutProcess\": false\n}"}],"_postman_id":"edcecdb0-fea9-4559-93ce-6678e3809ad8"},{"name":"S2S Payment","id":"e1cbdabe-6a03-4069-a53f-dcfb80b0eb78","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"Token_reference\": \"token_7178aa7208614544a285656da38ae5ac\",\n    \"cvc\": \"791\",\n    \"remember_card\": \"off\",\n    \"remote_ip\": \"203.0.113.121\",\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}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/api/v1/p/{{brandId}}/?s2s=true","description":"<h2 id=\"s2s-payment\">S2S Payment</h2>\n<p>Process a payment using a saved card's <code>token_reference</code>. Paysecure resolves the token reference to the underlying network token and processes the payment securely. If the selected MID does not accept tokens, Paysecure automatically falls back to the card number.</p>\n<h3 id=\"s2s-input-scenarios\">S2S Input Scenarios</h3>\n<p>The S2S API accepts different input types depending on the scenario:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Scenario</th>\n<th>What to Send</th>\n<th>What Paysecure Does</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>New card</strong> (first-time customer)</td>\n<td>Full card details</td>\n<td>Paysecure tokenises the card. If the MID supports tokens, the transaction uses the token; otherwise, the card number is used.</td>\n</tr>\n<tr>\n<td><strong>Returning customer</strong> (tokenised with Paysecure)</td>\n<td><code>token_reference</code> from List Saved Cards</td>\n<td>Paysecure uses the stored token and generates a new cryptogram. Falls back to card number if MID doesn't accept tokens.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-body\">Request Body</h3>\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>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>token_reference</code></td>\n<td>string</td>\n<td>Conditional</td>\n<td>Token reference from List Saved Cards. Required when paying with a Paysecure-tokenised card.</td>\n</tr>\n<tr>\n<td><code>cvc</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Card CVC/CVV. <strong>Required even when</strong> <strong><code>token_reference</code></strong> <strong>is provided</strong>, for 3DS authentication.</td>\n</tr>\n<tr>\n<td><code>remember_card</code></td>\n<td>string</td>\n<td>No</td>\n<td><code>\"on\"</code> to save card, <code>\"off\"</code> to skip. Use <code>\"off\"</code> with saved tokens.</td>\n</tr>\n<tr>\n<td><code>remote_ip</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Cardholder's IP address.</td>\n</tr>\n<tr>\n<td><code>user_agent</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Browser User-Agent string.</td>\n</tr>\n<tr>\n<td><code>accept_header</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Browser Accept header.</td>\n</tr>\n<tr>\n<td><code>language</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Browser language (e.g., <code>\"en-US\"</code>).</td>\n</tr>\n<tr>\n<td><code>java_enabled</code></td>\n<td>boolean</td>\n<td>Yes</td>\n<td>Java enabled in browser.</td>\n</tr>\n<tr>\n<td><code>javascript_enabled</code></td>\n<td>boolean</td>\n<td>Yes</td>\n<td>JavaScript enabled in browser.</td>\n</tr>\n<tr>\n<td><code>color_depth</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Screen colour depth.</td>\n</tr>\n<tr>\n<td><code>utc_offset</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>UTC timezone offset (minutes).</td>\n</tr>\n<tr>\n<td><code>screen_width</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Screen width (px).</td>\n</tr>\n<tr>\n<td><code>screen_height</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Screen height (px).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"token-reference-in-response\">Token Reference in Response</h3>\n<ul>\n<li><p><strong>Scenario 1</strong> (New card via S2S): <code>token_reference</code> returned in Check Status and Webhook.</p>\n</li>\n<li><p><strong>Scenario 2</strong> (Existing <code>token_reference</code>): <code>token_reference</code> returned in response and Webhook.</p>\n</li>\n</ul>\n<h3 id=\"important-notes\">Important Notes</h3>\n<ul>\n<li><p>CVC is <strong>required</strong> even when using a <code>token_reference</code>.</p>\n</li>\n<li><p>All browser fields are required for 3D Secure authentication.</p>\n</li>\n<li><p>Response follows the standard Paysecure payment response format.</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"06073ed3-ffd7-4e56-a80c-f7d47269716d","id":"06073ed3-ffd7-4e56-a80c-f7d47269716d","name":"APIs","type":"folder"}},"urlObject":{"path":["api","v1","p","{{brandId}}",""],"host":["https://api.paysecure.net/api/v1"],"query":[{"description":{"content":"<p>Must be \"true\" for server-to-server requests.</p>\n","type":"text/plain"},"key":"s2s","value":"true"}],"variable":[]}},"response":[{"id":"67dad0c8-33c3-450b-aa65-f64b09e0c2ae","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"Token_reference\": \"token_7178aa7208614544a285656da38ae5ac\",\n    \"cvc\": \"791\",\n    \"remember_card\": \"off\",\n    \"remote_ip\": \"203.0.113.121\",\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}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/api/v1/p/6980e509b5e99e61f3bd4ccf/?s2s=true","host":["https://api.paysecure.net/api/v1"],"path":["api","v1","p","6980e509b5e99e61f3bd4ccf",""],"query":[{"key":"s2s","value":"true"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"pending\",\n    \"callback_url\": \"https://api.paysecure.net/api/v1/payment/64b034ecc6dccf7d329d9eb3/\",\n    \"method\": \"GET\"\n}"}],"_postman_id":"e1cbdabe-6a03-4069-a53f-dcfb80b0eb78"},{"name":"Delete Token","id":"e9d0231e-2e17-415b-aa81-8658a29e6318","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/tokens/v1/deleteToken/{{token_reference}}","description":"<h2 id=\"delete-token\">Delete Token</h2>\n<p>Permanently delete a saved card and deactivate the associated network token. <strong>This action is irreversible.</strong></p>\n<h3 id=\"path-parameters\">Path Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>token_reference</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The <code>token_reference</code> of the saved card to delete. Obtained from the List Saved Cards API.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"important-notes\">Important Notes</h3>\n<ul>\n<li><p>Deleting a token is <strong>permanent</strong>. The <code>token_reference</code> can no longer be used for payments.</p>\n</li>\n<li><p>The associated network token is deactivated with the card network.</p>\n</li>\n<li><p>If the customer wants to pay with this card again, they will need to re-enter their card details.</p>\n</li>\n</ul>\n<h3 id=\"when-to-delete\">When to Delete</h3>\n<ul>\n<li><p>Customer explicitly requests removal of their saved card.</p>\n</li>\n<li><p>GDPR or data retention compliance when a customer closes their account.</p>\n</li>\n<li><p>Consider implementing a \"Remove Card\" option in your account management UI.</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"06073ed3-ffd7-4e56-a80c-f7d47269716d","id":"06073ed3-ffd7-4e56-a80c-f7d47269716d","name":"APIs","type":"folder"}},"urlObject":{"path":["tokens","v1","deleteToken","{{token_reference}}"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"5aa1e625-f50e-4dae-b0bb-e38104fab234","name":"Success","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/tokens/v1/deleteToken/token_4ccea9d67d274f3db6e0be6156e09d06"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Token deleted successfully\"\n}"},{"id":"dc4d20b2-0211-4cc6-a697-a8675199ec99","name":"Failure","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/tokens/v1/deleteToken/token_4ccea9d67d274f3db6e0be6156e09d06"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"token_reference does not exist in the system\",\n  \"code\": \"token_reference_invalid\"\n}"}],"_postman_id":"e9d0231e-2e17-415b-aa81-8658a29e6318"},{"name":"PayOut","id":"25cb9c75-9116-4ca8-86b7-b436cbe2cc69","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3069@example.com\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"QLD\",\n        \"full_name\": \"Reese Moreau\",\n        \"street_address\": \"13 Documentation Way\",\n        \"zip_code\": \"68403\",\n        \"phone\": \"+44 9876543210\",\n        \"gender\": \"M\",\n        \"date_of_birth\": \"1970-07-10\"\n    },\n    \"purpose\": \"Testing cards payout\",\n    \"currency\": \"GBP\",\n    \"merchantRef\": \"YOUR ORDER ID\", // optional\n    \"payoutMethod\": \"PAYOUT-CARDS\",\n    \"amount\": 100.0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\n        \"token_reference\": \"token_ref\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payout/","description":"<h2 id=\"overview\">Overview</h2>\n<p>The <strong>Original Credit Transaction (OCT)</strong>, commonly referred to as <strong>Push to Card</strong>, enables merchants to facilitate near-instantaneous fund transfers directly to a customer’s eligible Visa or Mastercard debit or credit card. Unlike traditional refund processes that can only return funds from a previous purchase, OCT allows for independent disbursements of funds to a cardholder's account.</p>\n<p>This feature is designed for high-velocity industries that require frictionless, real-time payouts, such as:</p>\n<ul>\n<li><p><strong>Gaming &amp; Betting:</strong> Real-time withdrawal of player winnings.</p>\n</li>\n<li><p><strong>Marketplaces:</strong> Payouts to sellers or service providers.</p>\n</li>\n<li><p><strong>Corporate Disbursements:</strong> Instant insurance claims, rebates, or compensation payments.</p>\n</li>\n<li><p><strong>Merchant Settlements:</strong> Faster access to processed funds for sub-merchants.</p>\n</li>\n</ul>\n<p>By utilizing the Paysecure <code>/payout</code> API with the <code>PAYOUT-CARDS</code> method, you benefit from a unified orchestration layer that handles the complexities of card network routing, ensuring high success rates and global reach while maintaining the same security standards as your standard payment integrations.</p>\n<hr />\n<h2 id=\"integration-steps\">Integration Steps</h2>\n<ol>\n<li><p><strong>Enable OCT:</strong> Ensure \"Push to Card\" permissions are enabled for your merchant account in the Paysecure Merchant Portal.</p>\n</li>\n<li><p><strong>Collect Card Details:</strong> Use a secure method to collect the recipient's card number and expiry date or can you Paysecure's cashier to do that.</p>\n</li>\n<li><p><strong>Execute Payout:</strong> Call the <code>/payout</code> endpoint with the OCT-specific payout method.</p>\n</li>\n<li><p><strong>Handle Webhooks:</strong> Listen for the <code>paid</code> or <code>failure</code> events to update your internal records.</p>\n</li>\n</ol>\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>Required</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td>Yes</td>\n<td>The customer's email.  <br />Please send it in small case.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>Yes</td>\n<td>The customer's phone number along with the country code.  <br />Example: +91 9634088651</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>Yes</td>\n<td>The customer's city.</td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>Yes</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>Optional</td>\n<td>Example “AL”, “XZ”. Must be in upper case.</td>\n</tr>\n<tr>\n<td>Client.street_address</td>\n<td>Optional</td>\n<td>The customer's address.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>Optional</td>\n<td>The customer's ZIP or postal code. If country=US, zip format must be NNNNN or NNNNN-NNNN.</td>\n</tr>\n<tr>\n<td>currency</td>\n<td>Yes</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />  <br />Please note, the currency has to be enabled by the account manager for your account.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>Yes</td>\n<td>amount 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>payoutMethod</td>\n<td>Optional</td>\n<td>example: PAYOUT-CARDS</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Yes</td>\n<td>URL to send the user if the transactions is successful.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Yes</td>\n<td>URL to send the user if the transactions is in pending.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Yes</td>\n<td>URL to send the user if the transactions is unsuccessful.</td>\n</tr>\n<tr>\n<td>Purpose</td>\n<td>Optional</td>\n<td>The purpose of doing a payout.</td>\n</tr>\n<tr>\n<td>extraParam.token_reference</td>\n<td>Yes</td>\n<td>Paysecure Token</td>\n</tr>\n</tbody>\n</table>\n</div><p>Note:</p>\n<p>If the merchant is not PCI DSS compliant then they will need to use our <strong>cashier</strong> and we will show the user all the saved cards for him/her. Based on the card chosen, Paysecure will pick up the token_reference from our Back end.</p>\n<p>If the merchant is PCI DSS compliant then they can use the payout API and send the token reference as shown above.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"06073ed3-ffd7-4e56-a80c-f7d47269716d","id":"06073ed3-ffd7-4e56-a80c-f7d47269716d","name":"APIs","type":"folder"}},"urlObject":{"path":["payout",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"dee49abe-671d-44f5-a8ac-3c3c48995897","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3069@example.com\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"QLD\",\n        \"full_name\": \"Reese Moreau\",\n        \"street_address\": \"13 Documentation Way\",\n        \"zip_code\": \"68403\",\n        \"phone\": \"+44 9876543210\",\n        \"gender\": \"M\",\n        \"date_of_birth\": \"1970-07-10\"\n    },\n    \"purpose\": \"Testing cards payout\",\n    \"currency\": \"GBP\",\n    \"merchantRef\": \"YOUR ORDER ID\", // optional\n    \"payoutMethod\": \"PAYOUT-CARDS\",\n    \"amount\": 100.0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"extraParam\": {\n        \"token_reference\": \"token_ref\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payout/"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Fri, 13 Mar 2026 00:01:17 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"3ef27476-f274-4f6a-bb18-4c37e01d6dc2"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 05a63efd5ebb043211ccf075f3a8aa68.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"Iw6KuTkxZqm0RH8GJOXAh7uLEPJ6wj8OJbaFWdN_qDx31b5TSinnIA=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=g%2FW8jRMDFXKvTeXNugr1sgR4%2FoTXfyEHsscr3hqeIr2aPhFEVlSs%2FGiTjFw09%2BReVDjxT2esg2Wg0fdBf4oD3snlEv4p1JkITe2l7oLC%2Bkg%3D\"}]}"},{"key":"CF-RAY","value":"9db6c366997196a2-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"payoutId\": \"6977137755e0628e3600c562\",\n    \"client\": {\n        \"email\": \"user3069@example.com\",\n        \"country\": \"GB\",\n        \"city\": \"Milford\",\n        \"stateCode\": \"QLD\",\n        \"full_name\": \"Reese Moreau\",\n        \"street_address\": \"13 Documentation Way\",\n        \"zip_code\": \"68403\",\n        \"phone\": \"+44 9876543210\",\n        \"gender\": \"M\",\n        \"date_of_birth\": \"1970-07-10\"\n    },\n    \"updated_on\": 1769411447,\n    \"extraParam\": {\n        \"token_reference\": \"token_ref\"\n    },\n    \"payoutMethod\": \"PAYOUT-CARDS\",\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 100.0,\n    \"errorMsg\": \"\",\n    \"purpose\": \"Testing cards payout\",\n    \"created_on\": 1769411447,\n    \"merchantRef\": \"YOUR ORDER ID\",\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1769411447\n        },\n        {\n            \"status\": \"payout_in_process\",\n            \"timestamp\": 1769411447\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1769411447\n        },\n\n    ],\n    \"currency\": \"GBP\",\n    \"extraFee\": \"0\",\n    \"paymentOn\": 0,\n    \"checkout_url\": \"https://api.paysecure.net/payout/092e59f94279a3742fa3715fe9a2112a/\",\n    \"taxAmount\": 0.0,\n    \"taxPercent\": 0.0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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    \"redirectType\": \"POST\",\n    \"sessionId\": \"\",\n    \"surcharge\": 0.0,\n    \"surchargeType\": \"\",\n    \"trxMethod\": \"CARDS\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"}],"_postman_id":"25cb9c75-9116-4ca8-86b7-b436cbe2cc69"}],"id":"06073ed3-ffd7-4e56-a80c-f7d47269716d","description":"<p>Network tokenisation in Paysecure uses four APIs. Together they cover the complete flow: retrieving saved cards, initiating a purchase (with card saving), processing payments with saved tokens, and deleting tokens.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"ffc878d0-8f7e-419c-bb3e-ab2ba67649ae"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"90a88ad2-97e5-498d-81ab-35c89e75113e"}}],"_postman_id":"06073ed3-ffd7-4e56-a80c-f7d47269716d"},{"name":"FAQs","item":[],"id":"41eaa838-42cf-49c9-bca4-f1d91d7a0416","description":"<p><strong>Q1: Do I need to change my existing integration to use network tokenisation?</strong><br />No. If you already use the Paysecure Purchase API and the S2S API with token_reference, your integration is already compatible. You just need to enable and configure network tokenisation in your Dashboard (see Section 3).</p>\n<p><strong>Q2: What is a token_reference?</strong><br />A token_reference (e.g., token_7178aa7208614544a285656da38aefac) is Paysecure’s internal identifier for a saved card. You use it to charge the saved card or delete it. It is not the card number or the network token — Paysecure manages those internally.</p>\n<p><strong>Q3: Does the token_reference expire?</strong><br />No. The token_reference does not expire. It remains valid as long as the saved card has not been deleted.</p>\n<p><strong>Q4: What happens when a customer’s card expires or is replaced?</strong></p>\n<p>The card network automatically updates the data linked to the token. Your token_reference stays the same, and payments continue to work without action from you or the customer.</p>\n<p><strong>Q5: Is CVC required even when using a token_reference?</strong><br />Yes. CVC is required even when a token_reference is provided. This is needed for 3D Secure authentication on customer-initiated transactions.</p>\n<p><strong>Q6: What if a card doesn’t support network tokenisation?</strong><br />Paysecure handles this automatically. If a card is not eligible, or if the selected MID does not accept tokens, Paysecure falls back to the card number. The API response and flow remain the same.</p>\n<p><strong>Q7: How long does the token service setup take?</strong><br />After saving your configuration in Dashboard → Global Settings → Paysecure Token Service, the status changes to Pending. It may take up to 1 hour to update to Active. Do not use tokenisation APIs until the status is Active.</p>\n<p><strong>Q8: Are email addresses case-sensitive for token lookup?</strong><br />Yes. Email addresses are case-sensitive. Ensure consistent formatting (always lowercase) when creating and retrieving tokens to avoid duplicate or missing entries.</p>\n<p><strong>Q9: How do I delete a saved card?</strong><br />Use the Delete Token API (DELETE /tokens/v1/deleteToken/{token_reference}). This permanently removes the card and deactivates the network token.</p>\n<p><strong>Q10: Is there an additional cost?</strong><br />Pricing details are communicated by your Paysecure account manager. Some card networks offer reduced interchange fees for tokenised transactions, which may offset service costs.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"652477a5-a721-451b-a07f-d94b445eaaf3"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"14312e68-10e2-47f3-a007-37741ce09678"}}],"_postman_id":"41eaa838-42cf-49c9-bca4-f1d91d7a0416"}],"id":"882ab8c9-37f9-426a-9267-11aca2cc935a","description":"<h2 id=\"overview\">Overview</h2>\n<p>Paysecure supports Network Tokenisation to help merchants process card payments with improved security, higher authorisation rates, and seamless card lifecycle management.</p>\n<p>Network tokenisation works entirely behind the scenes. When a cardholder saves their card during a purchase, Paysecure securely provisions a network token and returns a <code>token_reference</code>. You use this reference for all future payments — you never handle actual card numbers or network tokens directly.</p>\n<h2 id=\"benefits\">Benefits</h2>\n<ul>\n<li><p><strong>Higher Approval Rates</strong> — Payments made with network tokens are recognised as more secure by issuers.</p>\n</li>\n<li><p><strong>Automatic Card Updates</strong> — Card replacements are handled silently by the card network.</p>\n</li>\n<li><p><strong>Stronger Security</strong> — Each token is merchant-specific and protected by a per-transaction cryptogram.</p>\n</li>\n<li><p><strong>Reduced PCI Burden</strong> — Store <code>token_reference</code> instead of card numbers.</p>\n</li>\n<li><p><strong>Zero Integration Overhead</strong> — Your existing API integration works as-is.</p>\n</li>\n</ul>\n<h2 id=\"api-flow\">API Flow</h2>\n<p>Network tokenisation is fully managed by Paysecure. The integration follows the standard Paysecure payment APIs:</p>\n<h3 id=\"the-merchant-flow\">The Merchant Flow</h3>\n<ol>\n<li><p>Call the List Saved Cards API to check if the customer has saved cards</p>\n</li>\n<li><p>If no saved cards exist, initiate a new payment via the Purchase + S2S API<br /> → If the merchant opts to save the customer card, Paysecure provisions a network token<br /> → Customer completes payment<br /> → A token_reference is generated and linked to the customer and card</p>\n</li>\n<li><p>For returning customers with saved cards:<br /> → Display saved cards using cardlast4 from List Saved Cards<br /> → Customer selects a card and provides CVC<br /> → Submit token_reference + CVC via the purchase + S2S API</p>\n</li>\n<li><p>To remove a saved card, call the Delete Token API.</p>\n</li>\n</ol>\n<p>Network tokenisation happens behind the scenes with no additional API calls and no changes to your existing flow.</p>\n<ol>\n<li><p><strong>List Saved Cards</strong> — Check if the customer has saved cards</p>\n</li>\n<li><p><strong>Purchase</strong> — Initiate a new payment (customer can save card during checkout)</p>\n</li>\n<li><p><strong>S2S Payment</strong> — Charge a saved card using <code>token_reference</code></p>\n</li>\n<li><p><strong>Delete Token</strong> — Remove a saved card permanently</p>\n</li>\n</ol>\n<h3 id=\"key-takeaway\">Key Takeaway</h3>\n<p>You never see or handle the actual network token. Paysecure abstracts it entirely behind the token_reference. Your integration stays simple while your customers get the security and reliability benefits of network tokenisation.</p>\n<h2 id=\"environments\">Environments</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Environment</th>\n<th>Base URL</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Sandbox</td>\n<td><code>https://api.paysecure.net/api/v1</code>  <br />Note: set the Sandbox flag true (checked) in your merchant account. As shown in the image below</td>\n</tr>\n<tr>\n<td>Production</td>\n<td><code>https://api.paysecure.net/api/v1</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"f58e55ad-b2b0-4ede-b1ef-eef1c9c4e451"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"132be32a-f94e-4f3e-8cfe-dd0bc3c11ef4"}}],"_postman_id":"882ab8c9-37f9-426a-9267-11aca2cc935a"},{"name":"Pre Authorization","item":[{"name":"Prerequisites","item":[],"id":"7d050686-d012-413d-a2b7-5c640fb14339","description":"<p>Before integrating the pre-authorisation flow, ensure you have the following:</p>\n<h3 id=\"21-account-setup\"><strong>2.1 Account Setup</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Requirement</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Paysecure Merchant Account</td>\n<td>An active merchant account with API access enabled.</td>\n</tr>\n<tr>\n<td>API Key</td>\n<td>Your unique API key, available from Dashboard → API Keys.</td>\n</tr>\n<tr>\n<td>Brand ID</td>\n<td>Your brand identifier, found in Dashboard → Account Settings.</td>\n</tr>\n<tr>\n<td>Webhook URL (Recommended)</td>\n<td>A publicly accessible HTTPS endpoint to receive transaction status updates.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"22-environments\"><strong>2.2 Environments</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Environment</th>\n<th>Base URL</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Sandbox</td>\n<td><a href=\"https://api.paysecure.net/api/v1\">https://api.paysecure.net/api/v1</a></td>\n<td>Set the Sandbox flag to true in your merchant account.</td>\n</tr>\n<tr>\n<td>Production</td>\n<td><a href=\"https://api.paysecure.net/api/v1\">https://api.paysecure.net/api/v1</a></td>\n<td>Live transactions. Ensure KYB verification is complete.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"23-authentication\"><strong>2.3 Authentication</strong></h3>\n<p>All API requests must include your API key in the request header.<br />Paysecure uses bearer token authentication.</p>\n<p>Authorization: Bearer {your_api_key}</p>\n<p>Content-Type: application/json</p>\n<p>Important: Never expose your API key in client-side code or public repositories. All API calls must be made server-to-server.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"817e3740-d54b-4538-913c-a6a14ee069df"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"bed7acf1-a443-4589-a50f-034cff4ef601"}}],"_postman_id":"7d050686-d012-413d-a2b7-5c640fb14339"},{"name":"Payment Flow Overview","item":[],"id":"42a86dbd-695c-42bf-960e-f29a86f57b51","description":"<p>The pre-authorisation and capture flow involves three distinct stages. Below is a high-level summary of each path the transaction can follow after authorisation.</p>\n<h2 id=\"31-flow-summary\">3.1 Flow Summary</h2>\n<p>Step 1 - The merchant sends a pre-authorisation request to reserve funds on the customer’s card. If successful, the transaction enters an AUTHORISED state.</p>\n<p>Step 2a (Capture Path) - The merchant sends a capture request for the full or partial authorised amount. On success, the transaction moves to CAPTURED and funds are settled.</p>\n<p>Step 2b (Void Path) - If the merchant no longer needs to collect the payment, they send a void request. The hold is released and the transaction moves to VOIDED.</p>\n<h2 id=\"32-state-transition-diagram\"><strong>3.2 State Transition Diagram</strong></h2>\n<p>The following diagram describes all possible states:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>From State</strong></th>\n<th><strong>Action</strong></th>\n<th><strong>To State (Terminal)</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>CREATED</td>\n<td>Pre-Authorise</td>\n<td>PREAUTHORIZED</td>\n<td>Funds are held on the customer’s card.</td>\n</tr>\n<tr>\n<td>PREAUTHORIZED</td>\n<td>Capture (Full)</td>\n<td>PAID</td>\n<td>Full authorised amount is settled.</td>\n</tr>\n<tr>\n<td>PREAUTHORIZED</td>\n<td>Capture (Partial)</td>\n<td>PARTIALLY_CAPTURED</td>\n<td>Part of the authorised amount is settled; remainder released.</td>\n</tr>\n<tr>\n<td>PREAUTHORIZED</td>\n<td>Void</td>\n<td>CANCELLED</td>\n<td>Hold is released. No funds are collected.</td>\n</tr>\n<tr>\n<td>PREAUTHORIZED</td>\n<td>(Expiry)</td>\n<td>EXPIRED</td>\n<td>Authorisation window elapsed without capture. Funds auto-released. 30 days default.</td>\n</tr>\n<tr>\n<td>PAID</td>\n<td>Refund</td>\n<td>REFUNDED</td>\n<td>Post-capture return of funds (separate API).</td>\n</tr>\n<tr>\n<td>PARTIALLY_CAPTURED</td>\n<td>Refund</td>\n<td>PARTIALLY_REFUNDED</td>\n<td>Post partial capture return of funds (separate API).</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>ℹ️ Note</strong></p>\n<p>Once a transaction is PAID or VOIDED, it cannot be reversed through this flow. Use the Refund API for post-capture reversals.</p>\n<h2 id=\"33-authorisation-validity-periods\"><strong>3.3 Authorisation Validity Periods</strong></h2>\n<p>Card networks enforce maximum hold periods. If you do not capture within the validity window, the authorisation expires automatically and funds are released.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Card Scheme</strong></th>\n<th><strong>Standard Hold Period</strong></th>\n<th><strong>Extended Hold (if available)</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Visa</td>\n<td>7 days</td>\n<td>Up to 30 days (select MCCs)</td>\n</tr>\n<tr>\n<td>Mastercard</td>\n<td>7 days</td>\n<td>Up to 30 days (select MCCs)</td>\n</tr>\n<tr>\n<td>American Express</td>\n<td>7 days</td>\n<td>Up to 30 days</td>\n</tr>\n<tr>\n<td>Discover</td>\n<td>10 days</td>\n<td><strong>N/A</strong></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>⚠️ Best Practice</strong></p>\n<p>Capture as soon as the order is ready to ship or the service is delivered. Delaying capture increases the risk of authorisation expiry and declines.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"fe225910-53d1-4b97-b14a-3c4d06ebea8a"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"71fa1d21-2e29-449d-b953-d0c20fc3ba15"}}],"_postman_id":"42a86dbd-695c-42bf-960e-f29a86f57b51"},{"name":"APIs","item":[{"name":"Purchase","id":"169fad61-d2ef-4328-8e73-c3006fb55e8c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user6085@example.com\",\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\": \"+91 9999999999\"\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\": \"your-brand-id\",\r\n    \"skip_capture\": true,\r\n    \"merchantRef\": \"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/api/v1/purchases","description":"<p>Use this endpoint to authorise a payment without capturing it. This places a temporary hold on the customer’s funds for the specified amount.</p>\n<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>The customer's email.</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>The customer's city.</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>The customer's address.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>The customer's ZIP or postal code. If country=US, zip format must be NNNNN or NNNNN-NNNN.</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 />  <br />Please note, the currency has to be enabled by the account manager for your account.</td>\n</tr>\n<tr>\n<td>purchase.products</td>\n<td>An object which contains the list of products which the customer is buying.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>The name of the product.</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>pending_redirect</td>\n<td>URL to send the user if the transactions is in pending.</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><h3 id=\"additional-parameters-for-this-usecase\"><strong>Additional parameters for this usecase:</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>skip_capture</td>\n<td>true</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 Paysecure will perform direct payment with the selected payment method instead of loading Paysecure 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</tr>\n</thead>\n<tbody>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n</tr>\n<tr>\n<td>some Mandatory Parameter are missing</td>\n</tr>\n<tr>\n<td>Invalid format of Date_of_Birth [allowed format: yyyy-mm-dd]</td>\n</tr>\n<tr>\n<td>Invalid Email Format</td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n</tr>\n<tr>\n<td>Merchant Limit is not set</td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n</tr>\n<tr>\n<td>Brand not found !</td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n</tr>\n<tr>\n<td>Only {{currencyCode}} currency is allowed.</td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n</tr>\n<tr>\n<td>Invalid_Parameter  <br />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":"noauth","isInherited":true,"source":{"_postman_id":"26fd5c4c-6caf-4650-95b7-005bd6be3de0","id":"26fd5c4c-6caf-4650-95b7-005bd6be3de0","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"628f0671-6d60-434b-8b57-ac352c05d467","name":"Purchase","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"user6085@example.com\",\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\": \"+91 9999999999\"\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\": \"your-brand-id\",\r\n    \"skip_capture\": true,\r\n    \"merchantRef\": \"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"pending_redirect\": \"https://your.pending.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://api.paysecure.net/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\": \"user9283@example.com\",\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\": \"your-brand-id\",\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\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.133\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/64b032c3c6dccf7d329d9e7e/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/64b032c3c6dccf7d329d9e7e/\"\n}"}],"_postman_id":"169fad61-d2ef-4328-8e73-c3006fb55e8c"},{"name":"S2S","id":"1878af20-793a-45b9-9958-cf48133cd43a","protocolProfileBehavior":{"disableUrlEncoding":false,"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"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\": \"203.0.113.121\",\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://api.paysecure.net/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>remote_ip</td>\n<td>IP address of the customer’s device used for transaction. Helps in fraud checks and risk scoring. Ex- 203.0.113.42</td>\n</tr>\n<tr>\n<td>user_agent</td>\n<td>Full browser and operating system details captured from HTTP header. EX- Chrome/5.0 (X11; Linux x86_64)</td>\n</tr>\n<tr>\n<td>accept_header</td>\n<td>Browser’s accepted content types (from HTTP header). Used for validating request origin and device info. EX- text/html</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong><br />If you want to use token_reference for doing a card transaction, please have a look at Network Tokenisation Section.</p>\n<h3 id=\"essential-parameters-in-request-body\"><strong>Essential 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>Name of the cardholder</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</tbody>\n</table>\n</div><p>**<br />Other optional parameters in request body:**</p>\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>language</td>\n<td>Preferred language of the user’s browser . EX - en-US</td>\n</tr>\n<tr>\n<td>java_enabled</td>\n<td>Indicates if Java is enabled in the browser. Helps PSPs in device profiling. Ex- true/false</td>\n</tr>\n<tr>\n<td>javascript_enabled</td>\n<td>Indicates if JavaScript is enabled in the client browser. Used for 3DS or risk-based checks. Ex- true</td>\n</tr>\n<tr>\n<td>color_depth</td>\n<td>Bit depth of the display screen. Ex- 24</td>\n</tr>\n<tr>\n<td>utc_offset</td>\n<td>Difference in minutes between local time and UTC. Used for location and timezone checks. Ex- 330</td>\n</tr>\n<tr>\n<td>screen_width</td>\n<td>Width of the device screen in pixels. Used in device profiling. Ex- 1920</td>\n</tr>\n<tr>\n<td>screen_height</td>\n<td>Height of the device screen in pixels. Ex- 1080</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://api.paysecure.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<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":"26fd5c4c-6caf-4650-95b7-005bd6be3de0","id":"26fd5c4c-6caf-4650-95b7-005bd6be3de0","name":"APIs","type":"folder"}},"urlObject":{"path":["p","64bff4fff63e36669499e9c8",""],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"s2s","value":"true"}],"variable":[]}},"response":[{"id":"c7060a40-180d-42c9-be29-78e012ba097f","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"cardholder_name\": \"dk\",\r\n    \"card_number\": \"411111111111111\",\r\n    \"expires\": \"10/23\",\r\n    \"cvc\": \"345\",\r\n    \"remember_card\": \"on\",\r\n    \"remote_ip\": \"203.0.113.121\",\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":{"raw":"https://api.paysecure.net/api/v1/p/64bff4fff63e36669499e9c8/?s2s=true","host":["https://api.paysecure.net/api/v1"],"path":["p","64bff4fff63e36669499e9c8",""],"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\": \"https://api.paysecure.net/api/v1/payment/64b034ecc6dccf7d329d9eb3/\",\n    \"method\": \"GET\"\n}"},{"id":"8460ab80-d383-4df4-a81f-21463fea2d28","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"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\": \"203.0.113.121\",\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":{"raw":"https://api.paysecure.net/api/v1/p/64bff4fff63e36669499e9c8/?s2s=true","host":["https://api.paysecure.net/api/v1"],"path":["p","64bff4fff63e36669499e9c8",""],"query":[{"key":"s2s","value":"true"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Tue, 06 Jan 2026 05:57:10 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"cc434220-0bcd-42c7-9078-53503b81a221"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 9bce423254194c16408d5cf7234126e2.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"FgTt6KEGIk0CH79DQDOvB1tYb1pGfaz0ryIVmQ0CCpDShyhsJGuAkA=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=9SnHJOEjnd1y7hArGsRLWmrk8H9ExaiR%2Fc%2BQMWhAvHlNPYCNEjS60wTjIyODXpca0ZD9%2BalkhLJ63boMGg%2B8iI6eFtXfW%2BxwGaBP1p1ZcwpA\"}]}"},{"key":"CF-RAY","value":"9b98f9f4684505e7-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Authorization header missing\",\n    \"code\": \"authentication_failed\"\n}"}],"_postman_id":"1878af20-793a-45b9-9958-cf48133cd43a"},{"name":"Capture","id":"f40840e6-be9b-4c8f-8e81-3249c4430041","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"merchant_reference\": \"64534345\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/69cd26b053d7b783ebf6b6e9/capture","description":"<p>After a successful pre-authorisation, use this endpoint to capture (settle) the held funds. You may capture the full authorised amount or a partial amount.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"26fd5c4c-6caf-4650-95b7-005bd6be3de0","id":"26fd5c4c-6caf-4650-95b7-005bd6be3de0","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases","69cd26b053d7b783ebf6b6e9","capture"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"1f744620-b31e-4260-a920-d09f07b47dc6","name":"Capture","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"merchant_reference\": \"64534345\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/69cd26b053d7b783ebf6b6e9/capture"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Wed, 01 Apr 2026 17:16:51 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"72818dba-381a-449a-8351-390453ddbf72"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 3578d122de1401ebc52a7afd35dd5d0c.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"zEG99N28vChcugkKEe-mJxhNgum-PAK1lcn_2mKqagcBd5deWquIjw=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=EnQbeJo0VkBTF%2BqefkY%2BZ1OejkL%2BkIkR76eA5%2FtL3qaxYlOL1ehFjmSIpGl5i91OldfFB41NXeRXp3E43WxFSEhlUj7OgOqbI6eYZs%2B%2BcUBdewUDmvk46tJrDA5WO53Bib8q\"}]}"},{"key":"CF-RAY","value":"9e593e77fb953ec9-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"purchaseId\": \"69cd361053d7b783ebf7324d\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user7694@example.com\",\n        \"full_name\": \"Riley Haddad\",\n        \"date_of_birth\": \"1800-01-01\",\n        \"street_address\": \"123\",\n        \"country\": \"ZM\",\n        \"city\": \"Ashford\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"CA\"\n    },\n    \"updated_on\": 1775056447,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"MASTER,VISA,VIRTUAL-IBAN,CRYPTO-WALLET,MAYA,GCASH,QRPH,BANKTRANSFER,NETBANKING,UPI-QR,PAYPLAY,UPI-INTENT,MOBILEMONEY,GOOGLEPAY,APPLEPAY\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1775056400,\n    \"extraParam\": {\n        \"aft\": {\n            \"account_owner_address1\": \"test\",\n            \"account_owner_address2\": \"test\",\n            \"account_owner_street\": \"test\",\n            \"account_owner_postal_code\": \"123\",\n            \"account_owner_city\": \"test\",\n            \"account_owner_country\": \"UK\",\n            \"merchant_postal_code\": \"123\",\n            \"merchant_state\": \"FRA\",\n            \"acceptor_legal_name\": \"test\",\n            \"sender_address\": \"test\",\n            \"sender_city\": \"test\",\n            \"sender_state\": \"RJ\",\n            \"sender_country\": \"FRA\",\n            \"sender_name\": \"test\",\n            \"sender_account_number\": \"test\",\n            \"recipient_name\": \"test\",\n            \"bai\": \"AA\"\n        }\n    },\n    \"merchantRef\": \"69cd361053d7b783ebf7324d\",\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"gaming cards\",\n                \"quantity\": 1.0,\n                \"price\": 10.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 10.0,\n        \"requestAmount\": 10.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"taxAmount\": 0.0,\n        \"taxPercent\": 0.0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 10.0,\n        \"currency\": \"EUR\",\n        \"net_amount\": 10.0,\n        \"fee_amount\": 0.0,\n        \"pending_amount\": 0.0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1775056410,\n        \"remote_paid_on\": 1775056410\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\": \"ECOMTEST1\",\n        \"brand_name\": \"ECOMTEST1\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"12\",\n            \"amount\": 10.0,\n            \"card_issuer\": \"ING BELGIUM, S.A.\",\n            \"masked_pan\": \"46401701****6658\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"BE\",\n            \"card_type\": \"CREDIT\",\n            \"cardholder_name\": \"Emerson Okafor\",\n            \"expiry_year\": \"28\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.234\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"BE\",\n                \"processing_time\": 1775056410,\n                \"extra\": {\n                    \"expiry_month\": \"12\",\n                    \"amount\": 10.0,\n                    \"card_issuer\": \"ING BELGIUM, S.A.\",\n                    \"masked_pan\": \"46401701****6658\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"BE\",\n                    \"card_type\": \"CREDIT\",\n                    \"cardholder_name\": \"Emerson Okafor\",\n                    \"expiry_year\": \"28\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1775056400\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1775056410\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1775056410\n        },\n        {\n            \"status\": \"3DS success\",\n            \"timestamp\": 1775056424\n        },\n        {\n            \"status\": \"preauthorized\",\n            \"timestamp\": 1775056428\n        },\n        {\n            \"status\": \"capture_in_process\",\n            \"timestamp\": 1775056447\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1775056447\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": true,\n    \"reference_generated\": \"PS1673\",\n    \"issued\": \"2026-04-01\",\n    \"due\": 1775056400,\n    \"refund_upto\": 1776089649,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"extraFee\": \"0\",\n    \"pix_payload\": {},\n    \"payInDetails\": {},\n    \"paidOn\": 1775056449,\n    \"receivedAmt\": 0.0,\n    \"captureTxns\": [\n        {\n            \"captureId\": \"41e31f9f-1e98-4f4d-b48c-7d1ed488fc3f\",\n            \"purchaseId\": \"69cd361053d7b783ebf7324d\",\n            \"amount\": 10.0,\n            \"fxAmount\": 10.0,\n            \"status\": \"PAID\",\n            \"pspReference\": null,\n            \"merchantReference\": \"64534345\",\n            \"createdAt\": 1775056447,\n            \"updatedAt\": 1775056447,\n            \"whiteId\": 0,\n            \"fxCurrency\": \"EUR\",\n            \"bankMid\": \"payneticsexternal3ds\",\n            \"isTest\": false,\n            \"currency\": \"EUR\",\n            \"amountInUsd\": 11.85,\n            \"merchantName\": \"KailashMerchant\",\n            \"bankName\": \"paynatics-aft_\",\n            \"bankId\": \"532\",\n            \"trxMethod\": \"CARDS\",\n            \"rollingReserve\": 0.0,\n            \"transFees\": 0.0,\n            \"mdr\": 0.0,\n            \"isSettlementPending\": 0,\n            \"parentId\": 0,\n            \"transSettlementId\": null,\n            \"errorSettlementId\": null,\n            \"merchantId\": \"589\"\n        }\n    ],\n    \"taxAmount\": 0.0,\n    \"surcharge\": 0.0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 10.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\": \"203.0.113.234\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/47395a8217d29014a4af6b1c494ac06b/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/69cd361053d7b783ebf7324d/\",\n    \"payoutProcess\": false\n}"}],"_postman_id":"f40840e6-be9b-4c8f-8e81-3249c4430041"},{"name":"Cancel","id":"c408ba2b-930b-454f-8862-6b5e1ad48753","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/purchases/69ca76dbace4fa4413db928c/cancel","description":"<p>Use this endpoint to cancel an authorised payment before it has been captured. Voiding releases the held funds back to the customer immediately.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"26fd5c4c-6caf-4650-95b7-005bd6be3de0","id":"26fd5c4c-6caf-4650-95b7-005bd6be3de0","name":"APIs","type":"folder"}},"urlObject":{"path":["purchases","69ca76dbace4fa4413db928c","cancel"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"4d46a0bd-71bd-4adc-a970-4830b688f843","name":"Cancel","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"}],"url":"https://api.paysecure.net/api/v1/purchases/69ca76dbace4fa4413db928c/cancel"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Wed, 01 Apr 2026 17:18:25 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"1c9b7d67-8dec-4e71-b35b-7952f23b67ed"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 8bd3b44b8e417f2b75cd6e631907112a.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"WSuVRaHm9E64itnjsFWAyBSPCR8YOFpZr7jY-NAhT-Ae-3_bc-hNTw=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=%2FOrvZsMz3WoHOQDEvKgGSADamNtnaGrILftqtr5BiqYIlUvgXZT89lPPwyXtpIDJW8BNOXjG%2FgAQmYnOUsUpQZ%2BDIVJsSDsxo4FxOEgIKcxPYcG21xgzcTNpNqbnk%2Fnw%2FEki\"}]}"},{"key":"CF-RAY","value":"9e5940bd580a07ed-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"purchaseId\": \"69cd36c353d7b783ebf743e9\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"user7694@example.com\",\n        \"full_name\": \"Riley Haddad\",\n        \"date_of_birth\": \"1800-01-01\",\n        \"street_address\": \"123\",\n        \"country\": \"ZM\",\n        \"city\": \"Ashford\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"CA\"\n    },\n    \"updated_on\": 1775056649,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"MASTER,VISA,VIRTUAL-IBAN,CRYPTO-WALLET,MAYA,GCASH,QRPH,BANKTRANSFER,NETBANKING,UPI-QR,PAYPLAY,UPI-INTENT,MOBILEMONEY,GOOGLEPAY,APPLEPAY\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"errorCode\": \"NA\",\n    \"force_recurring\": false,\n    \"created_on\": 1775056579,\n    \"extraParam\": {\n        \"aft\": {\n            \"account_owner_address1\": \"test\",\n            \"account_owner_address2\": \"test\",\n            \"account_owner_street\": \"test\",\n            \"account_owner_postal_code\": \"123\",\n            \"account_owner_city\": \"test\",\n            \"account_owner_country\": \"UK\",\n            \"merchant_postal_code\": \"123\",\n            \"merchant_state\": \"FRA\",\n            \"acceptor_legal_name\": \"test\",\n            \"sender_address\": \"test\",\n            \"sender_city\": \"test\",\n            \"sender_state\": \"RJ\",\n            \"sender_country\": \"FRA\",\n            \"sender_name\": \"test\",\n            \"sender_account_number\": \"test\",\n            \"recipient_name\": \"test\",\n            \"bai\": \"AA\"\n        }\n    },\n    \"merchantRef\": \"69cd36c353d7b783ebf743e9\",\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"gaming cards\",\n                \"quantity\": 1.0,\n                \"price\": 10.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 10.0,\n        \"requestAmount\": 10.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"taxAmount\": 0.0,\n        \"taxPercent\": 0.0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 10.0,\n        \"currency\": \"EUR\",\n        \"net_amount\": 10.0,\n        \"fee_amount\": 0.0,\n        \"pending_amount\": 0.0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1775056600,\n        \"remote_paid_on\": 1775056600\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\": \"ECOMTEST1\",\n        \"brand_name\": \"ECOMTEST1\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"12\",\n            \"amount\": 10.0,\n            \"card_issuer\": \"JPMORGAN CHASE BANK, N.A.\",\n            \"masked_pan\": \"42000000****0000\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"US\",\n            \"card_type\": \"CREDIT\",\n            \"cardholder_name\": \"Emerson Okafor\",\n            \"expiry_year\": \"28\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.234\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"US\",\n                \"processing_time\": 1775056600,\n                \"extra\": {\n                    \"expiry_month\": \"12\",\n                    \"amount\": 10.0,\n                    \"card_issuer\": \"JPMORGAN CHASE BANK, N.A.\",\n                    \"masked_pan\": \"42000000****0000\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"US\",\n                    \"card_type\": \"CREDIT\",\n                    \"cardholder_name\": \"Emerson Okafor\",\n                    \"expiry_year\": \"28\"\n                }\n            }\n        ]\n    },\n    \"status\": \"CANCELLED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1775056579\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1775056600\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1775056600\n        },\n        {\n            \"status\": \"3DS success\",\n            \"timestamp\": 1775056607\n        },\n        {\n            \"status\": \"preauthorized\",\n            \"timestamp\": 1775056611\n        },\n        {\n            \"status\": \"void_in_process\",\n            \"timestamp\": 1775056632\n        },\n        {\n            \"status\": \"preauthorized\",\n            \"timestamp\": 1775056632\n        },\n        {\n            \"status\": \"void_in_process\",\n            \"timestamp\": 1775056647\n        },\n        {\n            \"status\": \"cancelled\",\n            \"timestamp\": 1775056649\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": true,\n    \"reference_generated\": \"PS1675\",\n    \"issued\": \"2026-04-01\",\n    \"due\": 1775056579,\n    \"refund_upto\": 1776089849,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"extraFee\": \"0\",\n    \"pix_payload\": {},\n    \"payInDetails\": {},\n    \"paidOn\": 0,\n    \"receivedAmt\": 0.0,\n    \"taxAmount\": 0.0,\n    \"surcharge\": 0.0,\n    \"surchargeType\": \"\",\n    \"sessionId\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 10.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\": \"203.0.113.234\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/23182fc42998cb02b4a3e6aa5c3e26c8/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/69cd36c353d7b783ebf743e9/\",\n    \"payoutProcess\": false\n}"}],"_postman_id":"c408ba2b-930b-454f-8862-6b5e1ad48753"}],"id":"26fd5c4c-6caf-4650-95b7-005bd6be3de0","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"01baf5ad-2b3d-4ff8-9b49-fc3b41b3244d"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"8ccf337b-64b0-4793-bcc6-8e363d5794bc"}}],"_postman_id":"26fd5c4c-6caf-4650-95b7-005bd6be3de0","description":""},{"name":"Transaction Status Lifecycle","item":[],"id":"22c91d72-b700-449a-b033-f089bb14b65d","description":"<p>Every payment processed through the pre-authorisation flow passes through a series of statuses. Understanding these statuses is critical for building robust integrations.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Description</th>\n<th>Available Actions</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>CREATED</td>\n<td>Transactions are initiated by merchants.</td>\n<td>Open checkout url</td>\n</tr>\n<tr>\n<td>PENDING_EXECUTE</td>\n<td>Transaction is in processing</td>\n<td>Wait</td>\n</tr>\n<tr>\n<td>PAYMENT_IN_PROCESS</td>\n<td>Transaction is being processed by the payment network.</td>\n<td>Wait</td>\n</tr>\n<tr>\n<td>PREAUTHORIZED</td>\n<td>Funds have been successfully held. Ready for capture or void.</td>\n<td>Capture, Void</td>\n</tr>\n<tr>\n<td>CAPTURE_IN_PROCESS</td>\n<td>Capture has been inititated and is in process.</td>\n<td>Wait</td>\n</tr>\n<tr>\n<td>PAID</td>\n<td>Full authorised amount has been settled to the merchant.</td>\n<td>Refund, Partial Refund</td>\n</tr>\n<tr>\n<td>PARTIALLY_CAPTURED</td>\n<td>A portion of the authorised amount was captured. Remainder released.</td>\n<td>Refund (on captured amount), Partial Refund</td>\n</tr>\n<tr>\n<td>VOID_IN_PROCESS</td>\n<td>Authorisation was cancelled before capture and it is in process</td>\n<td>None</td>\n</tr>\n<tr>\n<td>CANCELLED</td>\n<td>Authorisation was cancelled before capture. Funds released.</td>\n<td>None</td>\n</tr>\n<tr>\n<td>EXPIRED</td>\n<td>Authorisation expired without capture. Funds auto-released.</td>\n<td>None</td>\n</tr>\n<tr>\n<td>ERROR</td>\n<td>A processing error occurred during the preauthorisation step</td>\n<td>Retry Preauth</td>\n</tr>\n<tr>\n<td>REFUNDED</td>\n<td>Post-capture return of funds (separate API).</td>\n<td>None</td>\n</tr>\n<tr>\n<td>PARTIAL_REFUNDED</td>\n<td>Post-capture return of partial funds (separate API).</td>\n<td>Partial Refund</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"22c91d72-b700-449a-b033-f089bb14b65d"},{"name":"Best Practices","item":[],"id":"3d1e8614-a4ad-48e6-be15-219589386419","description":"<h2 id=\"capture-timing\">Capture Timing</h2>\n<p>Capture payments as soon as the goods are shipped or the service is delivered. The longer you wait, the higher the risk of authorisation expiry, customer disputes, and declined captures.</p>\n<h2 id=\"idempotency\">Idempotency</h2>\n<p>Always include the X-Idempotency-Key header for all write operations (authorise, capture, void). This protects against duplicate transactions caused by network timeouts or retries.</p>\n<h2 id=\"webhook-driven-architecture\">Webhook-Driven Architecture</h2>\n<p>Do not rely solely on synchronous API responses for business logic. Implement webhook handlers to receive real-time status updates and use them as the source of truth for transaction state in your system.</p>\n<h2 id=\"error-handling\">Error Handling</h2>\n<p>Implement retry logic with exponential backoff for 5xx errors and 429 (rate limit) responses. For 4xx errors, parse the error response body and handle each error code appropriately in your application logic.</p>\n<h2 id=\"pci-compliance\">PCI Compliance</h2>\n<p>If you are handling raw card numbers, you must be PCI DSS Level 1 certified. Paysecure strongly recommends using tokenised payment methods to minimise your PCI scope. Use the Paysecure Cashier or client-side SDK to tokenise card details before they reach your server.</p>\n<h2 id=\"reconciliation\">Reconciliation</h2>\n<p>Use the reference field on authorise, capture, and void requests to associate Paysecure transactions with your internal order system. The balances object in every response provides a real-time breakdown for reconciliation.</p>\n<h2 id=\"3d-secure\">3D Secure</h2>\n<p>Enable 3DS for all pre-authorisation requests where supported. This shifts fraud liability to the card issuer and reduces chargebacks. Paysecure supports 3DS 2.x with frictionless and challenge flows.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"7c33ad6c-f21c-4449-9481-dbd861a31ffe"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"83f586ea-caa8-4a72-82b6-e8d480332409"}}],"_postman_id":"3d1e8614-a4ad-48e6-be15-219589386419"},{"name":"Frequently Asked Questions","item":[],"id":"66a37eda-b8ee-496b-b9ca-dcc5ce80677c","description":"<p><strong>Q: Can I capture more than the authorised amount?</strong></p>\n<p><strong>A: No. The capture amount must be less than or equal to the authorised amount. If you need to charge more, you must create a new authorisation for the additional amount.</strong></p>\n<p><strong>Q: Can I perform multiple partial captures on a single authorisation?</strong></p>\n<p><strong>A: Yes. Paysecure supports multiple captures per authorisation. But you will need to contact the support team for enabling the same.</strong> </p>\n<p><strong>Q: What happens if I do not capture before the authorisation expires?</strong></p>\n<p><strong>A: The authorisation automatically expires and the held funds are released back to the customer. You will receive a payment.expired webhook event. You must create a new authorisation to charge the customer.</strong></p>\n<p><strong>Q: Can I void a payment after it has been captured?</strong></p>\n<p><strong>A: No. Once a payment is captured, you must use the Refund API to return funds. The void endpoint only works for payments in AUTHORISED status.</strong></p>\n<p><strong>Q: How long does a void take to reflect on the customer’s statement?</strong></p>\n<p><strong>A: Typically, the hold is removed within 1–3 business days, depending on the issuing bank. Some banks may take up to 7 days to release the hold.</strong></p>\n<p><strong>Q: Does the customer see the pre-authorisation on their statement?</strong></p>\n<p><strong>A: Yes. The customer will see a pending charge for the authorised amount. This pending charge is released upon void or expiry, or replaced by the final charge upon capture.</strong></p>\n<p><strong>Q: Can I use pre-authorisation with non-card payment methods?</strong></p>\n<p><strong>A: Pre-authorisation is primarily supported for card payments. Support for alternative payment methods varies. Check the Paysecure payment methods documentation for details.</strong></p>\n<p><strong>Q: Is 3D Secure required for pre-authorisations?</strong></p>\n<p><strong>A: 3DS is not required but is strongly recommended. It reduces fraud liability and chargeback risk. Paysecure supports 3DS on all card pre-authorisation requests.</strong></p>\n","_postman_id":"66a37eda-b8ee-496b-b9ca-dcc5ce80677c"}],"id":"2b754ad4-d6a4-4a6a-a269-a0214113e3e6","description":"<h1 id=\"overview\"><strong>Overview</strong></h1>\n<p>Pre-authorisation (also known as \"auth only\") is a two-step payment process where a merchant first reserves (holds) funds on a customer’s payment method without immediately capturing the amount. This allows the merchant to verify fund availability before fulfilling an order, then capture (settle) the payment at a later time — or void (cancel) the hold if the order is not fulfilled.</p>\n<h2 id=\"when-to-use-pre-authorisation\"><strong>When to Use Pre-Authorisation</strong></h2>\n<p>Pre-authorisation is ideal for scenarios where the final transaction amount may change, or where goods/services are not delivered immediately. Common use cases include:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Use Case</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>E-Commerce</td>\n<td>Authorise at checkout; capture when the order ships. Void if the item is out of stock.</td>\n</tr>\n<tr>\n<td>Hospitality</td>\n<td>Pre-authorise the estimated room charge at check-in; adjust and capture at checkout.</td>\n</tr>\n<tr>\n<td>Car Rentals</td>\n<td>Hold the estimated rental cost; capture the final amount upon vehicle return.</td>\n</tr>\n<tr>\n<td>Subscriptions</td>\n<td>Verify the card with a pre-auth before activating a trial; capture when billing begins.</td>\n</tr>\n<tr>\n<td>Marketplaces</td>\n<td>Authorise the buyer’s funds; capture once the seller confirms dispatch.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"key-concepts\"><strong>Key Concepts</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Term</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Pre-Authorisation</td>\n<td>A transaction that reserves funds on the customer’s card without settling them. Also called \"auth only\" or \"manual capture\".</td>\n</tr>\n<tr>\n<td>Capture</td>\n<td>The action of claiming the previously authorised funds. Can be full or partial.</td>\n</tr>\n<tr>\n<td>Partial Capture</td>\n<td>Capturing less than the originally authorised amount. The remaining balance is automatically released.</td>\n</tr>\n<tr>\n<td>Void</td>\n<td>Cancelling a pre-authorised transaction before capture, releasing the held funds back to the customer.</td>\n</tr>\n<tr>\n<td>Authorisation Expiry</td>\n<td>The time window during which a pre-auth remains valid. Typically 7–30 days depending on card scheme and MCC.</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"2b754ad4-d6a4-4a6a-a269-a0214113e3e6"},{"name":"Get Balance API (V2)","item":[{"name":"Checking Balance","id":"f9d34d0e-464b-4db2-a9ca-dcadb7240b88","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"PAYOUT-INTERAC-ETRANSFER\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/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":"noauth","isInherited":true,"source":{"_postman_id":"995609b1-ecff-4d1b-b3c5-5fa6659b9134","id":"995609b1-ecff-4d1b-b3c5-5fa6659b9134","name":"Get Balance API (V2)","type":"folder"}},"urlObject":{"path":["getBalance"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"31b623c8-26ec-47b8-b86b-a1dd3616c438","name":"Checking Balance payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"PAYOUT-INTERAC-ETRANSFER\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/getBalance"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"paymentMethod\": \"PAYOUT-INTERAC-ETRANSFER\",\n    \"status\": \"success\",\n    \"gateways\": [\n        {\n            \"gatewayName\": \"payhost\",\n            \"status\": \"success\",\n            \"error\": null,\n            \"balances\": [\n                {\n                    \"currency\": \"CAD\",\n                    \"balance\": 808.380000\n                },\n                {\n                    \"currency\": \"USD\",\n                    \"balance\": 803.380000\n                }\n            ]\n        },\n        {\n            \"gatewayName\": \"samplepaypg\",\n            \"status\": \"success\",\n            \"error\": null,\n            \"balances\": [\n                {\n                    \"currency\": \"CAD\",\n                    \"balance\": 808.380000\n                },\n                {\n                    \"currency\": \"USD\",\n                    \"balance\": 808.380000\n                }\n            ]\n        }\n    ],\n    \"aggregatedBalances\": [\n        {\n            \"currency\": \"CAD\",\n            \"balance\": 1616.760000\n        },\n        {\n            \"currency\": \"USD\",\n            \"balance\": 1611.760000\n        }\n    ]\n}"},{"id":"efe5da59-b52e-4c29-a8f4-e0e9fcb13bd7","name":"Checking Balance partial-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"CARDS\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/getBalance"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"paymentMethod\": \"CARDS\",\n    \"status\": \"partial\",\n    \"gateways\": [\n        {\n            \"gatewayName\": \"a55Mandate\",\n            \"status\": \"failed\",\n            \"error\": {\n                \"code\": \"error\",\n                \"message\": \"Bank does not provide balance\"\n            },\n            \"balances\": []\n        },\n        {\n            \"gatewayName\": \"bk_sbx_smilepayz_pix_payin\",\n            \"status\": \"success\",\n            \"error\": null,\n            \"balances\": [\n                {\n                    \"currency\": \"IDR\",\n                    \"balance\": 250000.000000\n                }\n            ]\n        },\n        {\n            \"gatewayName\": \"samplepay_pg\",\n            \"status\": \"success\",\n            \"error\": null,\n            \"balances\": [\n                {\n                    \"currency\": \"AED\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"AUD\",\n                    \"balance\": 3412.000000\n                },\n                {\n                    \"currency\": \"BRL\",\n                    \"balance\": 100.089996\n                },\n                {\n                    \"currency\": \"BTC\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"BXC\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"CAD\",\n                    \"balance\": 1000.000000\n                },\n                {\n                    \"currency\": \"CDF\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"COP\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"DKK\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"EGP\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"ETH\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"EUR\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"GBP\",\n                    \"balance\": -24.327801\n                },\n                {\n                    \"currency\": \"GHS\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"IDR\",\n                    \"balance\": 1000.000000\n                },\n                {\n                    \"currency\": \"INR\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"JPY\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"KES\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"MWK\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"MXN\",\n                    \"balance\": -4.770000\n                },\n                {\n                    \"currency\": \"NGN\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"NZD\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"RWF\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"THB\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"TZS\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"UGX\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"USD\",\n                    \"balance\": 167.457992\n                },\n                {\n                    \"currency\": \"USDC\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"USDT\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"UZS\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"XAF\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"XOF\",\n                    \"balance\": 0.000000\n                },\n                {\n                    \"currency\": \"ZAR\",\n                    \"balance\": 120.000000\n                },\n                {\n                    \"currency\": \"ZMW\",\n                    \"balance\": 0.000000\n                }\n            ]\n        },\n        {\n            \"gatewayName\": \"payhost\",\n            \"status\": \"failed\",\n            \"error\": {\n                \"code\": \"error\",\n                \"message\": \"Bank does not provide balance\"\n            },\n            \"balances\": []\n        }\n    ],\n    \"aggregatedBalances\": [\n        {\n            \"currency\": \"AED\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"AUD\",\n            \"balance\": 3412.000000\n        },\n        {\n            \"currency\": \"BRL\",\n            \"balance\": 100.089996\n        },\n        {\n            \"currency\": \"BTC\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"BXC\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"CAD\",\n            \"balance\": 1000.000000\n        },\n        {\n            \"currency\": \"CDF\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"COP\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"DKK\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"EGP\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"ETH\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"EUR\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"GBP\",\n            \"balance\": -24.327801\n        },\n        {\n            \"currency\": \"GHS\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"IDR\",\n            \"balance\": 251000.000000\n        },\n        {\n            \"currency\": \"INR\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"JPY\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"KES\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"MWK\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"MXN\",\n            \"balance\": -4.770000\n        },\n        {\n            \"currency\": \"NGN\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"NZD\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"RWF\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"THB\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"TZS\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"UGX\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"USD\",\n            \"balance\": 167.457992\n        },\n        {\n            \"currency\": \"USDC\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"USDT\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"UZS\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"XAF\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"XOF\",\n            \"balance\": 0.000000\n        },\n        {\n            \"currency\": \"ZAR\",\n            \"balance\": 120.000000\n        },\n        {\n            \"currency\": \"ZMW\",\n            \"balance\": 0.000000\n        }\n    ]\n}"},{"id":"dc62a339-614c-4742-b31a-972550e84198","name":"Checking Balance payout-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"PAYOUT-INTERAC\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/getBalance"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"paymentMethod\": \"PAYOUT-INTERAC\",\n    \"status\": \"failed\",\n    \"gateways\": [\n        {\n            \"gatewayName\": \"payhost\",\n            \"status\": \"failed\",\n            \"error\": {\n                \"code\": \"error\",\n                \"message\": \"Bank does not provide balance\"\n            },\n            \"balances\": []\n        }\n    ],\n    \"aggregatedBalances\": []\n}"}],"_postman_id":"f9d34d0e-464b-4db2-a9ca-dcadb7240b88"}],"id":"995609b1-ecff-4d1b-b3c5-5fa6659b9134","description":"<p>The <strong>Get Balance API (V2)</strong> provides orchestrator-level visibility into available balances across multiple payment methods and banking partners. This version enhances the existing balance API by aggregating and returning balance details for all supported payment methods associated with all the PSPs for the merchant</p>\n<p>Overview</p>\n<ul>\n<li><p>Purpose: Retrieve available balance information across different banks/payment methods.</p>\n</li>\n<li><p>Scope: Orchestrator-level (not limited to a single merchant or payment method).</p>\n</li>\n<li><p>Enhancement over previous version:</p>\n<ul>\n<li><p>Returns balances for all payment methods linked to the orchestrator.</p>\n</li>\n<li><p>Provides both consolidated and MID-level (Merchant ID) breakdowns.</p>\n</li>\n</ul>\n</li>\n</ul>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th><strong>Type</strong></th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paymentMethod</td>\n<td>string</td>\n<td>yes</td>\n<td>Specifies the payment method to query. Example: \"PAYOUT-INTERAC-ETRANSFER\"</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Behavior</strong></p>\n<ul>\n<li><p>When a valid paymentMethod is provided, the API retrieves:</p>\n<ul>\n<li><p>Balance details across all associated banks/payment methods.</p>\n</li>\n<li><p>MID-level breakdown for each bank.</p>\n</li>\n<li><p>Consolidated balance per payment method.</p>\n</li>\n</ul>\n</li>\n<li><p>The API is designed specifically for orchestrators and returns aggregated data across multiple merchants and banking integrations.</p>\n</li>\n</ul>\n<p><strong>Success Response</strong></p>\n<p>On successful retrieval, the API returns:</p>\n<ul>\n<li><p>Payment Method Details</p>\n</li>\n<li><p>List of Banks / Payment Providers</p>\n</li>\n<li><p>MID-Level Breakdown</p>\n</li>\n<li><p>Consolidated Balance</p>\n</li>\n</ul>\n<p><strong>Partial Success Response</strong></p>\n<p>A Partial Success response is returned when balance information is retrieved successfully for some payment methods or banks, while one or more fail to return balance data.</p>\n<p>This scenario typically occurs when:</p>\n<ul>\n<li><p>A merchant is associated with multiple payment methods or banking partners, and</p>\n</li>\n<li><p>At least one provider returns a valid balance, while others fail due to unavailability, timeout, or missing data.</p>\n</li>\n</ul>\n<p><strong>Return values-</strong></p>\n<ul>\n<li><p>Status as \"Partial\"</p>\n</li>\n<li><p>Payment Method Details</p>\n</li>\n<li><p>List of Banks / Payment Providers</p>\n</li>\n<li><p>MID-Level Breakdown</p>\n</li>\n<li><p>Consolidated Balance</p>\n</li>\n</ul>\n<p><strong>Error Handling</strong></p>\n<p>If balance details are not found or the request cannot be processed, the API returns:</p>\n<ul>\n<li><p>Appropriate status code</p>\n</li>\n<li><p>Error message</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"3566451c-f5ae-459d-8f58-a27ed786d7c3"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"f2b01223-d419-47f1-b299-61b013f56473"}}],"_postman_id":"995609b1-ecff-4d1b-b3c5-5fa6659b9134"},{"name":"Global Collection","item":[{"name":"Get merchants","id":"936a1979-7369-40bf-9941-c8157e17e1b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{APIKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"requestId","value":"12344","type":"text"}],"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchants?page=1&size=30","urlObject":{"path":["external","gc","partner","merchants"],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"page","value":"1"},{"key":"size","value":"30"},{"disabled":true,"key":null,"value":""}],"variable":[]}},"response":[{"id":"09a87680-4853-4485-929a-9406c246cfc2","name":"Get merchants","originalRequest":{"method":"GET","header":[{"key":"requestId","value":"12344","type":"text"}],"url":{"raw":"https://api.paysecure.net/api/v1/external/gc/partner/merchants?page=1&size=30","host":["https://api.paysecure.net/api/v1"],"path":["external","gc","partner","merchants"],"query":[{"key":"page","value":"1"},{"key":"size","value":"30"},{"key":null,"value":"","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:30:48 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"3211e389-98b5-407f-8712-05134fb4c62f"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"},{"key":"set-cookie","value":"SESSION=MDkzYWJjNGMtNDA2YS00OTc2LWFlMzUtOTMzM2VlODI5ZmRj; Path=/; Secure; HttpOnly; SameSite=Strict"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"merchant\": [\n            {\n                \"merchantId\": 4143,\n                \"email\": \"user8025@example.com\",\n                \"name\": \"Test Emerson Merchants\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+912212345678\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"Asia/Kolkata\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": false,\n                \"allowedPaymentMethods\": [\n                    \"MASTER\",\n                    \"VISA\",\n                    \"JCB\"\n                ],\n                \"allowedCurrencies\": []\n            },\n            {\n                \"merchantId\": 4187,\n                \"email\": \"user2672@example.com\",\n                \"name\": \"testglobex12merchant10\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\"\n                ]\n            },\n            {\n                \"merchantId\": 4256,\n                \"email\": \"user3738@example.com\",\n                \"name\": \"testglobex12merchant101\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4263,\n                \"email\": \"user2203@example.com\",\n                \"name\": \"testglobex12merchant1012\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4274,\n                \"email\": \"user8883@example.com\",\n                \"name\": \"testglobex12merchant10d12\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3453\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": true,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4270,\n                \"email\": \"user2326@example.com\",\n                \"name\": \"testglobex12merchant10s12\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN12345678909\",\n                \"websiteUrl\": \"https://testglobex121.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsjfk1shf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"24 Sample Avenue\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra1\",\n                \"tradingPostal\": \"400011\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford1\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400012\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Finley Rivera\",\n                \"officerTitle\": \"Director1\",\n                \"officerName\": \"Finley Rivera\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"UTC\",\n                \"allowGlobalCollection\": true,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\"\n                ]\n            },\n            {\n                \"merchantId\": 4189,\n                \"email\": \"user3353@example.com\",\n                \"name\": \"testglobex12merchant11\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\"\n                ]\n            },\n            {\n                \"merchantId\": 4195,\n                \"email\": \"user3883@example.com\",\n                \"name\": \"testglobex12merchant12\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\"\n                ]\n            },\n            {\n                \"merchantId\": 4377,\n                \"email\": \"user5692@example.com\",\n                \"name\": \"testglobex12merchant12349\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3471\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"USD\",\n                    \"INR\"\n                ]\n            },\n            {\n                \"merchantId\": 4196,\n                \"email\": \"user1551@example.com\",\n                \"name\": \"testglobex12merchant13\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4376,\n                \"email\": \"user1632@example.com\",\n                \"name\": \"testglobex12merchant13149\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3471\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"USD\",\n                    \"INR\"\n                ]\n            },\n            {\n                \"merchantId\": 4197,\n                \"email\": \"user5905@example.com\",\n                \"name\": \"testglobex12merchant14\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4368,\n                \"email\": \"user8534@example.com\",\n                \"name\": \"testglobex12merchant14249\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3471\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": false,\n                \"allowedPaymentMethods\": [\n                    \"CREDITCARD\"\n                ],\n                \"allowedCurrencies\": []\n            },\n            {\n                \"merchantId\": 4212,\n                \"email\": \"user2009@example.com\",\n                \"name\": \"testglobex12merchant15\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"UTC\",\n                \"allowGlobalCollection\": true,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"AED\",\n                    \"GBP\"\n                ]\n            },\n            {\n                \"merchantId\": 4213,\n                \"email\": \"user2545@example.com\",\n                \"name\": \"testglobex12merchant16\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4230,\n                \"email\": \"user7830@example.com\",\n                \"name\": \"user7704\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"UTC\",\n                \"allowGlobalCollection\": true,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"AED\",\n                    \"GBP\"\n                ]\n            },\n            {\n                \"merchantId\": 4288,\n                \"email\": \"user6222@example.com\",\n                \"name\": \"user77041\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4382,\n                \"email\": \"user4865@example.com\",\n                \"name\": \"testglobex12merchant2141\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3471\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"USD\",\n                    \"INR\"\n                ]\n            },\n            {\n                \"merchantId\": 4293,\n                \"email\": \"user9996@example.com\",\n                \"name\": \"testglobex12merchant217\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"UTC\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"AED\",\n                    \"GBP\"\n                ]\n            },\n            {\n                \"merchantId\": 4296,\n                \"email\": \"user2010@example.com\",\n                \"name\": \"testglobex12merchant219\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3451\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4311,\n                \"email\": \"user1407@example.com\",\n                \"name\": \"testglobex12merchant2198\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3471\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4313,\n                \"email\": \"user5270@example.com\",\n                \"name\": \"testglobex12merchant2199\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3471\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4319,\n                \"email\": \"user4108@example.com\",\n                \"name\": \"testglobex12merchant2200\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3471\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4322,\n                \"email\": \"user3170@example.com\",\n                \"name\": \"testglobex12merchant2201\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3471\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4324,\n                \"email\": \"user3084@example.com\",\n                \"name\": \"testglobex12merchant2202\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3471\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4325,\n                \"email\": \"user6835@example.com\",\n                \"name\": \"testglobex12merchant2203\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3471\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4328,\n                \"email\": \"user2809@example.com\",\n                \"name\": \"testglobex12merchant2204\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3471\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"GBP\",\n                    \"USD\"\n                ]\n            },\n            {\n                \"merchantId\": 4335,\n                \"email\": \"user6174@example.com\",\n                \"name\": \"testglobex12merchant2205\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3471\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"UTC\",\n                \"allowGlobalCollection\": true,\n                \"isLiveTransactionAllowed\": true,\n                \"allowedPaymentMethods\": [\n                    \"PayByBank\"\n                ],\n                \"allowedCurrencies\": [\n                    \"AED\",\n                    \"GBP\"\n                ]\n            },\n            {\n                \"merchantId\": 4354,\n                \"email\": \"user1405@example.com\",\n                \"name\": \"testglobex12merchant2206\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3471\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": false,\n                \"allowedPaymentMethods\": [\n                    \"CREDITCARD\"\n                ],\n                \"allowedCurrencies\": []\n            },\n            {\n                \"merchantId\": 4355,\n                \"email\": \"user1110@example.com\",\n                \"name\": \"testglobex12merchant2207\",\n                \"legalName\": \"Test Example Merchants Pvt Ltd\",\n                \"regNo\": \"CIN123456789\",\n                \"websiteUrl\": \"https://testglobex12.com\",\n                \"category\": \"3471\",\n                \"iecNo\": \"fdsfkshf\",\n                \"tradingStartDate\": \"2022-01-01\",\n                \"dateOfIncorporation\": \"2021-06-15\",\n                \"tradingAddress\": \"90 Fixture Close\",\n                \"tradingCountry\": \"IN\",\n                \"tradingState\": \"Maharashtra\",\n                \"tradingPostal\": \"400001\",\n                \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n                \"corporateCountry\": \"IN\",\n                \"corporateState\": \"Maharashtra\",\n                \"corporatePostal\": \"400002\",\n                \"businessPhone\": \"+912212345678\",\n                \"contactPhone\": \"+919876543210\",\n                \"contactName\": \"Sam Moreau\",\n                \"officerTitle\": \"Director\",\n                \"officerName\": \"Sam Moreau\",\n                \"defaultCurrency\": \"EUR\",\n                \"defaultTimezone\": \"EUR\",\n                \"allowGlobalCollection\": false,\n                \"isLiveTransactionAllowed\": false,\n                \"allowedPaymentMethods\": [\n                    \"CREDITCARD\"\n                ],\n                \"allowedCurrencies\": []\n            }\n        ],\n        \"pagination\": {\n            \"currentPage\": 1,\n            \"pageSize\": 30,\n            \"totalElements\": 44,\n            \"totalPages\": 2,\n            \"first\": true,\n            \"last\": false,\n            \"hasNext\": true,\n            \"hasPrevious\": false\n        }\n    },\n    \"message\": \"Merchants fetched successfully\",\n    \"reqId\": \"12344\"\n}"}],"_postman_id":"936a1979-7369-40bf-9941-c8157e17e1b3"},{"name":"Delete Merchant API","id":"86f513aa-33bb-4928-b75a-8359c217cc1f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{APIKey}}"}]},"isInherited":false},"method":"DELETE","header":[{"key":"requestId","value":"123","type":"text"}],"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant?merchantId=4229","urlObject":{"path":["external","gc","partner","merchant"],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"merchantId","value":"4229"}],"variable":[]}},"response":[{"id":"3a740ab0-3201-4a32-b42f-e9888b0f1e45","name":"Delete Merchant API","originalRequest":{"method":"DELETE","header":[{"key":"requestId","value":"123","type":"text"}],"url":{"raw":"https://api.paysecure.net/api/v1/external/gc/partner/merchant?merchantId=4388","host":["https://api.paysecure.net/api/v1"],"path":["external","gc","partner","merchant"],"query":[{"key":"merchantId","value":"4388"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:34:54 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"a11db102-9844-43d3-b24c-ae6792bbe319"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"merchantId\": 4388,\n        \"username\": \"user4215\",\n        \"email\": \"user8017@example.com\"\n    },\n    \"message\": \"Merchant deleted successfully\",\n    \"reqId\": \"123\"\n}"}],"_postman_id":"86f513aa-33bb-4928-b75a-8359c217cc1f"},{"name":"Create Merchant API","id":"ab1ea978-a97e-40ea-b109-059d1e84f992","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{APIKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"requestId","value":"abcd","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"username\": \"user7704\",\n    \"mcc\": 3451,\n    \"iecNo\": \"fdsfkshf\",\n    \"allowGlobalCollection\": true,\n    \"legalName\": \"Test Example Merchants Pvt Ltd\",\n    \"name\": \"Test Emerson Merchants 2\",\n    \"regNo\": \"CIN123456789\",\n    \"emailId\": \"user7830@example.com\",\n    \"websiteUrl\": \"https://testglobex12.com\",\n    \"tradingStartDate\": \"2022-01-01\",\n    \"dateOfIncorporation\": \"2021-06-15\",\n    \"tradingAddress\": \"90 Fixture Close\",\n    \"tradingCountry\": \"IN\",\n    \"tradingState\": \"Maharashtra\",\n    \"tradingPostal\": \"400001\",\n    \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n    \"corporateCountry\": \"IN\",\n    \"corporateState\": \"Maharashtra\",\n    \"corporatePostal\": \"400002\",\n    \"businessPhone\": \"+912212345678\",\n    \"contactPhone\": \"+919876543210\",\n    \"contactName\": \"Sam Moreau\",\n    \"officerTitle\": \"Director\",\n    \"officerName\": \"Sam Moreau\",\n    \"defaultCurrency\": \"EUR\",\n    \"defaultTimezone\": \"UTC\",\n    \"allowedPaymentMethods\": [\n        \"PayByBank\"\n    ],\n    \"allowedCurrencies\": [\"GBP\", \"USD\"],\n    \"isLiveTransactionAllowed\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant","urlObject":{"path":["external","gc","partner","merchant"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"6f6d7e84-9c7d-47bb-a13b-9e0c54449ced","name":"Create Merchant API","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","disabled":true},{"key":"requestId","value":"abcd","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"username\": \"user4215\",\n    \"mcc\": 3451,\n    \"iecNo\": \"fdsfkshf\",\n    \"allowGlobalCollection\": true,\n    \"legalName\": \"Test Example Merchants Pvt Ltd\",\n    \"name\": \"Test Emerson Merchants 2\",\n    \"regNo\": \"CIN123456789\",\n    \"emailId\": \"user8017@example.com\",\n    \"websiteUrl\": \"https://testglobex12.com\",\n    \"tradingStartDate\": \"2022-01-01\",\n    \"dateOfIncorporation\": \"2021-06-15\",\n    \"tradingAddress\": \"90 Fixture Close\",\n    \"tradingCountry\": \"IN\",\n    \"tradingState\": \"Maharashtra\",\n    \"tradingPostal\": \"400001\",\n    \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n    \"corporateCountry\": \"IN\",\n    \"corporateState\": \"Maharashtra\",\n    \"corporatePostal\": \"400002\",\n    \"businessPhone\": \"+912212345678\",\n    \"contactPhone\": \"+919876543210\",\n    \"contactName\": \"Sam Moreau\",\n    \"officerTitle\": \"Director\",\n    \"officerName\": \"Sam Moreau\",\n    \"defaultCurrency\": \"EUR\",\n    \"defaultTimezone\": \"UTC\",\n    \"allowedPaymentMethods\": [\n        \"PayByBank\"\n    ],\n    \"allowedCurrencies\": [\"GBP\", \"USD\"],\n    \"isLiveTransactionAllowed\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:35:01 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"eef75515-b968-4e21-9665-ced7a6fe00d7"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"merchantId\": 4389,\n        \"username\": \"user4215\",\n        \"email\": \"user8017@example.com\"\n    },\n    \"message\": \"Merchant created successfully\",\n    \"reqId\": \"abcd\"\n}"}],"_postman_id":"ab1ea978-a97e-40ea-b109-059d1e84f992"},{"name":"Update merchant","id":"e4bb07cb-0992-4875-8b69-8890101f7047","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{APIKey}}"}]},"isInherited":false},"method":"PUT","header":[{"key":"requestId","value":"123","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"legalName\": \"Test Example Merchants Pvt Ltd\",\n    \"regNo\": \"CIN123456789\",\n    \"websiteUrl\": \"https://testglobex12.com\",\n    \"iecNo\": \"fdsfkshf\",\n    \"tradingStartDate\": \"2022-01-01\",\n    \"dateOfIncorporation\": \"2021-06-15\",\n    \"tradingAddress\": \"90 Fixture Close\",\n    \"tradingCountry\": \"IN\",\n    \"tradingState\": \"Maharashtra\",\n    \"tradingPostal\": \"400001\",\n    \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n    \"corporateCountry\": \"IN\",\n    \"corporateState\": \"Maharashtra\",\n    \"corporatePostal\": \"400002\",\n    \"businessPhone\": \"+912212345678\",\n    \"contactPhone\": \"+919876543210\",\n    \"contactName\": \"Sam Moreau\",\n    \"officerTitle\": \"Director\",\n    \"officerName\": \"Sam Moreau\",\n    \"defaultCurrency\": \"EUR\",\n    \"defaultTimezone\": \"UTC\",\n    \"allowedPaymentMethods\": [\n        \"PayByBank\"\n    ],\n    \"allowedCurrencies\": [\"GBP\", \"AED\"],\n    \"isLiveTransactionAllowed\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4230","urlObject":{"path":["external","gc","partner","merchant","4230"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"cbb51b76-1084-499a-9728-79578c566521","name":"Update merchant","originalRequest":{"method":"PUT","header":[{"key":"requestId","value":"123","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"legalName\": \"Test Example Merchants Pvt Ltd\",\n    \"regNo\": \"CIN123456789\",\n    \"websiteUrl\": \"https://testglobex12.com\",\n    \"iecNo\": \"fdsfkshf\",\n    \"tradingStartDate\": \"2022-01-01\",\n    \"dateOfIncorporation\": \"2021-06-15\",\n    \"tradingAddress\": \"90 Fixture Close\",\n    \"tradingCountry\": \"IN\",\n    \"tradingState\": \"Maharashtra\",\n    \"tradingPostal\": \"400001\",\n    \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n    \"corporateCountry\": \"IN\",\n    \"corporateState\": \"Maharashtra\",\n    \"corporatePostal\": \"400002\",\n    \"businessPhone\": \"+912212345678\",\n    \"contactPhone\": \"+919876543210\",\n    \"contactName\": \"Sam Moreau\",\n    \"officerTitle\": \"Director\",\n    \"officerName\": \"Sam Moreau\",\n    \"defaultCurrency\": \"EUR\",\n    \"defaultTimezone\": \"UTC\",\n    \"allowedPaymentMethods\": [\n        \"PayByBank\"\n    ],\n    \"allowedCurrencies\": [\"GBP\", \"AED\"],\n    \"isLiveTransactionAllowed\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4389"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:35:11 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"0616f484-fb7c-475b-b8b3-53dff2a58fb3"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"merchantId\": 4389\n    },\n    \"message\": \"Merchant details updated successfully\",\n    \"reqId\": \"123\"\n}"}],"_postman_id":"e4bb07cb-0992-4875-8b69-8890101f7047"},{"name":"Create Merchant API Token","id":"dd7aa06b-7751-48fc-8b54-55081d54c1c6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{APIKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"requestId","value":"abcd","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"apiLabel\": \"testlabel18\",\n    \"isSandbox\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4230/api-key","urlObject":{"path":["external","gc","partner","merchant","4230","api-key"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"32f6a300-bf0c-41b6-a587-7863a2e689ff","name":"Create Merchant API Token","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","disabled":true},{"key":"requestId","value":"abcd","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"apiLabel\": \"testlabel18\",\n    \"isSandbox\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4389/api-key"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:35:28 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"494f6297-203a-49f0-9fa8-aed7331e7558"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"merchantId\": 4389,\n        \"apiKey\": \"0000000000000000000000000000000000000000000000000000000000000000\",\n        \"isSandbox\": false\n    },\n    \"message\": \"Merchant token generated successfully\",\n    \"reqId\": \"abcd\"\n}"}],"_postman_id":"dd7aa06b-7751-48fc-8b54-55081d54c1c6"},{"name":"Get single merchant","id":"f43c7c21-8609-4ba6-9741-a6aab904a776","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{APIKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"requestId","value":"123456","type":"text"}],"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4230","urlObject":{"path":["external","gc","partner","merchant","4230"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"66012aa6-9ca4-4239-8858-bee7ce379a2a","name":"Get single merchant","originalRequest":{"method":"GET","header":[{"key":"requestId","value":"123456","type":"text"}],"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4230"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:37:16 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"385e33c8-39d1-4031-9442-eb0f1adfb46d"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"merchantId\": 4230,\n        \"email\": \"user7830@example.com\",\n        \"name\": \"user7704\",\n        \"legalName\": \"Test Example Merchants Pvt Ltd\",\n        \"regNo\": \"CIN123456789\",\n        \"websiteUrl\": \"https://testglobex12.com\",\n        \"category\": \"3451\",\n        \"iecNo\": \"fdsfkshf\",\n        \"tradingStartDate\": \"2022-01-01\",\n        \"dateOfIncorporation\": \"2021-06-15\",\n        \"tradingAddress\": \"90 Fixture Close\",\n        \"tradingCountry\": \"IN\",\n        \"tradingState\": \"Maharashtra\",\n        \"tradingPostal\": \"400001\",\n        \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n        \"corporateCountry\": \"IN\",\n        \"corporateState\": \"Maharashtra\",\n        \"corporatePostal\": \"400002\",\n        \"businessPhone\": \"+912212345678\",\n        \"contactPhone\": \"+919876543210\",\n        \"contactName\": \"Sam Moreau\",\n        \"officerTitle\": \"Director\",\n        \"officerName\": \"Sam Moreau\",\n        \"defaultCurrency\": \"EUR\",\n        \"defaultTimezone\": \"UTC\",\n        \"allowGlobalCollection\": true,\n        \"isLiveTransactionAllowed\": true,\n        \"allowedPaymentMethods\": [\n            \"PayByBank\"\n        ],\n        \"allowedCurrencies\": [\n            \"AED\",\n            \"GBP\"\n        ]\n    },\n    \"message\": \"Merchant details fetched successfully\",\n    \"reqId\": \"123456\"\n}"},{"id":"5e1d8994-1c03-48e4-b79b-990f6045e4d4","name":"Get single merchant","originalRequest":{"method":"GET","header":[{"key":"requestId","value":"123456","type":"text"}],"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4230"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:37:16 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"385e33c8-39d1-4031-9442-eb0f1adfb46d"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"merchantId\": 4230,\n        \"email\": \"user7830@example.com\",\n        \"name\": \"user7704\",\n        \"legalName\": \"Test Example Merchants Pvt Ltd\",\n        \"regNo\": \"CIN123456789\",\n        \"websiteUrl\": \"https://testglobex12.com\",\n        \"category\": \"3451\",\n        \"iecNo\": \"fdsfkshf\",\n        \"tradingStartDate\": \"2022-01-01\",\n        \"dateOfIncorporation\": \"2021-06-15\",\n        \"tradingAddress\": \"90 Fixture Close\",\n        \"tradingCountry\": \"IN\",\n        \"tradingState\": \"Maharashtra\",\n        \"tradingPostal\": \"400001\",\n        \"corporateAddress\": \"456 Corporate Avenue, Ashford\",\n        \"corporateCountry\": \"IN\",\n        \"corporateState\": \"Maharashtra\",\n        \"corporatePostal\": \"400002\",\n        \"businessPhone\": \"+912212345678\",\n        \"contactPhone\": \"+919876543210\",\n        \"contactName\": \"Sam Moreau\",\n        \"officerTitle\": \"Director\",\n        \"officerName\": \"Sam Moreau\",\n        \"defaultCurrency\": \"EUR\",\n        \"defaultTimezone\": \"UTC\",\n        \"allowGlobalCollection\": true,\n        \"isLiveTransactionAllowed\": true,\n        \"allowedPaymentMethods\": [\n            \"PayByBank\"\n        ],\n        \"allowedCurrencies\": [\n            \"AED\",\n            \"GBP\"\n        ]\n    },\n    \"message\": \"Merchant details fetched successfully\",\n    \"reqId\": \"123456\"\n}"}],"_postman_id":"f43c7c21-8609-4ba6-9741-a6aab904a776"},{"name":"Get Missing invoice transactions","id":"d5fb0496-4ed2-4bc2-a755-8d356d5d2dd7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{APIKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"requestId","value":"123456","type":"text"}],"url":"https://api.paysecure.net/api/v1/external/gc/partner/transactions/missing-invoice?page=1&size=4","urlObject":{"path":["external","gc","partner","transactions","missing-invoice"],"host":["https://api.paysecure.net/api/v1"],"query":[{"disabled":true,"key":"merchantId","value":"4151"},{"key":"page","value":"1"},{"key":"size","value":"4"}],"variable":[]}},"response":[{"id":"061d6de5-dc3e-4b88-8e67-76266089344a","name":"Get Missing invoice transactions","originalRequest":{"method":"GET","header":[{"key":"requestId","value":"123456","type":"text"}],"url":{"raw":"https://api.paysecure.net/api/v1/external/gc/partner/transactions/missing-invoice?page=1&size=4","host":["https://api.paysecure.net/api/v1"],"path":["external","gc","partner","transactions","missing-invoice"],"query":[{"key":"merchantId","value":"4151","disabled":true},{"key":"page","value":"1"},{"key":"size","value":"4"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:37:38 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"c523e046-fdfc-402d-8148-95fd2a1aa935"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"transactions\": [\n            {\n                \"transactionId\": \"69d79150aa6d618c9b4e5da1\",\n                \"amount\": 1,\n                \"currency\": \"GBP\",\n                \"createdDate\": 1775735120\n            },\n            {\n                \"transactionId\": \"69d627aafbb9070a716e284b\",\n                \"amount\": 1,\n                \"currency\": \"GBP\",\n                \"createdDate\": 1775642538\n            },\n            {\n                \"transactionId\": \"69d6277afbb9070a716e252b\",\n                \"amount\": 1,\n                \"currency\": \"GBP\",\n                \"createdDate\": 1775642490\n            },\n            {\n                \"transactionId\": \"69cced964235594c815952fc\",\n                \"amount\": 1,\n                \"currency\": \"GBP\",\n                \"createdDate\": 1775037848\n            }\n        ],\n        \"pagination\": {\n            \"currentPage\": 1,\n            \"pageSize\": 4,\n            \"totalElements\": 6,\n            \"totalPages\": 2,\n            \"first\": true,\n            \"last\": false,\n            \"hasNext\": true,\n            \"hasPrevious\": false\n        }\n    },\n    \"message\": \"Missing invoice transactions fetched successfully\",\n    \"reqId\": \"123456\"\n}"}],"_postman_id":"d5fb0496-4ed2-4bc2-a755-8d356d5d2dd7"},{"name":"Get Settlement Data","id":"0d470f83-7416-423f-a2cf-998b2d51feec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{APIKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"requestId","value":"123456","type":"text"}],"url":"https://api.paysecure.net/api/v1/external/gc/partner/settlements?fromDate=2025-01-01&toDate=2026-01-01&status=settled&pageNo=1&size=10","urlObject":{"path":["external","gc","partner","settlements"],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"fromDate","value":"2025-01-01"},{"key":"toDate","value":"2026-01-01"},{"key":"status","value":"settled"},{"key":"pageNo","value":"1"},{"key":"size","value":"10"}],"variable":[]}},"response":[{"id":"b8e63efe-cc96-46b4-b437-b6837a2f9e83","name":"Get Settlement Data","originalRequest":{"method":"GET","header":[{"key":"requestId","value":"123456","type":"text"}],"url":{"raw":"https://api.paysecure.net/api/v1/external/gc/partner/settlements?fromDate=2025-01-01&toDate=2026-01-01&status=settled&pageNo=1&size=10","host":["https://api.paysecure.net/api/v1"],"path":["external","gc","partner","settlements"],"query":[{"key":"fromDate","value":"2025-01-01"},{"key":"toDate","value":"2026-01-01"},{"key":"status","value":"settled"},{"key":"pageNo","value":"1"},{"key":"size","value":"10"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:37:44 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"8e5c11fd-a1e1-4798-a9a5-9869a1b8195b"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"settlements\": [\n            {\n                \"settlementId\": \"1234\",\n                \"amount\": 100,\n                \"currency\": \"USD\",\n                \"status\": \"settled\",\n                \"settledOn\": -41795\n            },\n            {\n                \"settlementId\": \"5678\",\n                \"amount\": 100,\n                \"currency\": \"USD\",\n                \"status\": \"settled\",\n                \"settledOn\": -41795\n            }\n        ],\n        \"pagination\": {\n            \"currentPage\": 1,\n            \"pageSize\": 2,\n            \"totalElements\": 2,\n            \"totalPages\": 1,\n            \"first\": true,\n            \"last\": true,\n            \"hasNext\": false,\n            \"hasPrevious\": false\n        }\n    },\n    \"reqId\": \"123456\"\n}"}],"_postman_id":"0d470f83-7416-423f-a2cf-998b2d51feec"},{"name":"Delete merchant token","id":"75b0b5d0-696b-4b39-8b42-88594e410924","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{APIKey}}"}]},"isInherited":false},"method":"DELETE","header":[{"key":"requestId","value":"123","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4230/api-key?token={{APIKeyToRevoke}}","urlObject":{"path":["external","gc","partner","merchant","4230","api-key"],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"token","value":"{{APIKeyToRevoke}}"}],"variable":[]}},"response":[{"id":"170e2a24-4bae-436f-9aa1-589a2ee0c41a","name":"Delete merchant token","originalRequest":{"method":"DELETE","header":[{"key":"requestId","value":"123","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4389/api-key?token={{APIKeyToRevoke}}","host":["https://api.paysecure.net/api/v1"],"path":["external","gc","partner","merchant","4389","api-key"],"query":[{"key":"token","value":"{{APIKeyToRevoke}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:36:03 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"cd421d89-df9a-4817-9538-f8520a966043"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"merchantId\": 4389,\n        \"username\": \"user4215\",\n        \"email\": null\n    },\n    \"message\": \"Merchant token deleted successfully\",\n    \"reqId\": \"123\"\n}"}],"_postman_id":"75b0b5d0-696b-4b39-8b42-88594e410924"},{"name":"Create brand ID","id":"e8bc1810-5063-461c-8ae7-8720671bdfb1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{APIKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"requestId","value":"123","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Sample brand name1\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4230/brand","urlObject":{"path":["external","gc","partner","merchant","4230","brand"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"28881be6-a75b-4f05-a3ab-bbd11b402525","name":"Create brand ID","originalRequest":{"method":"POST","header":[{"key":"requestId","value":"123","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Sample brand name2\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4230/brand"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:36:21 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"b9369e86-cbe6-4946-9c17-1570ce137562"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"id\": 1000077,\n        \"name\": \"Sample brand name2\",\n        \"brandId\": \"your-brand-id\",\n        \"merchantId\": 4230\n    },\n    \"message\": \"Brand created successfully\",\n    \"reqId\": \"123\"\n}"}],"_postman_id":"e8bc1810-5063-461c-8ae7-8720671bdfb1"},{"name":"Delete brand ID","id":"25989995-bbe9-4391-976f-7ad8ece5e9fd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{APIKey}}"}]},"isInherited":false},"method":"DELETE","header":[{"key":"requestId","value":"123","type":"text"}],"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4230/brand?brandId=your-brand-id","urlObject":{"path":["external","gc","partner","merchant","4230","brand"],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"brandId","value":"your-brand-id"}],"variable":[]}},"response":[{"id":"472b7df1-b95a-4382-9d6b-297db44f8a23","name":"Delete brand ID","originalRequest":{"method":"DELETE","header":[{"key":"requestId","value":"123","type":"text"}],"url":{"raw":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4230/brand?brandId=1d01b37c-bd35-4727-85f9-f0b1448dad67","host":["https://api.paysecure.net/api/v1"],"path":["external","gc","partner","merchant","4230","brand"],"query":[{"key":"brandId","value":"1d01b37c-bd35-4727-85f9-f0b1448dad67"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:36:32 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"3757deab-5fa7-4a78-a097-e887cd1b3b04"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"id\": 1000077,\n        \"name\": \"Sample brand name2\",\n        \"brandId\": \"your-brand-id\",\n        \"merchantId\": 4230\n    },\n    \"message\": \"Brand deleted successfully\",\n    \"reqId\": \"123\"\n}"}],"_postman_id":"25989995-bbe9-4391-976f-7ad8ece5e9fd"},{"name":"Request global account","id":"ec8af01e-aae8-4c45-ab60-0f6faec716a5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{APIKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"requestId","value":"12331","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"country\": \"AE\",\n    \"currency\": \"AED\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4230/global-account","urlObject":{"path":["external","gc","partner","merchant","4230","global-account"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"25b4e5db-1563-4f11-8c23-6af18e06a663","name":"Request global account","originalRequest":{"method":"POST","header":[{"key":"requestId","value":"12331","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"country\": \"AE\",\n    \"currency\": \"GBP\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4212/global-account"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:37:03 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"4327d3bb-c09d-4a23-aca8-2bcefbf6e8e9"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"country\": \"AE\",\n        \"currency\": \"GBP\",\n        \"status\": \"pending\",\n        \"accountNo\": \"GC-AE-GBP-20260506-980-CED9D5\",\n        \"createdOn\": 1778074623\n    },\n    \"message\": \"Global account request submitted\"\n}"}],"_postman_id":"ec8af01e-aae8-4c45-ab60-0f6faec716a5"},{"name":"Get global accounts","id":"4f3e0875-e940-41b9-a180-95a08f8afbe9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{APIKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"requestId","value":"12331","type":"text"}],"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4212/global-account","urlObject":{"path":["external","gc","partner","merchant","4212","global-account"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"277eabd2-39dd-4818-bf4c-5895539cc8d4","name":"Get global accounts","originalRequest":{"method":"GET","header":[{"key":"requestId","value":"12331","type":"text"}],"url":"https://api.paysecure.net/api/v1/external/gc/partner/merchant/4212/global-account"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:37:08 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"a04fb141-c63f-4ec2-9bf1-51f7a12e456a"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": [\n        {\n            \"country\": \"FR\",\n            \"currency\": \"GBP\",\n            \"status\": \"pending\",\n            \"accountNo\": \"GC-FR-GBP-20260409-980-FE2004\",\n            \"createdOn\": 1775732111\n        },\n        {\n            \"country\": \"AE\",\n            \"currency\": \"AED\",\n            \"status\": \"active\",\n            \"accountNo\": \"GC-AE-AED-20260504-980-54FA8D\",\n            \"createdOn\": 1777887002\n        },\n        {\n            \"country\": \"AE\",\n            \"currency\": \"GBP\",\n            \"status\": \"pending\",\n            \"accountNo\": \"GC-AE-GBP-20260506-980-CED9D5\",\n            \"createdOn\": 1778074623\n        }\n    ],\n    \"message\": \"Global collection fetched successfully\",\n    \"reqId\": \"12331\"\n}"}],"_postman_id":"4f3e0875-e940-41b9-a180-95a08f8afbe9"},{"name":"bulk update invoice no","id":"01cd5987-231c-49f3-8cdb-b0e0c3628c86","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{APIKey}}"}]},"isInherited":false},"method":"PATCH","header":[{"key":"requestId","value":"abcd","type":"text"}],"body":{"mode":"raw","raw":"[\n    {\n        \"transactionId\": \"69cceeba4235594c8159559f\",\n        \"invoiceNo\": \"inv123\"\n    },\n    {\n        \"transactionId\": \"temp\",\n        \"invoiceNo\": \"inv123\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/external/gc/partner/transactions/invoice","urlObject":{"path":["external","gc","partner","transactions","invoice"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"0623a3ee-ca7a-4d41-872d-c21ff07e022c","name":"bulk update invoice no","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","disabled":true},{"key":"requestId","value":"abcd","type":"text"}],"body":{"mode":"raw","raw":"[\n    {\n        \"transactionId\": \"69cceeba4235594c8159559f\",\n        \"invoiceNo\": \"inv123\"\n    },\n    {\n        \"transactionId\": \"temp\",\n        \"invoiceNo\": \"inv123\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/external/gc/partner/transactions/invoice"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 13:37:12 GMT"},{"key":"content-type","value":"application/json"},{"key":"x-session-id","value":"e19be498-d831-4f02-861b-62da1907e1b4"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"server","value":"Hidden"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"0"},{"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":"ALLOW-FROM *"},{"key":"referrer-policy","value":"no-referrer"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"updatedCount\": 1,\n        \"skippedTransactionIds\": [\n            \"temp\"\n        ]\n    },\n    \"message\": \"Bulk invoice update completed\",\n    \"reqId\": \"abcd\"\n}"}],"_postman_id":"01cd5987-231c-49f3-8cdb-b0e0c3628c86"}],"id":"d0600644-3dc0-4b4d-a007-13fa49ac4515","_postman_id":"d0600644-3dc0-4b4d-a007-13fa49ac4515","description":""},{"name":"Payout Manual Review","item":[{"name":"Concepts","item":[],"id":"7522ed19-a307-4ec0-bc63-aba3bbae1de9","description":"<h2 id=\"overview\">Overview</h2>\n<p>Manual review is a control step for <strong>payouts</strong> (money going out to your customers or beneficiaries). When a payout is created it may be held in the <code>pending_review</code> status instead of being sent straight to the payout processor. This happens when the payout is flagged — for example by a risk rule, an amount threshold, or a merchant-profile setting.</p>\n<p>While a payout is in <code>pending_review</code>, no funds move. It stays parked until someone with a valid API key <strong>approves</strong> it (release the funds) or <strong>rejects</strong> it (cancel it). The Payout Action API is how you perform that decision from your own systems.</p>\n<h2 id=\"when-a-payout-is-in-manual-review\">When a payout is in manual review</h2>\n<p>A payout can only be actioned while its status is <code>pending_review</code>. You can check a payout's current status with the Get Status call in the <strong>PayOut API</strong> section. If the status is anything other than <code>pending_review</code>, the action call is blocked (see <em>Idempotency</em> below).</p>\n<h2 id=\"the-action-call\">The action call</h2>\n<p>Both approve and reject use the <strong>same endpoint</strong>; the decision is set by the <code>action</code> query parameter:</p>\n<ul>\n<li><code>POST https://api.paysecure.net/api/v1/payouts/{payout_id}/action?action=approve</code></li>\n<li><code>POST https://api.paysecure.net/api/v1/payouts/{payout_id}/action?action=reject</code></li>\n</ul>\n<p>On <strong>approve</strong>, Paysecure releases the payout and its status moves to <code>paid</code>. On <strong>reject</strong>, the payout is cancelled, its status moves to <code>error</code>, and the rejection reason is stored against the payout.</p>\n<h2 id=\"idempotency--a-payout-can-only-be-actioned-once\">Idempotency — a payout can only be actioned once</h2>\n<p>A payout can be approved or rejected <strong>exactly once</strong>. If you call the action endpoint on a payout that is no longer in <code>pending_review</code> (because it was already actioned, or was never in review), the call is rejected and the payout is left unchanged:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"status\": \"error\",\n  \"data\": {\n    \"payout_id\": \"69d4a15b7c7e1d98769872eb\",\n    \"current_status\": \"paid\",\n    \"message\": \"Payout already processed\"\n  }\n}\n</code></pre><p>Use <code>data.current_status</code> to see where the payout actually is, and <strong>do not retry</strong> — the outcome will not change.</p>\n<h2 id=\"status-transitions\">Status transitions</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Previous status</strong></th>\n<th><strong>Action</strong></th>\n<th><strong>Resulting status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>pending_review</code></td>\n<td><code>approve</code></td>\n<td><code>paid</code></td>\n<td>Normal approval — funds released</td>\n</tr>\n<tr>\n<td><code>pending_review</code></td>\n<td><code>reject</code></td>\n<td><code>error</code></td>\n<td>Normal rejection — payout cancelled</td>\n</tr>\n<tr>\n<td><code>paid</code></td>\n<td>approve / reject</td>\n<td><code>paid</code> (unchanged)</td>\n<td>❌ Blocked — already processed</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>approve / reject</td>\n<td><code>error</code> (unchanged)</td>\n<td>❌ Blocked — already processed</td>\n</tr>\n<tr>\n<td><code>payout_in_process</code></td>\n<td>approve / reject</td>\n<td><code>payout_in_process</code> (unchanged)</td>\n<td>❌ Blocked — already processing</td>\n</tr>\n<tr>\n<td><code>dispatched</code></td>\n<td>approve / reject</td>\n<td><code>dispatched</code> (unchanged)</td>\n<td>❌ Blocked — already sent</td>\n</tr>\n<tr>\n<td><code>created</code></td>\n<td>approve / reject</td>\n<td><code>created</code> (unchanged)</td>\n<td>❌ Blocked — not in review</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"payout-status-values\">Payout status values</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>Meaning</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>pending_review</code></td>\n<td>Payout is awaiting manual approval or rejection</td>\n</tr>\n<tr>\n<td><code>paid</code></td>\n<td>Payout was approved and successfully processed</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>Payout was rejected or failed</td>\n</tr>\n<tr>\n<td><code>payout_in_process</code></td>\n<td>Payout is being processed by the provider</td>\n</tr>\n<tr>\n<td><code>dispatched</code></td>\n<td>Payout has been sent to the provider</td>\n</tr>\n<tr>\n<td><code>created</code></td>\n<td>Payout created but not yet in review</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"who-is-recorded-as-the-reviewer-reviewed_by\">Who is recorded as the reviewer (<code>reviewed_by</code>)</h2>\n<p>Every successful action records who made the decision. Paysecure sets <code>reviewed_by</code> using this priority:</p>\n<ol>\n<li>If you send a non-empty <code>reviewed_by</code> in the request body, that value is used.</li>\n<li>Otherwise, Paysecure falls back to the username tied to the API key you authenticated with.</li>\n</ol>\n<p>Use the override when the human decision-maker is different from the API service account (for example <code>finance_manager_john</code> or <code>risk_team_admin</code>), so your audit trail stays accurate.</p>\n<h2 id=\"how-remarks-behaves\">How <code>remarks</code> behaves</h2>\n<p><strong>On approve</strong> — <code>remarks</code> is optional. If you send it, it is echoed back in the response; if you omit it, no <code>remarks</code> field appears in the response and nothing is stored.</p>\n<p><strong>On reject</strong> — <code>remarks</code> is optional but <strong>strongly recommended</strong>. It is stored as the payout's error message for your audit trail. If you omit it (or send an empty string) it defaults to <code>\"Rejected\"</code>. Always send a clear, specific reason.</p>\n<h2 id=\"authentication--authorisation\">Authentication &amp; authorisation</h2>\n<p>Authenticate with your merchant API key as a Bearer token:</p>\n<p><code>Authorization: Bearer {{APIKey}}</code></p>\n<p>For an action to succeed:</p>\n<ul>\n<li>The API key must be valid and <strong>live</strong> (not a test key).</li>\n<li>The payout must belong to the merchant that owns the API key. A payout belonging to another merchant is treated as <em>not found</em>.</li>\n<li>Your account must have live transactions enabled.</li>\n<li>The payout must be in <code>pending_review</code> status.</li>\n</ul>\n<p>Your <code>API key</code> can be located in the Dashboard section of your merchant account login.</p>\n<h2 id=\"a-note-on-http-status-codes\">A note on HTTP status codes</h2>\n<p>This endpoint always returns <strong>HTTP <code>200 OK</code></strong>. The real outcome is carried in the JSON body, not the HTTP status line:</p>\n<ul>\n<li>Success responses have <code>\"status\": \"success\"</code> and a <code>data</code> object with the action result.</li>\n<li>Business / validation failures (e.g. already processed, insufficient balance) have <code>\"status\": \"error\"</code> and a <code>data.message</code>.</li>\n<li>Authentication, malformed-JSON, and not-found errors use a simpler legacy shape: <code>{\"message\": \"...\"}</code>.</li>\n</ul>\n<p>Always branch on the JSON body (the <code>status</code> field, then <code>data.message</code>) rather than the HTTP status code.</p>\n<h2 id=\"testing-in-sandbox\">Testing in Sandbox</h2>\n<p>The sandbox base URL is <code>https://test2.paymentsclub.net/api/v1</code> (production is <code>https://api.paysecure.net/api/v1</code> = <code>https://api.paysecure.net/api/v1</code>). To test the flow end to end you need a payout sitting in <code>pending_review</code>. If your sandbox does not let you force a payout into manual review, contact your Account Manager for test payouts and credentials.</p>\n","_postman_id":"7522ed19-a307-4ec0-bc63-aba3bbae1de9"},{"name":"Approve Payout","id":"acec71f4-43ef-4058-958d-1de80db487d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"remarks\": \"Verified against invoice #4821\",\n    \"reviewed_by\": \"compliance_team_lead\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payouts/{payout_id}/action?action=approve","description":"<p>Approves a payout that is currently in <code>pending_review</code>. On success, Paysecure releases the payout to the processor and the status moves to <code>paid</code>.</p>\n<p>Call this endpoint once you have verified the payout should be paid. It is idempotent — a payout that has already been actioned cannot be approved again (see <strong>Concepts → Idempotency</strong>).</p>\n<h3 id=\"path--query-parameters\">Path &amp; Query Parameters</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>payout_id</td>\n<td>Mandatory. <br />Path parameter. The unique identifier of the payout to approve.</td>\n</tr>\n<tr>\n<td>action</td>\n<td>Mandatory. <br />Query parameter. Must be <code>approve</code> for this call.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-body-parameters\">Request Body Parameters</h3>\n<p>The body is optional for approve — send <code>{}</code> to approve with no notes.</p>\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>remarks</td>\n<td>Optional. <br />Free-text reason / notes for the approval. If sent, it is echoed back in the response; if omitted, no <code>remarks</code> field is returned.</td>\n</tr>\n<tr>\n<td>reviewed_by</td>\n<td>Optional. <br />Overrides the reviewer identifier recorded against the action. Defaults to the username tied to your API key. Use it to record the actual human approver for audit purposes.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>A successful approval returns <code>status: \"success\"</code> and a <code>data</code> object containing the payout id, the status before and after the action (<code>previous_status</code> = <code>pending_review</code>, <code>current_status</code> = <code>paid</code>), the action performed, the reviewer, and a UTC ISO-8601 <code>reviewed_at</code> timestamp. <code>remarks</code> is included only if you supplied it.</p>\n<p>See <strong>Concepts → A note on HTTP status codes</strong> for how errors are represented (this endpoint always returns HTTP 200).</p>\n","urlObject":{"path":["payouts","{payout_id}","action"],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"action","value":"approve"}],"variable":[]}},"response":[{"id":"9e597d59-d1c0-48c7-8a53-364df3274e8d","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"remarks\": \"Verified against invoice #4821\",\n    \"reviewed_by\": \"compliance_team_lead\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/payouts/{payout_id}/action?action=approve","host":["https://api.paysecure.net/api/v1"],"path":["payouts","{payout_id}","action"],"query":[{"key":"action","value":"approve"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"payout_id\": \"69d4a15b7c7e1d98769872eb\",\n        \"previous_status\": \"pending_review\",\n        \"current_status\": \"paid\",\n        \"action_performed\": \"approve\",\n        \"reviewed_by\": \"compliance_team_lead\",\n        \"reviewed_at\": \"2026-04-16T10:30:45Z\",\n        \"remarks\": \"Verified against invoice #4821\"\n    }\n}"},{"id":"d79c2012-3e3b-4d8b-b8b4-f5e2394da38f","name":"Error (Already processed)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"remarks\": \"Verified against invoice #4821\",\n    \"reviewed_by\": \"compliance_team_lead\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/payouts/{payout_id}/action?action=approve","host":["https://api.paysecure.net/api/v1"],"path":["payouts","{payout_id}","action"],"query":[{"key":"action","value":"approve"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"error\",\n    \"data\": {\n        \"payout_id\": \"69d4a15b7c7e1d98769872eb\",\n        \"current_status\": \"paid\",\n        \"message\": \"Payout already processed\"\n    }\n}"},{"id":"3e06576f-cbec-4e64-981b-c953999206ca","name":"Error (Insufficient balance)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"remarks\": \"Verified against invoice #4821\",\n    \"reviewed_by\": \"compliance_team_lead\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/payouts/{payout_id}/action?action=approve","host":["https://api.paysecure.net/api/v1"],"path":["payouts","{payout_id}","action"],"query":[{"key":"action","value":"approve"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"error\",\n    \"data\": {\n        \"payout_id\": \"69d4a15b7c7e1d98769872eb\",\n        \"message\": \"Insufficient Balance [250.00]\"\n    }\n}"},{"id":"082209fc-a4c6-4c7b-8e46-6cdc13d260ef","name":"Approve - Error (Payout not found)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"remarks\": \"Verified against invoice #4821\",\n    \"reviewed_by\": \"compliance_team_lead\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/payouts/{payout_id}/action?action=approve","host":["https://api.paysecure.net/api/v1"],"path":["payouts","{payout_id}","action"],"query":[{"key":"action","value":"approve"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Payout Id Not Found :- 69d4a15b7c7e1d98769872eb\"\n}"},{"id":"c4bf9686-500f-45f5-98cd-09b629acf3ff","name":"Approve - Error (Unauthorized)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"remarks\": \"Verified against invoice #4821\",\n    \"reviewed_by\": \"compliance_team_lead\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/payouts/{payout_id}/action?action=approve","host":["https://api.paysecure.net/api/v1"],"path":["payouts","{payout_id}","action"],"query":[{"key":"action","value":"approve"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Unauthorized\"\n}"}],"_postman_id":"acec71f4-43ef-4058-958d-1de80db487d4"},{"name":"Reject Payout","id":"463665d2-fc18-4f7b-b4c7-da48c5585a75","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"remarks\": \"Failed KYC verification\",\n    \"reviewed_by\": \"risk_team_admin\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/payouts/{payout_id}/action?action=reject","description":"<p>Rejects a payout that is currently in <code>pending_review</code>. On success, the payout is cancelled and its status moves to <code>error</code>; the rejection reason is stored against the payout as its error message.</p>\n<p>It is idempotent — a payout that has already been actioned cannot be rejected again (see <strong>Concepts → Idempotency</strong>).</p>\n<h3 id=\"path--query-parameters\">Path &amp; Query Parameters</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>payout_id</td>\n<td>Mandatory. <br />Path parameter. The unique identifier of the payout to reject.</td>\n</tr>\n<tr>\n<td>action</td>\n<td>Mandatory. <br />Query parameter. Must be <code>reject</code> for this call.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-body-parameters\">Request Body Parameters</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>remarks</td>\n<td>Optional (recommended). <br />Reason for the rejection. Stored as the payout's error message. If omitted or empty, it defaults to <code>\"Rejected\"</code>. Always provide a clear, specific reason for your audit trail.</td>\n</tr>\n<tr>\n<td>reviewed_by</td>\n<td>Optional. <br />Overrides the reviewer identifier recorded against the action. Defaults to the username tied to your API key.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>A successful rejection returns <code>status: \"success\"</code> with <code>previous_status</code> = <code>pending_review</code> and <code>current_status</code> = <code>error</code>. <code>remarks</code> is always included in the response for reject (defaulting to <code>\"Rejected\"</code> if you did not send one).</p>\n<p>See <strong>Concepts → A note on HTTP status codes</strong> for how errors are represented (this endpoint always returns HTTP 200).</p>\n","urlObject":{"path":["payouts","{payout_id}","action"],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"action","value":"reject"}],"variable":[]}},"response":[{"id":"acd193c3-22a8-4285-8dac-c8cf58cfa0fd","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"remarks\": \"Failed KYC verification\",\n    \"reviewed_by\": \"risk_team_admin\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/payouts/{payout_id}/action?action=reject","host":["https://api.paysecure.net/api/v1"],"path":["payouts","{payout_id}","action"],"query":[{"key":"action","value":"reject"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"payout_id\": \"69ce44f1b2dd73d0d148c7d5\",\n        \"previous_status\": \"pending_review\",\n        \"current_status\": \"error\",\n        \"action_performed\": \"reject\",\n        \"reviewed_by\": \"risk_team_admin\",\n        \"reviewed_at\": \"2026-04-16T10:31:20Z\",\n        \"remarks\": \"Failed KYC verification\"\n    }\n}"},{"id":"905d050e-109d-46c8-8c5c-15a018f87b44","name":"Success (Default remarks)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"remarks\": \"Failed KYC verification\",\n    \"reviewed_by\": \"risk_team_admin\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/payouts/{payout_id}/action?action=reject","host":["https://api.paysecure.net/api/v1"],"path":["payouts","{payout_id}","action"],"query":[{"key":"action","value":"reject"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"payout_id\": \"69ce44f1b2dd73d0d148c7d5\",\n        \"previous_status\": \"pending_review\",\n        \"current_status\": \"error\",\n        \"action_performed\": \"reject\",\n        \"reviewed_by\": \"merchant_user_123\",\n        \"reviewed_at\": \"2026-04-16T10:31:20Z\",\n        \"remarks\": \"Rejected\"\n    }\n}"},{"id":"1feb657b-cea2-4e83-ad83-5ef5366f8a57","name":"Error (Already processed)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"remarks\": \"Failed KYC verification\",\n    \"reviewed_by\": \"risk_team_admin\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/payouts/{payout_id}/action?action=reject","host":["https://api.paysecure.net/api/v1"],"path":["payouts","{payout_id}","action"],"query":[{"key":"action","value":"reject"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"error\",\n    \"data\": {\n        \"payout_id\": \"69ce44f1b2dd73d0d148c7d5\",\n        \"current_status\": \"error\",\n        \"message\": \"Payout already processed\"\n    }\n}"},{"id":"e9d817b1-ed99-455a-abfd-48b29750f273","name":"Error (Unauthorized)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"remarks\": \"Failed KYC verification\",\n    \"reviewed_by\": \"risk_team_admin\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/payouts/{payout_id}/action?action=reject","host":["https://api.paysecure.net/api/v1"],"path":["payouts","{payout_id}","action"],"query":[{"key":"action","value":"reject"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Unauthorized\"\n}"}],"_postman_id":"463665d2-fc18-4f7b-b4c7-da48c5585a75"}],"id":"5cc2402e-fb16-4c77-82d3-68c8218535b7","description":"<p>Some payouts are held for <strong>manual review</strong> before Paysecure releases the funds — typically when a payout is flagged by a risk rule or exceeds an auto-approval threshold. These payouts sit in the <code>pending_review</code> status until an authorised reviewer approves or rejects them.</p>\n<p>The <strong>Payout Action API</strong> lets you approve or reject a payout in manual review programmatically, so you can build the review step into your own back-office, risk, or compliance tooling instead of relying on the Paysecure dashboard.</p>\n<img src=\"https://content.pstmn.io/81e63248-8800-4032-b244-53a8c56ce4df/cGF5b3V0X2FjdGlvbl9mbG93LnBuZw==\" alt />\n\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Endpoint</td>\n<td><code>POST https://api.paysecure.net/api/v1/payouts/{payout_id}/action</code></td>\n</tr>\n<tr>\n<td>Purpose</td>\n<td>Approve or reject a payout that is in manual review</td>\n</tr>\n<tr>\n<td>Applies to</td>\n<td>Payouts in <code>pending_review</code> status only</td>\n</tr>\n<tr>\n<td>Action</td>\n<td><code>approve</code> or <code>reject</code> (passed as the <code>action</code> query parameter)</td>\n</tr>\n<tr>\n<td>Authentication</td>\n<td>Bearer API key — stateless, no session required</td>\n</tr>\n<tr>\n<td>Idempotent</td>\n<td>✅ Yes — a payout can be actioned only once</td>\n</tr>\n<tr>\n<td>Approve result</td>\n<td>Status moves <code>pending_review</code> → <code>paid</code></td>\n</tr>\n<tr>\n<td>Reject result</td>\n<td>Status moves <code>pending_review</code> → <code>error</code></td>\n</tr>\n<tr>\n<td>HTTP status</td>\n<td>Always <code>200 OK</code> — the real outcome is in the JSON body (see Concepts)</td>\n</tr>\n<tr>\n<td>Audit fields</td>\n<td><code>reviewed_by</code> and <code>reviewed_at</code> returned on success</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"5cc2402e-fb16-4c77-82d3-68c8218535b7"},{"name":"Partial Refunds","item":[{"name":"Concepts","item":[],"id":"8a82d915-4f91-49cd-b863-658e05a8745e","description":"<p>A partial refund allows merchants to refund a portion of a successfully paid purchase.<br />Multiple partial refunds can be performed until the total refunded amount equals the original purchase amount.</p>\n<h2 id=\"prerequisites\"><strong>Prerequisites</strong></h2>\n<ul>\n<li><p>The purchase must be in paid status.</p>\n</li>\n<li><p>The refund amount must be greater than 0.</p>\n</li>\n<li><p>The refund amount must not exceed the remaining refundable amount.</p>\n</li>\n<li><p>Refunds are processed in the same currency as the original purchase.</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"ab2932be-380a-43f3-b975-44a62035d2c7"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"9e4f75bb-4aaa-444c-90bd-4d09da715abb"}}],"_postman_id":"8a82d915-4f91-49cd-b863-658e05a8745e"},{"name":"API","item":[{"name":"Partial Refund API","id":"21892302-5fe4-4b75-8ff5-079f2eeeaeb6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"*/*"}],"body":{"mode":"raw","raw":"{\n    \"amount\": \"5.12\",\n    \"reason\": \"Partial Refunds Testing\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/refund","description":"<h2 id=\"refund-scenarios\">Refund Scenarios</h2>\n<h3 id=\"partial-refund\">Partial Refund</h3>\n<p>Purchase Amount: 10</p>\n<p>Refund Amount: 8</p>\n<p>Result:</p>\n<ul>\n<li><p>Refunded Amount: 8</p>\n</li>\n<li><p>Remaining Refundable Amount: 2</p>\n</li>\n<li><p>Transaction Status: PARTIALLY_REFUNDED</p>\n</li>\n</ul>\n<p>Full Refund Using Partial Refund API</p>\n<p>Purchase Amount: 10</p>\n<p>Refund Amount: 10</p>\n<p>Result:</p>\n<ul>\n<li><p>Refunded Amount: 10</p>\n</li>\n<li><p>Remaining Refundable Amount: 0</p>\n</li>\n<li><p>Transaction Status: PARTIAL REFUNDED</p>\n</li>\n</ul>\n<h3 id=\"multiple-partial-refunds\">Multiple Partial Refunds</h3>\n<p>Purchase Amount: 10</p>\n<ul>\n<li><p>Refund #1: 3</p>\n</li>\n<li><p>Refund #2: 2</p>\n</li>\n<li><p>Refund #3: 5</p>\n</li>\n</ul>\n<p>Result:</p>\n<ul>\n<li><p>Total Refunded Amount: 10</p>\n</li>\n<li><p>Remaining Refundable Amount: 0</p>\n</li>\n</ul>\n<p>Final Transaction Status: PARTIAL REFUNDED</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"96f1ece1-7986-4e38-bb3d-4edf235b4782","id":"96f1ece1-7986-4e38-bb3d-4edf235b4782","name":"API","type":"folder"}},"urlObject":{"path":["purchases","purchaseid","refund"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"9068b176-c7ad-437d-ad4a-251d6d9b638e","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"*/*"}],"body":{"mode":"raw","raw":"{\n    \"amount\": \"5.12\",\n    \"reason\": \"Partial Refunds Testing\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/refund"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Fri, 05 Jun 2026 08:59:38 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"7aec019b-8a08-4e3d-a158-b092f8c8f998"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 2af44885a7fc4faf5a3444e606d6c02c.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"rWo0eMrwpvBts9xS0P4ftqKaridLKfm2xH9Y5H2CF3k6R1LxgTFMZQ=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=IFwED2Y1XrzWhlXDeYjRi0o%2BPWMlBxaVhLXiHVdLbjLb1oaWhC9H%2BdjTxbu3jV8o0RDcmxT%2BvN3omG1bscFcmMeqERUAG%2BooUZMEJ%2BrFdLVe7yaObwbg963WTVC8cyx7dfvT\"}]}"},{"key":"CF-RAY","value":"a06dfb7c4ed3c995-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"refundId\": \"refundid\",\n    \"purchaseId\": \"purchaseid\",\n    \"amount\": 5.12,\n    \"createdOn\": 1780637310,\n    \"refundOn\": 0,\n    \"status\": \"REFUND_IN_PROCESS\",\n    \"reason\": \"Partial Refunds Testing\",\n    \"currency\": \"USD\"\n}"},{"id":"c5f65be6-a9d1-4b8f-9c2e-4a2434102ccb","name":"Refund Amt Exceeds Purchase Amt","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"*/*"}],"body":{"mode":"raw","raw":"{\n    \"amount\": \"11\", // Purchase Amount: 10\n    \"reason\": \"Partial Refunds Testing\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/refund"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Fri, 05 Jun 2026 09:03:16 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"9f888ccb-1238-4e02-b6dc-764560604b14"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 acbc1e922360be31edf0371abdc7a3a4.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"EWR53-P1"},{"key":"X-Amz-Cf-Id","value":"u0f10ZilZAVELaSZM0QkCGivhENfvhb491tRfbtZBfNmilJhavDeeA=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=G0WYUY8ZL0X6%2BdnZTxN8KgKkvqqBezW18wEdyF5wktbOdTwbgtdIp9wsRiNbSp250CnbNX1q74X0cENF8dT3V5P8gbQ2kw%2BW1%2FWf9LNh1aVj8tHeCAfooAi0il9zhZGaj7z4\"}]}"},{"key":"CF-RAY","value":"a06e00cefac89c79-IAD"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Refund amount exceeds refundable amount\",\n  \"code\": \"validation_error\"\n}"},{"id":"5afec450-5f66-40b3-b994-52baef09ffc4","name":"Refund Amt Is 0 or -ve","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"*/*"}],"body":{"mode":"raw","raw":"{\n    \"amount\": \"-5.12\",\n    \"reason\": \"Partial Refunds Testing\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/refund"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Fri, 05 Jun 2026 09:04:29 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"2e380b48-7668-448d-af95-980482c35c8f"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 3578d122de1401ebc52a7afd35dd5d0c.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"B705OGUJpsFVyyUtTS_xidVoz9_kniiAFlHKn0_sL6R6oOQ9BMHZFA=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Wd5pKM%2B%2BBY35cSdYdYOJesaPTVX3KJ1M%2Bd68og7dF7hMaOL00aU4Xm3A7Ab%2BKitUSfwtu5owy8TVmxjQ%2BRNaOp1w2WiatUO7z%2Bayx4TPFfNzLk2eAlmERpeO%2F5Dy18l6%2F4H1\"}]}"},{"key":"CF-RAY","value":"a06e02977d392431-IAD"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Refund amount must be greater than 0\",\n  \"code\": \"validation_error\"\n}"},{"id":"b84f15dd-f668-434c-8027-69d5a150170f","name":"Empty Refund Amt","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"*/*"}],"body":{"mode":"raw","raw":"{\n    \"reason\": \"Partial Refunds Testing\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/refund"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Fri, 05 Jun 2026 09:05:38 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"5573f74e-1147-4a84-ad79-08260f6c229d"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 70e9f6c79b570a07593d98d3c3eb2fc6.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"XhGSCeKH6brQ_0b2TQ7RfvwMzYyCp3-qSQ4N2rErhuolIMcxqQB3tw=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=X2YEtc%2F6jCxDP78BlzJBFZfi11NZuirslkboc3hUZCfp1XYpHRAdPv8X3hzhFfHJHJPCjCOZrphGL%2FkrohE%2FC6yvIPVC8Tn7G1%2B0Km7nQ16umqQe%2BdDFT%2BkMIkIKPRqdaErn\"}]}"},{"key":"CF-RAY","value":"a06e0449a9f91de9-IAD"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Amount is required\",\n  \"code\": \"validation_error\"\n}"},{"id":"f694b36c-4a79-4cbf-bb3e-738130e8cd1e","name":"Invalid Purchase ID","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"*/*"}],"body":{"mode":"raw","raw":"{\n    \"amount\": \"5.12\",\n    \"reason\": \"Partial Refunds Testing\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/refund"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Fri, 05 Jun 2026 09:06:14 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"193bc177-e65b-4f27-8e3d-a1c3242b44c0"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 347540535e60ba585992da68b62d1ae8.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SIN2-P6"},{"key":"X-Amz-Cf-Id","value":"nQfeXU4EOHhf5w662MDpgndsZOJ2Lv5MJudzq5Ks9OK3S8zPhDXpRw=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=kzHplT3Ggl%2Fu0lxeqmQOcBQxukHE9gO%2F7R0wyfqoD4IiGWSbD1mmaIha7sf9GSp8o%2FJHy9NV8RMdynlScuqpoZI%2FuKo1OF%2F5j96iBu7iEdqO%2Fx9nKqKfAPDFaka%2FR7kfDqRQ\"}]}"},{"key":"CF-RAY","value":"a06e05207bbe52d6-IAD"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Transaction not found\",\n  \"code\": \"transaction_error\"\n}"},{"id":"bede6cdc-7d86-4c00-aa98-da1fb6c103a5","name":"Refund on Failed or Pending Transactions","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"*/*"}],"body":{"mode":"raw","raw":"{\n    \"amount\": \"5.12\",\n    \"reason\": \"Partial Refunds Testing\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/refund"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Fri, 05 Jun 2026 09:06:38 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"6a7e4072-0cb1-41a9-9669-afc26d71050d"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 a863373015dd073e91a52d99d8ad6bfc.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"KIIfqqaMKmLQqAQbuawRHDuPpcu4EnErL0aeEgFHGYY-FdmMISHmgg=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=8hGQxlHaR2s3QJOa7YijWckCFTcGSeOoU555kG9iM743FjcOdN2Q8IUlKe1015LzlbfPT0b6ZJT0eiE2mmp09iUU%2F%2BCQPt8qnEeD6PJkMkWpn45xqNeHO20Wl8PjbJuI0XZV\"}]}"},{"key":"CF-RAY","value":"a06e05ba9e43c975-IAD"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Only Purchases with `status == (paid)` can be refunded.\",\n  \"code\": \"transaction_error\"\n}"},{"id":"b334608c-dfdb-4f39-bbe2-3cbd0f6d52b6","name":"Refund on an Already Refunded Purchase","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"*/*"}],"body":{"mode":"raw","raw":"{\n    \"amount\": \"5.12\",\n    \"reason\": \"Partial Refunds Testing\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/refund"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Fri, 05 Jun 2026 09:07:09 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"560fb162-4210-4496-8249-26bf3393409e"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 1a12f863197f986ec10d35ed76e104f0.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"tYQhkaUXrvj3OWc-rQiJp_FnzIBB3mubhjv7yn0w0TaAb6YzKH1Tww=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=SWrtdoBSkmhyNXsahHAdETrqPoOxh89DlcFUaF8D4DOftFPt0BtSVkjBR%2B7G8VbZfModmKZEwe1drtHOkeYMq9oz2PqsnSgYghGs%2Bi%2BqNA%2B4GZ6Z8mYI5BNCiuOJ5k%2FxY9HN\"}]}"},{"key":"CF-RAY","value":"a06e0680dc6724ad-IAD"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Purchase has already been fully refunded\",\n  \"code\": \"transaction_error\"\n}"},{"id":"e1b92869-6255-4211-9eeb-a35d3f785520","name":"Refund Exceeds Remaining Balance After a Partial Refund","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"*/*"}],"body":{"mode":"raw","raw":"{\n    \"amount\": \"5.12\", // Remaining Refundable Amount is 2.0\n    \"reason\": \"Partial Refunds Testing\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/purchases/purchaseid/refund"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Fri, 05 Jun 2026 09:09:03 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"aced1038-4a60-45fb-a14b-f4cdc9ca63b4"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 1a12f863197f986ec10d35ed76e104f0.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"IAD61-P10"},{"key":"X-Amz-Cf-Id","value":"ALmfTGjt9X7OliM6NeGzmkWzns9dzm9J5TnVUAV3egqzFolwOcidoA=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=UtL7zsQvnJ1BIIU8L%2FUyyQd4LiG%2BxMTEzuq%2B0zEM8dhVVZByPP5HkJW7urlk62Rzg%2BFG2Af9VAyMi4REGU5EPnIty%2BthzF4%2FojIE8%2FiFA0flLX5zu%2B4Kb3vJ4AoTU5mEyWf2\"}]}"},{"key":"CF-RAY","value":"a06e094ab9763210-IAD"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Refund amount exceeds refundable amount: 2.0\",\n  \"code\": \"validation_error\"\n}"}],"_postman_id":"21892302-5fe4-4b75-8ff5-079f2eeeaeb6"},{"name":"Partial Refund Status API","id":"03973846-2279-410b-9fd7-e7a830a8faca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"refundId\": \"refundid\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/refundStatus/purchaseid/","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"96f1ece1-7986-4e38-bb3d-4edf235b4782","id":"96f1ece1-7986-4e38-bb3d-4edf235b4782","name":"API","type":"folder"}},"urlObject":{"path":["refundStatus","purchaseid",""],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"24b49654-2bf9-408e-ae5f-c2de2347b029","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{APIKey}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"refundId\": \"refundid\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/refundStatus/purchaseid/"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Wed, 10 Jun 2026 15:09:28 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"X-Frame-Options","value":"ALLOW-FROM *"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"x-session-id","value":"5be6468d-a804-478e-8e27-8fd83f43359b"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"Server","value":"cloudflare"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"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":"Error from cloudfront"},{"key":"Via","value":"1.1 9d35ce6897d7f02042955443076a54de.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"EWR53-P1"},{"key":"X-Amz-Cf-Id","value":"Z2XLcFaGFRDj2ZuwTFJHQEaWWHB-I3MUtw5N2nMV7CNy55ImAEtfow=="},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=WE1Q25t02u566zmtnXqm%2F%2FBAsilvCpOzlMzs3i%2F3Py3%2BJO%2FnNNBSHDCXlW4OtMYjNBc6jOpCsAMj0plUVemEWy8KMy8TLLPi0Vrte%2BET6ZNPsDzZXkEqXiFkpjTFGyTde9HC\"}]}"},{"key":"CF-RAY","value":"a0994c1f8a41311a-IAD"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"refundId\": \"refundid\",\n    \"purchaseId\": \"purchaseid\",\n    \"amount\": 3.0,\n    \"createdOn\": 1780982811,\n    \"refundOn\": 1780982814,\n    \"status\": \"REFUNDED\",\n    \"reason\": \"test\",\n    \"currency\": \"USD\"\n}\n"}],"_postman_id":"03973846-2279-410b-9fd7-e7a830a8faca"}],"id":"96f1ece1-7986-4e38-bb3d-4edf235b4782","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"b5867463-b4db-4122-8a68-c0c754a9531e"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"40e61ee4-b54f-4b6b-b6d7-d5a25c7318cc"}}],"_postman_id":"96f1ece1-7986-4e38-bb3d-4edf235b4782","description":""}],"id":"804dfe63-f658-4581-9ecf-68d385a872cd","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"301d7d9b-341f-441e-9c42-1ea3b6cff739"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"4e700909-7af0-41d5-82a0-b5ab0454a0da"}}],"_postman_id":"804dfe63-f658-4581-9ecf-68d385a872cd","description":""},{"name":"Test Cards","item":[{"name":"Concepts","item":[],"id":"68bd1193-1e6f-4763-ae86-1333e9e9c161","description":"<h2 id=\"what-these-are\">What these are</h2>\n<p>Paysecure's sandbox accepts a fixed set of card numbers, each mapped to a predetermined outcome. Submitting one through the normal card flow produces that outcome every time, which lets you prove your integration handles success, decline, timeout, and pending paths without depending on a live issuer.</p>\n<p>The current set was introduced on 18 December 2025 and replaced an earlier, smaller set. The earlier cards no longer work.</p>\n<h2 id=\"enabling-sandbox\">Enabling sandbox</h2>\n<ol>\n<li>In your merchant dashboard, toggle <strong>Is Sandbox</strong> on, in the top right under your merchant profile.</li>\n<li>Generate a sandbox <strong>API Key</strong>, <strong>Brand ID</strong>, and <strong>Public Key</strong>.</li>\n<li>Configure your webhook callback URL.</li>\n</ol>\n<p>The API key is what selects the environment. The base URL does not change. See <strong>⚙️ Integration Steps</strong> for the full onboarding sequence.</p>\n<blockquote>\n<p>⚠️ Because the base URL is identical, a production key will send a real transaction to a real acquirer. Make sure a test suite cannot resolve a production key.</p>\n</blockquote>\n<h2 id=\"universal-rules\">Universal rules</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Rule</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>card_number</code></td>\n<td>Must be one of the 44 cards documented here. Any other number will not produce a defined outcome</td>\n</tr>\n<tr>\n<td><code>expires</code></td>\n<td><code>MM/YY</code>. Any value at or after the current month and year</td>\n</tr>\n<tr>\n<td><code>cvc</code></td>\n<td>Any 3 or 4 digits. The value does not affect the outcome. To test a CVV failure, use the <strong>Incorrect cvv</strong> card with any CVV</td>\n</tr>\n<tr>\n<td>3DS OTP</td>\n<td><code>123456</code> on the challenge screen. Applies to 3D Secure cards only</td>\n</tr>\n<tr>\n<td>Amount</td>\n<td>Does not affect the outcome. There are no magic amounts</td>\n</tr>\n</tbody>\n</table>\n</div><p>The outcome is determined <strong>entirely by the card number</strong>. Nothing else in the request changes it, which means the request you validate in sandbox is the request you send in production.</p>\n<h2 id=\"the-card-flow\">The card flow</h2>\n<p>Card payments are a three-step flow, unchanged between sandbox and production:</p>\n<ul>\n<li><strong>Step 1, create the purchase.</strong> <code>POST https://api.paysecure.net/api/v1/purchases/</code> registers the transaction and returns a <code>purchaseId</code>. Status is <code>CREATED</code>.</li>\n<li><strong>Step 2, submit the card.</strong> <code>POST https://api.paysecure.net/api/v1/p/{purchaseId}/?s2s=true</code> sends the card and device details from your server. A <code>202</code> response returns a <code>callback_url</code>.</li>\n<li><strong>Step 3, invoke the callback from the customer's browser.</strong> For a 3D Secure card the customer is taken to the issuer challenge; enter OTP <code>123456</code>. For a 2D card the outcome is applied directly. The customer then lands on <code>success_redirect</code>, <code>pending_redirect</code>, or <code>failure_redirect</code>.</li>\n</ul>\n<p>Poll <code>GET https://api.paysecure.net/api/v1/purchases/{purchaseId}/</code> at any point, and expect a signed webhook on each status change. See <strong>💳 Card Payments → Concepts</strong> for the full flow and <strong>🔌 Webhooks</strong> for signature verification.</p>\n<h2 id=\"what-a-sandbox-card-result-does-and-does-not-prove\">What a sandbox card result does and does not prove</h2>\n<p><strong>It proves:</strong></p>\n<ul>\n<li>Your request is well formed and accepted by the <code>/purchases</code> and S2S contracts.</li>\n<li>Your code handles the <code>202</code> plus <code>callback_url</code> handshake correctly.</li>\n<li>Your code handles each terminal status and its <code>status_history</code> transitions.</li>\n<li>Your 3DS redirect and return handling works, including the challenge screen.</li>\n<li>Your webhook listener is reachable and your RSA signature verification is correct.</li>\n<li>Your redirect handling is correct for all three outcome URLs.</li>\n</ul>\n<p><strong>It does not prove:</strong></p>\n<ul>\n<li>That your acquirer or MID is live, configured, or correctly routed. The sandbox does not contact an acquirer.</li>\n<li>That real issuer behaviour matches. A real decline carries the issuer's own reason code, which may not match the sandbox message.</li>\n<li>That your 3DS configuration is production-ready. The sandbox challenge is not a real ACS.</li>\n<li>That real-world latency is handled. Sandbox outcomes are returned immediately.</li>\n<li>That settlement, reconciliation, or fee handling works. Nothing settles.</li>\n</ul>\n<h2 id=\"coverage\">Coverage</h2>\n<p>Every one of the eleven outcomes exists in four variants: Visa 2D, Visa 3DS, Mastercard 2D, and Mastercard 3DS. There are no gaps in that grid, so any outcome can be tested against either scheme in either authentication mode.</p>\n","_postman_id":"68bd1193-1e6f-4763-ae86-1333e9e9c161"},{"name":"2D (Non-3DS) Test Cards","item":[],"id":"6622d2ae-c5f2-4501-b2d8-6f311e5423c7","description":"<p>These cards complete without a 3D Secure challenge. The customer is not redirected to an issuer page; the outcome is applied and the customer goes straight to the final redirect URL.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Behaviour</strong></th>\n<th><strong>Visa</strong></th>\n<th><strong>Mastercard</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authentication successful</td>\n<td><code>4079 7225 8931 8630</code></td>\n<td><code>5116 2131 1342 9327</code></td>\n</tr>\n<tr>\n<td>Authentication failed</td>\n<td><code>4125 4854 4552 7190</code></td>\n<td><code>5112 8571 2490 9935</code></td>\n</tr>\n<tr>\n<td>Issuer decline</td>\n<td><code>4401 2799 8573 9470</code></td>\n<td><code>5198 1348 9228 4199</code></td>\n</tr>\n<tr>\n<td>Insufficient funds</td>\n<td><code>4662 9222 9343 1520</code></td>\n<td><code>5143 3126 0627 1514</code></td>\n</tr>\n<tr>\n<td>Incorrect cvv</td>\n<td><code>4935 6487 0739 0280</code></td>\n<td><code>5110 3398 3298 5475</code></td>\n</tr>\n<tr>\n<td>Incorrect card expiry</td>\n<td><code>4460 6520 5283 2634</code></td>\n<td><code>5146 6694 8773 5546</code></td>\n</tr>\n<tr>\n<td>Risk check failed</td>\n<td><code>4588 3817 1151 7694</code></td>\n<td><code>5192 4883 4399 0234</code></td>\n</tr>\n<tr>\n<td>Processor timeout</td>\n<td><code>4568 7301 1436 1775</code></td>\n<td><code>5136 5284 8649 4418</code></td>\n</tr>\n<tr>\n<td>Pending execution</td>\n<td><code>4710 7930 9735 8785</code></td>\n<td><code>5199 8054 0948 2512</code></td>\n</tr>\n<tr>\n<td>Transaction expired</td>\n<td><code>4945 2083 3559 6614</code></td>\n<td><code>5140 3783 5864 2890</code></td>\n</tr>\n<tr>\n<td>Refund failed</td>\n<td><code>4405 9359 5695 4713</code></td>\n<td><code>5149 4461 0436 9687</code></td>\n</tr>\n</tbody>\n</table>\n</div><p>Use any expiry at or after the current month, and any CVV.</p>\n","_postman_id":"6622d2ae-c5f2-4501-b2d8-6f311e5423c7"},{"name":"3D Secure Test Cards","item":[],"id":"3e87e2e4-24fc-4790-a941-06436a055658","description":"<p>These cards trigger a 3D Secure challenge. The customer is redirected to a simulated issuer authentication page after the <code>callback_url</code> is invoked.</p>\n<p><strong>OTP for every 3D Secure card is</strong> **<code>123456</code>****.<br />**</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Behaviour</strong></th>\n<th><strong>Visa</strong></th>\n<th><strong>Mastercard</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authentication successful</td>\n<td><code>4878 3979 5329 0146</code></td>\n<td><code>5141 9226 3586 6282</code></td>\n</tr>\n<tr>\n<td>Authentication failed</td>\n<td><code>4195 2587 2491 3240</code></td>\n<td><code>5169 8116 3632 4572</code></td>\n</tr>\n<tr>\n<td>Issuer decline</td>\n<td><code>4618 8895 9831 9798</code></td>\n<td><code>5115 4385 6083 4809</code></td>\n</tr>\n<tr>\n<td>Insufficient funds</td>\n<td><code>4984 8235 9957 3265</code></td>\n<td><code>5156 2161 5219 3051</code></td>\n</tr>\n<tr>\n<td>Incorrect cvv</td>\n<td><code>4383 0252 2566 5997</code></td>\n<td><code>5151 7359 3086 5446</code></td>\n</tr>\n<tr>\n<td>Incorrect card expiry</td>\n<td><code>4500 6828 1154 0204</code></td>\n<td><code>5559 1619 2354 1480</code></td>\n</tr>\n<tr>\n<td>Risk check failed</td>\n<td><code>4342 3463 1819 5134</code></td>\n<td><code>5159 9716 0053 0380</code></td>\n</tr>\n<tr>\n<td>Processor timeout</td>\n<td><code>4163 3401 2206 8617</code></td>\n<td><code>5185 1518 8503 2695</code></td>\n</tr>\n<tr>\n<td>Pending execution</td>\n<td><code>4994 4550 6063 2359</code></td>\n<td><code>5170 3615 6899 3009</code></td>\n</tr>\n<tr>\n<td>Transaction expired</td>\n<td><code>4566 3299 0194 4380</code></td>\n<td><code>5127 1606 8372 2580</code></td>\n</tr>\n<tr>\n<td>Refund failed</td>\n<td><code>4241 2148 1352 4459</code></td>\n<td><code>5162 1646 3047 1008</code></td>\n</tr>\n</tbody>\n</table>\n</div><p>Use any expiry at or after the current month, and any CVV.</p>\n<p>Note that the outcome is fixed by the card, not by the OTP. Entering the correct OTP on an <strong>Authentication failed</strong> card still produces a failure, which is the point: it lets you test a failed authentication without needing to enter a wrong OTP.</p>\n","_postman_id":"3e87e2e4-24fc-4790-a941-06436a055658"},{"name":"Brand Coverage","item":[],"id":"3c62eb6d-810a-4b71-a2b4-d2c021242bdd","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Scheme</strong></th>\n<th><strong>Testable in sandbox</strong></th>\n<th><strong>Cards</strong></th>\n<th><strong>2D</strong></th>\n<th><strong>3DS</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Visa</td>\n<td>✅</td>\n<td>22</td>\n<td>✅ All 11 outcomes</td>\n<td>✅ All 11 outcomes</td>\n</tr>\n<tr>\n<td>Mastercard</td>\n<td>✅</td>\n<td>22</td>\n<td>✅ All 11 outcomes</td>\n<td>✅ All 11 outcomes</td>\n</tr>\n<tr>\n<td>JCB</td>\n<td>❌</td>\n<td>0</td>\n<td>❌</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>American Express</td>\n<td>❌</td>\n<td>0</td>\n<td>❌</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>Diners Club / Discover</td>\n<td>❌</td>\n<td>0</td>\n<td>❌</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>UnionPay</td>\n<td>❌</td>\n<td>0</td>\n<td>❌</td>\n<td>❌</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"what-this-means-for-you\">What this means for you</h2>\n<p>If you accept only Visa and Mastercard, the sandbox covers your full outcome matrix.</p>\n<p>If you accept any other scheme, that part of your integration cannot be tested in sandbox and must be validated with low-value live transactions. Scheme-specific behaviour worth planning live tests for includes different PAN lengths, four-digit CID handling on American Express, and scheme-specific decline codes.</p>\n","_postman_id":"3c62eb6d-810a-4b71-a2b4-d2c021242bdd"},{"name":"APIs","item":[{"name":"Purchase","id":"2d067469-8232-4f28-b558-0d3d35265ec4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3782@example.com\",\n        \"full_name\": \"Test Customer\",\n        \"country\": \"IN\",\n        \"city\": \"Ashford\",\n        \"street_address\": \"90 Fixture Close\",\n        \"zip_code\": \"400001\",\n        \"phone\": \"+910000000000\"\n    },\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"Card test item\",\n                \"price\": 10.0\n            }\n        ]\n    },\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"CARD-TEST-0001\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases","description":"<p>Step 1 of the card flow. Registers the transaction and returns the <code>purchaseId</code> used by every later call. This call is identical for 2D and 3D Secure; the card, and therefore the authentication mode, is not supplied until Step 2.</p>\n<p>Authenticate with your <strong>sandbox</strong> API key and send your <strong>sandbox</strong> <code>brand_id</code>.</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\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>Conditional. <br />Recommended. Any syntactically valid address; no mail reaches a real customer in sandbox.</td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td>Optional. <br />Customer name. Does not need to match <code>cardholder_name</code>.</td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>Conditional. <br />ISO 3166-1 alpha-2.</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>Optional. <br />Customer city.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td>Optional. <br />Customer street address.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>Optional. <br />Customer postal code.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>Optional. <br />E.164 format.</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory. <br />ISO 4217 code.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory. <br />Line-item description.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory. <br />Decimal with 2 places, for example <code>10.00</code>. The amount does not affect the outcome; the card does.</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Mandatory. <br />Your <strong>sandbox</strong> Brand ID, from the Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>merchantRef</td>\n<td>Optional. <br />Your own reference. See Essential Optional Parameters below.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory. <br />Where the customer lands after a successful outcome.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Conditional. <br />Where the customer lands after a pending outcome. Mandatory if you intend to test the <strong>Pending execution</strong> cards.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory. <br />Where the customer lands after a failed outcome.</td>\n</tr>\n<tr>\n<td>success_callback</td>\n<td>Conditional. <br />Webhook URL for successful outcomes, if not configured account-wide.</td>\n</tr>\n<tr>\n<td>failure_callback</td>\n<td>Conditional. <br />Webhook URL for failed outcomes, if not configured account-wide.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"essential-optional-parameters\">Essential Optional Parameters</h2>\n<p><code>merchantRef</code> is your own reference for the transaction and carries two advantages. It prevents duplicates: resending a request with a <code>merchantRef</code> you have already used lets you detect and reject the repeat rather than creating a second purchase. It also makes retrieval straightforward, because you can find the transaction by your own identifier instead of storing Paysecure's <code>purchaseId</code>. When running a card test matrix, use a scheme-based value such as <code>CARD-TEST-0001</code> so a run is easy to find in Transaction Reporting, and change it for every attempt.</p>\n<h2 id=\"response\">Response</h2>\n<p>The full purchase envelope. <code>status</code> is <code>CREATED</code>, <code>status_history</code> holds a single <code>created</code> entry, and <code>transaction_data.attempts</code> is empty until the card is submitted in Step 2. Take <code>purchaseId</code> and use it in the S2S call.</p>\n<blockquote>\n<p><strong>Values in the saved examples are illustrative; the structure is authoritative.</strong> Timestamps, references, and identifiers are made up.</p>\n</blockquote>\n","urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"3c2a6267-af67-428e-a738-874c1baad6a3","name":"Purchase - Success (created)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3782@example.com\",\n        \"full_name\": \"Test Customer\",\n        \"country\": \"IN\",\n        \"city\": \"Ashford\",\n        \"street_address\": \"90 Fixture Close\",\n        \"zip_code\": \"400001\",\n        \"phone\": \"+910000000000\"\n    },\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"Card test item\",\n                \"price\": 10.0\n            }\n        ]\n    },\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"CARD-TEST-0001\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a6db590b1c2d3e4f5a6b701\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"user3782@example.com\",\n        \"phone\": \"+910000000000\",\n        \"full_name\": \"Test Customer\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"90 Fixture Close\",\n        \"country\": \"IN\",\n        \"city\": \"Ashford\",\n        \"zip_code\": \"400001\",\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\": \"\"\n    },\n    \"updated_on\": 1785574800,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785574800,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"Card test item\",\n                \"quantity\": 1,\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\": 10.0,\n        \"request_client_details\": [],\n        \"timezone\": \"Asia/Kolkata\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 10.0,\n        \"currency\": \"USD\",\n        \"net_amount\": 10.0,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": null,\n        \"remote_paid_on\": null\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\": \"Example Merchant\",\n        \"brand_name\": \"Example Merchant\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"VISA\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"12\",\n            \"expiry_year\": \"30\",\n            \"amount\": 10.0,\n            \"card_issuer\": \"\",\n            \"masked_pan\": \"407972XXXXXX8630\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"\",\n            \"cardholder_name\": \"Test Customer\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.138\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": false,\n                \"country\": \"\",\n                \"processing_time\": 1785574819,\n                \"extra\": {\n                    \"expiry_month\": \"12\",\n                    \"expiry_year\": \"30\",\n                    \"amount\": 10.0,\n                    \"card_issuer\": \"\",\n                    \"masked_pan\": \"407972XXXXXX8630\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"\",\n                    \"cardholder_name\": \"Test Customer\"\n                }\n            }\n        ]\n    },\n    \"status\": \"CREATED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785574800\n        }\n    ],\n    \"viewedOn\": null,\n    \"is_test\": true,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"CARD-TEST-0001\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"<PAYSECURE_REFERENCE>\",\n    \"issued\": \"2026-08-01\",\n    \"due\": 1785574800,\n    \"refund_upto\": 1785574800,\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\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.138\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a6db590b1c2d3e4f5a6b701/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a6db590b1c2d3e4f5a6b701/\",\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"},{"id":"8dd45604-4397-4daa-be41-82d896a0b162","name":"Purchase - Error (Brand not found)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3782@example.com\",\n        \"full_name\": \"Test Customer\",\n        \"country\": \"IN\",\n        \"city\": \"Ashford\",\n        \"street_address\": \"90 Fixture Close\",\n        \"zip_code\": \"400001\",\n        \"phone\": \"+910000000000\"\n    },\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"Card test item\",\n                \"price\": 10.0\n            }\n        ]\n    },\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"CARD-TEST-0003\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Brand not found!\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"2d067469-8232-4f28-b558-0d3d35265ec4"},{"name":"S2S","id":"39c85520-3e9b-4549-8cc9-2c7a6cdff1db","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"cardholder_name\": \"Test Customer\",\n    \"card_number\": \"4111111111111111\",\n    \"expires\": \"12/30\",\n    \"cvc\": \"123\",\n    \"remember_card\": \"off\",\n    \"remote_ip\": \"203.0.113.68\",\n    \"user_agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 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}","options":{"raw":{"language":"json"}}},"url":"https://api.paysecure.net/api/v1/p/{purchaseId}/?s2s=true","description":"<p>Step 2 of the card flow. Submits the card and device details from your server. <strong>This is the call that determines the outcome</strong>, because the outcome is fixed by the card number.</p>\n<p>A successful submission returns <code>202</code> with a <code>callback_url</code>. Direct the customer's browser to that URL to complete Step 3.</p>\n<h2 id=\"path-and-query-parameters\">Path and Query Parameters</h2>\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>purchaseId</td>\n<td>Mandatory. <br />Path parameter. The <code>purchaseId</code> returned by <code>POST https://api.paysecure.net/api/v1/purchases/</code>.</td>\n</tr>\n<tr>\n<td>s2s</td>\n<td>Mandatory. <br />Query parameter. Must be <code>true</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"request-body-parameters\">Request Body Parameters</h2>\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>cardholder_name</td>\n<td>Mandatory. <br />Name of the cardholder. Any value in sandbox.</td>\n</tr>\n<tr>\n<td>card_number</td>\n<td>Mandatory. <br />One of the 44 documented test cards. <strong>This field alone determines the outcome.</strong> Any other number will not produce a defined result.</td>\n</tr>\n<tr>\n<td>expires</td>\n<td>Mandatory. <br /><code>MM/YY</code>. Any month and year at or after the current one. To test an expiry failure use the <strong>Incorrect card expiry</strong> card with a valid future date, not a past date.</td>\n</tr>\n<tr>\n<td>cvc</td>\n<td>Mandatory. <br />Any 3 or 4 digits. To test a CVV failure use the <strong>Incorrect cvv</strong> card.</td>\n</tr>\n<tr>\n<td>remember_card</td>\n<td>Mandatory. <br /><code>\"on\"</code> or <code>\"off\"</code>. Whether Paysecure stores the card.</td>\n</tr>\n<tr>\n<td>remote_ip</td>\n<td>Mandatory. <br />IP address of the customer's device. Used for fraud checks and risk scoring.</td>\n</tr>\n<tr>\n<td>user_agent</td>\n<td>Mandatory. <br />Full browser and OS string from the HTTP header.</td>\n</tr>\n<tr>\n<td>accept_header</td>\n<td>Mandatory. <br />The browser's <code>Accept</code> header value.</td>\n</tr>\n<tr>\n<td>language</td>\n<td>Optional. <br />Browser language, for example <code>en-US</code>.</td>\n</tr>\n<tr>\n<td>java_enabled</td>\n<td>Optional. <br /><code>true</code> or <code>false</code>. Used in device profiling.</td>\n</tr>\n<tr>\n<td>javascript_enabled</td>\n<td>Optional. <br /><code>true</code> or <code>false</code>. Used for 3DS and risk-based checks.</td>\n</tr>\n<tr>\n<td>color_depth</td>\n<td>Optional. <br />Display bit depth, for example <code>24</code>.</td>\n</tr>\n<tr>\n<td>utc_offset</td>\n<td>Optional. <br />Minutes between local time and UTC.</td>\n</tr>\n<tr>\n<td>screen_width</td>\n<td>Optional. <br />Device screen width in pixels.</td>\n</tr>\n<tr>\n<td>screen_height</td>\n<td>Optional. <br />Device screen height in pixels.</td>\n</tr>\n</tbody>\n</table>\n</div><p>The device and browser fields feed 3DS risk assessment. Send realistic values when testing 3D Secure cards.</p>\n<h2 id=\"swapping-the-outcome\">Swapping the outcome</h2>\n<p>To test a different outcome, change <strong>only</strong> <code>card_number</code>. Create a fresh purchase first, with a new <code>merchantRef</code>, because a <code>purchaseId</code> that has already been submitted cannot be reused and will return <code>Allowed Attempt for this Transaction has been consumed</code>.</p>\n<h2 id=\"response\">Response</h2>\n<p><code>202 Accepted</code> with a <code>callback_url</code>. Invoke it from the customer's browser to complete the flow. For a 3D Secure card this leads to the challenge screen, where the OTP is <code>123456</code>.</p>\n<p>Errors follow the standard <code>{\"message\", \"code\"}</code> shape. See <strong>🖥️ Status Code</strong>.</p>\n","urlObject":{"path":["p","{purchaseId}",""],"host":["https://api.paysecure.net/api/v1"],"query":[{"key":"s2s","value":"true"}],"variable":[]}},"response":[{"id":"dd217bf7-7f74-436a-af1e-c902358400ac","name":"S2S - Accepted (callback_url returned)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"cardholder_name\": \"Test Customer\",\n    \"card_number\": \"4111111111111111\",\n    \"expires\": \"12/30\",\n    \"cvc\": \"123\",\n    \"remember_card\": \"off\",\n    \"remote_ip\": \"203.0.113.68\",\n    \"user_agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 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}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/p/{purchaseId}/?s2s=true","host":["https://api.paysecure.net/api/v1"],"path":["p","{purchaseId}",""],"query":[{"key":"s2s","value":"true"}]}},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"pending\",\n    \"callback_url\": \"https://api.paysecure.net/api/v1/payment/6a6db590b1c2d3e4f5a6b701/\",\n    \"method\": \"GET\"\n}"},{"id":"7fad98b7-17c2-4a23-b4f1-eb221f5f96f3","name":"S2S - Error (attempts consumed)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"cardholder_name\": \"Test Customer\",\n    \"card_number\": \"4111111111111111\",\n    \"expires\": \"12/30\",\n    \"cvc\": \"123\",\n    \"remember_card\": \"off\",\n    \"remote_ip\": \"203.0.113.68\",\n    \"user_agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 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}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.paysecure.net/api/v1/p/{purchaseId}/?s2s=true","host":["https://api.paysecure.net/api/v1"],"path":["p","{purchaseId}",""],"query":[{"key":"s2s","value":"true"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Allowed Attempt for this Transaction has been consumed\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"39c85520-3e9b-4549-8cc9-2c7a6cdff1db"},{"name":"Get Status","id":"fbc39445-5f83-4742-a4f4-0be9017faf02","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}","description":"<p>Step 3 verification. Returns the current state of the purchase as the full envelope, with <code>status</code> and <code>status_history</code> reflecting the outcome the test card produced.</p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\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>purchaseId</td>\n<td>Mandatory. <br />The <code>purchaseId</code> returned by <code>POST https://api.paysecure.net/api/v1/purchases/</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"statuses-you-will-see\">Statuses you will see</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong><code>status</code></strong></th>\n<th><strong>Produced by</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>CREATED</code></td>\n<td>Purchase created, card not yet submitted</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>PENDING EXECUTE</code></td>\n<td>S2S called, <code>callback_url</code> not yet invoked</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>PAYMENT IN PROCESS</code></td>\n<td>Customer action pending, including 3DS challenge</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>PAID</code></td>\n<td>An <strong>Authentication successful</strong> card</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>ERROR</code></td>\n<td>Any decline, timeout, or authentication failure card</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>EXPIRED</code></td>\n<td>A <strong>Transaction expired</strong> card</td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><p><code>status_history</code> uses lowercase names with Unix timestamps; the top-level <code>status</code> is uppercase. For a declined transaction, read <code>errorMsg</code> for the reason rather than inferring it from <code>status</code>.</p>\n<p><code>[VERIFY]</code> Which status the <strong>Pending execution</strong> cards settle at, and whether they later move on.</p>\n","urlObject":{"path":["purchases","{purchaseId}"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"37d4b172-d8c6-43dd-a18f-05302ccdda41","name":"Get Status - PAID (Authentication successful card)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a6db590b1c2d3e4f5a6b701\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"user3782@example.com\",\n        \"phone\": \"+910000000000\",\n        \"full_name\": \"Test Customer\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"90 Fixture Close\",\n        \"country\": \"IN\",\n        \"city\": \"Ashford\",\n        \"zip_code\": \"400001\",\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\": \"\"\n    },\n    \"updated_on\": 1785574819,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785574800,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"Card test item\",\n                \"quantity\": 1,\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\": 10.0,\n        \"request_client_details\": [],\n        \"timezone\": \"Asia/Kolkata\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 10.0,\n        \"currency\": \"USD\",\n        \"net_amount\": 10.0,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1785574819,\n        \"remote_paid_on\": 1785574819\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\": \"Example Merchant\",\n        \"brand_name\": \"Example Merchant\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"VISA\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"12\",\n            \"expiry_year\": \"30\",\n            \"amount\": 10.0,\n            \"card_issuer\": \"\",\n            \"masked_pan\": \"407972XXXXXX8630\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"\",\n            \"cardholder_name\": \"Test Customer\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.138\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"\",\n                \"processing_time\": 1785574819,\n                \"extra\": {\n                    \"expiry_month\": \"12\",\n                    \"expiry_year\": \"30\",\n                    \"amount\": 10.0,\n                    \"card_issuer\": \"\",\n                    \"masked_pan\": \"407972XXXXXX8630\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"\",\n                    \"cardholder_name\": \"Test Customer\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785574800\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785574808\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1785574815\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1785574819\n        }\n    ],\n    \"viewedOn\": 1785574806,\n    \"is_test\": true,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"CARD-TEST-0001\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"<PAYSECURE_REFERENCE>\",\n    \"issued\": \"2026-08-01\",\n    \"due\": 1785574800,\n    \"refund_upto\": 1785574800,\n    \"cc_descriptor\": \"\",\n    \"refund_availability\": \"ALL\",\n    \"refundable_amount\": 10.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    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.138\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a6db590b1c2d3e4f5a6b701/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a6db590b1c2d3e4f5a6b701/\",\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"},{"id":"51588c37-4e3e-4de9-bdbc-3e48cb815305","name":"Get Status - ERROR (Issuer decline card)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a6db590b1c2d3e4f5a6b701\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"user3782@example.com\",\n        \"phone\": \"+910000000000\",\n        \"full_name\": \"Test Customer\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"90 Fixture Close\",\n        \"country\": \"IN\",\n        \"city\": \"Ashford\",\n        \"zip_code\": \"400001\",\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\": \"\"\n    },\n    \"updated_on\": 1785574819,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785574800,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"Card test item\",\n                \"quantity\": 1,\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\": 10.0,\n        \"request_client_details\": [],\n        \"timezone\": \"Asia/Kolkata\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 10.0,\n        \"currency\": \"USD\",\n        \"net_amount\": 10.0,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": null,\n        \"remote_paid_on\": null\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\": \"Example Merchant\",\n        \"brand_name\": \"Example Merchant\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"VISA\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"12\",\n            \"expiry_year\": \"30\",\n            \"amount\": 10.0,\n            \"card_issuer\": \"\",\n            \"masked_pan\": \"440127XXXXXX9470\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"\",\n            \"cardholder_name\": \"Test Customer\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.138\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": false,\n                \"country\": \"\",\n                \"processing_time\": 1785574819,\n                \"extra\": {\n                    \"expiry_month\": \"12\",\n                    \"expiry_year\": \"30\",\n                    \"amount\": 10.0,\n                    \"card_issuer\": \"\",\n                    \"masked_pan\": \"440127XXXXXX9470\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"\",\n                    \"cardholder_name\": \"Test Customer\"\n                }\n            }\n        ]\n    },\n    \"status\": \"ERROR\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785574800\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785574808\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1785574815\n        },\n        {\n            \"status\": \"error\",\n            \"timestamp\": 1785574819\n        }\n    ],\n    \"viewedOn\": 1785574806,\n    \"is_test\": true,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"CARD-TEST-0002\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"<PAYSECURE_REFERENCE>\",\n    \"issued\": \"2026-08-01\",\n    \"due\": 1785574800,\n    \"refund_upto\": 1785574800,\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\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.138\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a6db590b1c2d3e4f5a6b701/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a6db590b1c2d3e4f5a6b701/\",\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"},{"id":"3d8ab712-6478-4599-8936-18c382e59600","name":"Get Status - Error (Purchase not found)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"PurchaseId Not found.\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"fbc39445-5f83-4742-a4f4-0be9017faf02"}],"id":"e13b3504-d3e7-4729-8297-c74b9052852f","description":"<p>The three-step card flow, unchanged between sandbox and production. Create the purchase, submit the card, then invoke the callback from the customer's browser and read the result.</p>\n","_postman_id":"e13b3504-d3e7-4729-8297-c74b9052852f"},{"name":"Troubleshooting","item":[],"id":"20656c7a-1ab5-4aef-93fa-76054324383b","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Symptom</strong></th>\n<th><strong>Likely cause</strong></th>\n<th><strong>Fix</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>A test card was declined as an ordinary card, and a real transaction may have been attempted</td>\n<td>A production API key was used. These cards only behave as documented in Sandbox mode</td>\n<td>Check which key your environment resolved. Keep sandbox and production keys in separate configuration so a test suite cannot reach production</td>\n</tr>\n<tr>\n<td>Outcome does not match the table</td>\n<td>The card number was altered, or a card outside the documented set was used</td>\n<td>Re-check the number digit by digit. Only the 44 documented cards produce defined outcomes</td>\n</tr>\n<tr>\n<td><code>Invalid Card Expiry(Valid Format:MM/YY) must be greater than current month/year</code></td>\n<td>A past expiry date was sent</td>\n<td>Use any date at or after the current month. To test an expiry failure use the <strong>Incorrect card expiry</strong> card with a valid future date</td>\n</tr>\n<tr>\n<td><code>Allowed Attempt for this Transaction has been consumed</code></td>\n<td>S2S was called more than the permitted number of times on one <code>purchaseId</code></td>\n<td>Create a new purchase for each attempt, with a new <code>merchantRef</code>. <code>[VERIFY]</code> the exact attempt limit</td>\n</tr>\n<tr>\n<td>3DS challenge screen rejects the OTP</td>\n<td>Wrong OTP</td>\n<td>The OTP is <code>123456</code> for every 3D Secure test card</td>\n</tr>\n<tr>\n<td>Correct OTP entered but the transaction still failed</td>\n<td>Expected, if an <strong>Authentication failed</strong> card was used</td>\n<td>The outcome is fixed by the card, not the OTP</td>\n</tr>\n<tr>\n<td>No webhook received</td>\n<td>Callback URL not configured or not reachable</td>\n<td>Confirm <code>success_callback</code> and <code>failure_callback</code>, or the account-wide setting, and that the endpoint is publicly reachable</td>\n</tr>\n<tr>\n<td>Webhook signature verification fails</td>\n<td>Verifying against the wrong public key, or a canonicalisation bug</td>\n<td>Verify against the sandbox account's public key, per <strong>🔌 Webhooks</strong>. This is a real finding, not a sandbox artefact</td>\n</tr>\n<tr>\n<td>Cannot test American Express or JCB</td>\n<td>No test cards exist for those schemes</td>\n<td>See <strong>Brand Coverage</strong>. Validate with low-value live transactions</td>\n</tr>\n<tr>\n<td>Refund test does not behave as expected</td>\n<td>Refunds depend on the purchase first reaching <code>PAID</code></td>\n<td>Use the <strong>Refund failed</strong> card to test the failure path. <code>[VERIFY]</code> the exact sequence and message</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"error-response-shape\">Error response shape</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"message\": \"descriptive error message\",\n    \"code\": \"transaction_error\"\n}\n</code></pre><p>For a detailed reason, read <code>errorMsg</code> in the purchase envelope or webhook payload rather than relying on <code>status</code> alone.</p>\n<h2 id=\"reporting-a-mismatch\">Reporting a mismatch</h2>\n<p>If a card does not produce its documented outcome, report it rather than working around it. These tables are only useful if they are exact. Raise it through your usual technical support channel. <code>[TBD: confirm the support address.]</code></p>\n","_postman_id":"20656c7a-1ab5-4aef-93fa-76054324383b"}],"id":"a483ee09-d904-448d-be5e-393e8fae4748","description":"<p>Test cards for validating a card integration in <strong>Sandbox mode</strong>. Forty-four cards cover eleven outcomes across Visa and Mastercard, in both 2D (non-3DS) and 3D Secure variants, so every branch of your integration can be exercised deterministically before you process a live transaction.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Applies to</td>\n<td>Card payments only</td>\n</tr>\n<tr>\n<td>Environment</td>\n<td>Sandbox mode. Toggle <strong>Is Sandbox</strong> in the top right of your merchant dashboard</td>\n</tr>\n<tr>\n<td>Base URL</td>\n<td><code>https://api.paysecure.net/api/v1</code> (same as production)</td>\n</tr>\n<tr>\n<td>Cards available</td>\n<td>44</td>\n</tr>\n<tr>\n<td>Schemes</td>\n<td>Visa, Mastercard</td>\n</tr>\n<tr>\n<td>Auth types</td>\n<td>2D (non-3DS) and 3D Secure, for every outcome</td>\n</tr>\n<tr>\n<td>Outcomes</td>\n<td>11</td>\n</tr>\n<tr>\n<td>Expiry date</td>\n<td>Any month and year at or after the current month</td>\n</tr>\n<tr>\n<td>CVV</td>\n<td>Any 3 or 4 digits</td>\n</tr>\n<tr>\n<td>3DS OTP</td>\n<td><code>123456</code></td>\n</tr>\n<tr>\n<td>Cost</td>\n<td>None. No funds move</td>\n</tr>\n</tbody>\n</table>\n</div><blockquote>\n<p>These cards work only in Sandbox mode. In Live mode they will be treated as ordinary card numbers and declined. Confirm which environment your API key belongs to before running a test suite.</p>\n</blockquote>\n","_postman_id":"a483ee09-d904-448d-be5e-393e8fae4748"},{"name":"APM Simulator","item":[{"name":"Concepts","item":[],"id":"aab8fc74-9f0b-4fa2-a143-da922e46a0f2","description":"<h2 id=\"what-the-apm-simulator-is\">What the APM Simulator is</h2>\n<p>The APM Simulator is a simulated counterparty for alternative payment methods. When you send a <code>POST https://api.paysecure.net/api/v1/purchases/</code> request authenticated with <strong>sandbox</strong> credentials and a supported <code>paymentMethod</code>, Paysecure routes the purchase to the simulator rather than to a live PSP. You receive a normal purchase response including a <code>checkout_url</code>, which resolves to a hosted simulator cashier page. On that page the outcome is selected explicitly, and the purchase then behaves as it would if a real APM had returned that outcome: statuses advance, a webhook fires, and the customer is redirected to the matching <code>\\*_redirect</code> URL from your request.</p>\n<img src=\"https://content.pstmn.io/83443dab-ae30-4111-8ed4-22bef19c013a/YXBtX3NpbXVsYXRvcl9wYXlpbl9mbG93LnBuZw==\" alt />\n\n<h2 id=\"when-to-use-it\">When to use it</h2>\n<ul>\n<li><p>Building a new APM integration before the PSP contract is signed or credentials are issued.</p>\n</li>\n<li><p>Exercising the decline and pending branches of your code deterministically, rather than hoping to observe them in production.</p>\n</li>\n<li><p>Verifying that your webhook listener receives, parses, and RSA-verifies a Paysecure callback.</p>\n</li>\n<li><p>Confirming that all three redirect URLs are handled correctly.</p>\n</li>\n<li><p>Running APM regression tests in CI, so an integration proven last release is proven again this release.</p>\n</li>\n</ul>\n<h2 id=\"what-a-simulated-result-does-and-does-not-prove\">What a simulated result does and does not prove</h2>\n<p>Read this section before you rely on a simulated pass as evidence of readiness.</p>\n<p><strong>A simulated result proves:</strong></p>\n<ul>\n<li><p>Your request is well formed and accepted by the <code>/purchases</code> contract.</p>\n</li>\n<li><p>Your code correctly handles the purchase response, including <code>checkout_url</code> and <code>purchaseId</code>.</p>\n</li>\n<li><p>Your code correctly handles the status you forced, and the <code>status_history</code> transitions leading to it.</p>\n</li>\n<li><p>Your webhook endpoint is reachable, and your RSA signature verification is correct.</p>\n</li>\n<li><p>Your redirect handling is correct for success, pending, and failure.</p>\n</li>\n</ul>\n<p><strong>A simulated result does not prove:</strong></p>\n<ul>\n<li><p>That the PSP has onboarded, underwritten, or certified you. The simulator never contacts a PSP.</p>\n</li>\n<li><p>That the live rail is enabled on your account, or that your MID is active.</p>\n</li>\n<li><p>That the real APM will return the same field values. Method-specific payload data such as a real Pix payload, a real CLABE, or a real Fawry reference is not issued by the simulator.</p>\n</li>\n<li><p>That your timeout and retry logic is correctly tuned. Simulated outcomes resolve instantly.</p>\n</li>\n<li><p>That you handle every PSP-specific error condition. The simulator exposes three outcomes, not the full error surface of a live rail.</p>\n</li>\n</ul>\n<h2 id=\"how-a-simulated-transaction-differs-from-a-live-apm-transaction\">How a simulated transaction differs from a live APM transaction</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Aspect</strong></th>\n<th><strong>Simulated</strong></th>\n<th><strong>Live APM</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Credentials</td>\n<td>Sandbox API key and Brand ID</td>\n<td>Production API key and Brand ID</td>\n</tr>\n<tr>\n<td>Endpoint and contract</td>\n<td>Identical</td>\n<td>Identical</td>\n</tr>\n<tr>\n<td>Counterparty</td>\n<td>Paysecure simulator</td>\n<td>PSP and the underlying rail</td>\n</tr>\n<tr>\n<td>Customer experience</td>\n<td>Hosted simulator cashier page with outcome buttons</td>\n<td>The real APM app, bank page, QR, or voucher</td>\n</tr>\n<tr>\n<td>Outcome</td>\n<td>Selected on the cashier page</td>\n<td>Determined by the customer and the rail</td>\n</tr>\n<tr>\n<td>Timing</td>\n<td>Instant, not configurable</td>\n<td>Seconds to hours, method-dependent</td>\n</tr>\n<tr>\n<td>Money movement</td>\n<td>None</td>\n<td>Real funds, real settlement</td>\n</tr>\n<tr>\n<td>Webhook signature</td>\n<td>RSA signed, as in production</td>\n<td>RSA signed</td>\n</tr>\n<tr>\n<td>Webhook payload</td>\n<td>Reduced field set <code>[TBD: confirm omitted fields with engineering]</code></td>\n<td>Full field set</td>\n</tr>\n<tr>\n<td>Method-specific payload</td>\n<td>Not issued</td>\n<td>Real payload, CLABE, reference, or QR</td>\n</tr>\n<tr>\n<td>Refunds and disputes</td>\n<td>Not available</td>\n<td>Available where the method supports them</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"payin-lifecycle\">PayIn lifecycle</h2>\n<p><strong>How it works.</strong> You create the purchase, send the customer to the simulator cashier page, the outcome is selected there, and Paysecure then advances the purchase and notifies you. Nothing in the request body controls the outcome, which is deliberate: the request you validate against the simulator has the same shape and the same fields as the request you will send in production. The only values that change at go-live are your API key and your <code>brand_id</code>.</p>\n<p><strong>Flow</strong></p>\n<ul>\n<li><p><strong>Merchant creates the purchase:</strong> <code>POST https://api.paysecure.net/api/v1/purchases/</code> with sandbox credentials, a supported <code>paymentMethod</code>, and all three of <code>success_redirect</code>, <code>pending_redirect</code>, and <code>failure_redirect</code> populated.</p>\n</li>\n<li><p><strong>Paysecure responds:</strong> the full purchase envelope, with <code>status</code> = <code>CREATED</code> and a <code>checkout_url</code>.</p>\n</li>\n<li><p><strong>Merchant redirects the customer:</strong> to the <code>checkout_url</code>. This is the simulator cashier page, not a real APM page.</p>\n</li>\n<li><p><strong>Outcome is selected:</strong> Success, Failure, or Pending, on the cashier page.</p>\n</li>\n<li><p><strong>Paysecure applies the outcome:</strong> <code>status</code> and <code>status_history</code> advance to reflect it, immediately.</p>\n</li>\n<li><p><strong>Paysecure fires the webhook:</strong> RSA signed, to your configured callback URL.</p>\n</li>\n<li><p><strong>Customer is redirected:</strong> to <code>success_redirect</code>, <code>pending_redirect</code>, or <code>failure_redirect</code> as appropriate.</p>\n</li>\n<li><p><strong>Pending expires:</strong> a purchase left in the pending state later moves to <code>EXPIRED</code>, and an expiry webhook is fired. The window is not a single fixed value: each method uses the same expiry window as the real APM it stands in for.</p>\n</li>\n</ul>\n<p>Note that the simulator has no \"pending then paid\" path. Selecting Pending leads to expiry, not to a later success. If your integration must handle a pending-to-paid transition, that transition has to be validated against a live PSP connection.</p>\n<h2 id=\"webhook-events\">Webhook events</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Event</strong></th>\n<th><strong><code>status</code></strong></th>\n<th><strong>When it fires</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Payment in process</td>\n<td><code>PENDING</code></td>\n<td>Pending selected on the cashier page</td>\n<td>❌</td>\n</tr>\n<tr>\n<td>Purchase paid</td>\n<td><code>PAID</code></td>\n<td>Success selected on the cashier page</td>\n<td>✅</td>\n</tr>\n<tr>\n<td>Purchase error</td>\n<td><code>ERROR</code></td>\n<td>Failure selected on the cashier page</td>\n<td>✅</td>\n</tr>\n<tr>\n<td>Purchase expired</td>\n<td><code>EXPIRED</code></td>\n<td>Pending window elapsed without resolution</td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><p><code>[VERIFY]</code> The status values above follow Paysecure's documented purchase lifecycle rather than anything confirmed about the simulator. Before publishing, confirm with engineering: (a) the exact uppercase <code>status</code> the simulator writes for each cashier-page selection, (b) the exact webhook event name emitted for each, (c) which lowercase <code>status_history</code> entries the simulator actually writes, since the saved examples assume <code>created</code>, <code>pending_execute</code>, <code>payment_in_process</code>, <code>paid</code>, <code>error</code>, and <code>expired</code>, and (d) whether a webhook fires on creation. No creation webhook is documented here because none was confirmed.</p>\n<h2 id=\"coverage-and-limits\">Coverage and limits</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>APM</strong></th>\n<th><strong><code>paymentMethod</code></strong></th>\n<th><strong>Market</strong></th>\n<th><strong>Currency</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>UPI Collect</td>\n<td><code>UPI-COLLECT</code></td>\n<td>🇮🇳 India</td>\n<td>INR</td>\n</tr>\n<tr>\n<td>UPI QR</td>\n<td><code>UPI-QR</code></td>\n<td>🇮🇳 India</td>\n<td>INR</td>\n</tr>\n<tr>\n<td>Netbanking</td>\n<td><code>NETBANKING</code></td>\n<td>🇮🇳 India</td>\n<td>INR</td>\n</tr>\n<tr>\n<td>Interac e-Transfer</td>\n<td><code>INTERAC</code></td>\n<td>🇨🇦 Canada</td>\n<td>CAD</td>\n</tr>\n<tr>\n<td>Interac Express</td>\n<td><code>INTERAC-EXPRESS</code></td>\n<td>🇨🇦 Canada</td>\n<td>CAD</td>\n</tr>\n<tr>\n<td>Interac Request Money</td>\n<td><code>INTERAC-REQUEST-MONEY</code></td>\n<td>🇨🇦 Canada</td>\n<td>CAD</td>\n</tr>\n<tr>\n<td>Pix</td>\n<td><code>PIX</code></td>\n<td>🇧🇷 Brazil</td>\n<td>BRL</td>\n</tr>\n<tr>\n<td>SPEI</td>\n<td><code>SPEI</code></td>\n<td>🇲🇽 Mexico</td>\n<td>MXN</td>\n</tr>\n<tr>\n<td>Fawry</td>\n<td><code>FawryPay</code></td>\n<td>🇪🇬 Egypt</td>\n<td>EGP</td>\n</tr>\n</tbody>\n</table>\n</div><p><code>[VERIFY]</code> Market and currency mappings are the standard rail defaults for each method and have not been confirmed against the simulator connector configuration.</p>\n<p>Standard sandbox limits and data retention apply. There are no simulator-specific limits and no cost.</p>\n","_postman_id":"aab8fc74-9f0b-4fa2-a143-da922e46a0f2"},{"name":"Enabling the Simulator","item":[],"id":"fe766c04-8705-40c3-9497-a6c65326edeb","description":"<h2 id=\"credentials\">Credentials</h2>\n<p>The simulator is enabled on every existing Paysecure sandbox account. There is nothing to request, no new credential to provision, and no key rotation required.</p>\n<p>You need two values, both of which are in the Dashboard section of your merchant account login:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Where it goes</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Sandbox API key</td>\n<td><code>Authorization: Bearer {{APIKey}}</code> header</td>\n<td>Must be the <strong>sandbox</strong> key. A production key routes to a live PSP</td>\n</tr>\n<tr>\n<td>Sandbox Brand ID</td>\n<td><code>brand_id</code> in the request body</td>\n<td>Must be the Brand ID belonging to the sandbox account</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"endpoint\">Endpoint</h2>\n<p><code>POST https://api.paysecure.net/api/v1/purchases/</code></p>\n<p><code>https://api.paysecure.net/api/v1</code> is <code>https://api.paysecure.net/api/v1</code>, the same base URL as production. There is no separate simulator host.</p>\n<h2 id=\"the-trigger\">The trigger</h2>\n<p><strong>The credentials are the trigger.</strong> Send your normal purchase request with a supported <code>paymentMethod</code> value and sandbox credentials, and the transaction is routed to the simulator. There is:</p>\n<ul>\n<li>no simulator-specific <code>paymentMethod</code> or <code>psp_code</code>,</li>\n<li>no header to add,</li>\n<li>no <code>extraParam</code> to set,</li>\n<li>no magic amount,</li>\n<li>no test email address or MSISDN,</li>\n<li>no dashboard toggle.</li>\n</ul>\n<p>This is intentional. Because no simulator-specific field exists, the request you validate against the simulator has the same shape and the same fields as the one you send in production. Two values change at go-live, your API key and your <code>brand_id</code>, and both are configuration rather than logic. Promoting an integration from simulator to live is a configuration change, not a code change.</p>\n<blockquote>\n<p>⚠️ The corollary is that a production API key sends a real transaction to a real PSP. Confirm which key your environment is loading before you run a test suite.</p>\n</blockquote>\n<h2 id=\"prerequisites\">Prerequisites</h2>\n<ul>\n<li>A webhook endpoint reachable from Paysecure, with RSA signature verification implemented. See the 🔌 <strong>Webhooks</strong> section of these docs for the signature scheme.</li>\n<li>Values for <code>success_redirect</code>, <code>pending_redirect</code>, and <code>failure_redirect</code>. All three are needed to exercise all three outcomes.</li>\n</ul>\n","_postman_id":"fe766c04-8705-40c3-9497-a6c65326edeb"},{"name":"Supported APMs","item":[],"id":"26f88e3a-c299-488b-b4e3-e5d03029f920","description":"<p>The following methods simulate. Any <code>paymentMethod</code> value not in this table will not simulate, and the request will be handled as it is today for an unsupported or unconfigured method.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>APM</strong></th>\n<th><strong><code>paymentMethod</code></strong></th>\n<th><strong>Market</strong></th>\n<th><strong>Currency</strong></th>\n<th><strong>Notes and quirks</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>UPI Collect</td>\n<td><code>UPI-COLLECT</code></td>\n<td>🇮🇳 India</td>\n<td>INR</td>\n<td>Collect request pushed to the customer's UPI app.</td>\n</tr>\n<tr>\n<td>UPI QR</td>\n<td><code>UPI-QR</code></td>\n<td>🇮🇳 India</td>\n<td>INR</td>\n<td>QR-presented flow in production. The simulator substitutes its own cashier page.</td>\n</tr>\n<tr>\n<td>Netbanking</td>\n<td><code>NETBANKING</code></td>\n<td>🇮🇳 India</td>\n<td>INR</td>\n<td>Bank-selection redirect in production.</td>\n</tr>\n<tr>\n<td>Interac e-Transfer</td>\n<td><code>INTERAC</code></td>\n<td>🇨🇦 Canada</td>\n<td>CAD</td>\n<td>Standard Interac online banking redirect.</td>\n</tr>\n<tr>\n<td>Interac Express</td>\n<td><code>INTERAC-EXPRESS</code></td>\n<td>🇨🇦 Canada</td>\n<td>CAD</td>\n<td>Express variant. Confirm it is enabled on your production account before go-live.</td>\n</tr>\n<tr>\n<td>Interac Request Money</td>\n<td><code>INTERAC-REQUEST-MONEY</code></td>\n<td>🇨🇦 Canada</td>\n<td>CAD</td>\n<td>Request-money variant, customer-initiated approval in production.</td>\n</tr>\n<tr>\n<td>Pix</td>\n<td><code>PIX</code></td>\n<td>🇧🇷 Brazil</td>\n<td>BRL</td>\n<td>QR/copy-paste payload in production. The simulator does not issue a real Pix payload.</td>\n</tr>\n<tr>\n<td>SPEI</td>\n<td><code>SPEI</code></td>\n<td>🇲🇽 Mexico</td>\n<td>MXN</td>\n<td>CLABE-based bank transfer in production. No real CLABE is issued by the simulator.</td>\n</tr>\n<tr>\n<td>Fawry</td>\n<td><code>FawryPay</code></td>\n<td>🇪🇬 Egypt</td>\n<td>EGP</td>\n<td>Voucher/reference flow in production. No real Fawry reference is issued.</td>\n</tr>\n</tbody>\n</table>\n</div><p><code>[VERIFY]</code> Market and currency mappings above are the standard rail defaults for each method. Confirm them against the simulator connector configuration.</p>\n<p><code>[VERIFY]</code> <code>FawryPay</code> is mixed case while every other enum in the list is uppercase, and the documented convention for <code>paymentMethod</code> is an uppercase value. Confirm whether the correct enum is <code>FawryPay</code> or <code>FAWRYPAY</code> before publishing.</p>\n<h2 id=\"not-covered\">Not covered</h2>\n<ul>\n<li><strong>PayOut.</strong> The simulator is PayIn only.</li>\n<li><strong>Refunds, partial refunds, chargebacks, disputes, and reversals.</strong> No post-transaction flow is simulated.</li>\n<li><strong>Every other payment method,</strong> including cards, bank transfers, and open banking. More APMs will be added over time. No schedule is published.</li>\n</ul>\n<h2 id=\"method-specific-caveat\">Method-specific caveat</h2>\n<p>For methods whose production flow depends on a payload the rail issues, such as a Pix payload, a SPEI CLABE, or a Fawry reference, the simulator does not issue that value. The simulator substitutes its own cashier page. If your integration parses or renders such a payload, that parsing must be validated against a live PSP connection. See <strong>Migrating from Simulator to Live</strong>.</p>\n","_postman_id":"26f88e3a-c299-488b-b4e3-e5d03029f920"},{"name":"Forcing Outcomes","item":[],"id":"c4ddfef6-7842-41a4-b442-235ff8918aaa","description":"<h2 id=\"scenario-matrix\">Scenario matrix</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Outcome</strong></th>\n<th><strong>How to trigger</strong></th>\n<th><strong>Resulting</strong> <strong><code>status</code></strong></th>\n<th><strong>Webhook</strong></th>\n<th><strong>Customer returns to</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Success</td>\n<td>Select <strong>Success</strong> on the simulator cashier page</td>\n<td><code>PAID</code></td>\n<td>Fired, terminal</td>\n<td><code>success_redirect</code></td>\n</tr>\n<tr>\n<td>Failure</td>\n<td>Select <strong>Failure</strong> on the simulator cashier page</td>\n<td><code>ERROR</code></td>\n<td>Fired, terminal</td>\n<td><code>failure_redirect</code></td>\n</tr>\n<tr>\n<td>Pending</td>\n<td>Select <strong>Pending</strong> on the simulator cashier page</td>\n<td><code>PENDING</code></td>\n<td>Fired, non-terminal</td>\n<td><code>pending_redirect</code></td>\n</tr>\n<tr>\n<td>Expired</td>\n<td>Leave a Pending purchase unresolved until its expiry window elapses</td>\n<td><code>EXPIRED</code></td>\n<td>Fired, terminal</td>\n<td>Not applicable, no further customer interaction</td>\n</tr>\n</tbody>\n</table>\n</div><p><code>[VERIFY]</code> Exact <code>status</code> values and webhook event names per selection, per the note in <strong>Concepts</strong>.</p>\n<h2 id=\"the-request-is-the-same-for-every-outcome\">The request is the same for every outcome</h2>\n<p>There is no <code>test_scenario</code> parameter, no magic amount, and no flag. <strong>The request body is identical for all three outcomes.</strong> The outcome is selected downstream, on the cashier page.</p>\n<p>This means the \"request example for each outcome\" is one example, and the divergence happens after it:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>POST https://api.paysecure.net/api/v1/purchases/\nAuthorization: Bearer {{APIKey}}\nContent-Type: application/json\n&lt;the body shown in PayIn API → Purchases&gt;\n\n</code></pre><p>To test a success, open the returned <code>checkout_url</code> and select Success. To test a decline, send the request again with a <strong>new</strong> <code>merchantRef</code> and select Failure. To test pending and expiry, send it again with another new <code>merchantRef</code>, select Pending, and wait out the method's expiry window. Reuse the same <code>merchantRef</code> across runs and your own duplicate-prevention logic should reject the repeat, which is a useful test in itself but not the one you are trying to run here.</p>\n<h2 id=\"recommended-test-matrix\">Recommended test matrix</h2>\n<p>Run this sequence per method you intend to go live with:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>#</strong></th>\n<th><strong>Test</strong></th>\n<th><strong>What you are proving</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>Success</td>\n<td>Purchase creation, <code>checkout_url</code> handling, paid webhook, <code>success_redirect</code></td>\n</tr>\n<tr>\n<td>2</td>\n<td>Failure</td>\n<td>Your failure branch, error webhook, <code>failure_redirect</code>, and that you do not mark the order paid</td>\n</tr>\n<tr>\n<td>3</td>\n<td>Pending</td>\n<td>Your pending branch, that the order is held rather than failed or paid, and <code>pending_redirect</code></td>\n</tr>\n<tr>\n<td>4</td>\n<td>Pending to expiry</td>\n<td>That the expiry webhook releases or cancels the held order correctly</td>\n</tr>\n<tr>\n<td>5</td>\n<td>Duplicate <code>merchantRef</code></td>\n<td>Your duplicate-prevention behaviour</td>\n</tr>\n<tr>\n<td>6</td>\n<td>Webhook signature tamper</td>\n<td>That your verification rejects an altered payload</td>\n</tr>\n</tbody>\n</table>\n</div><p>Tests 5 and 6 are not simulator features, they are tests the simulator makes cheap to run repeatedly.</p>\n<p>Tests 1 to 3, 5, and 6 resolve instantly and are suitable for a normal CI job. Test 4 is not: it waits out the method's real expiry window, which can be long. Run it in a scheduled or long-running job rather than in a per-commit pipeline.</p>\n<h2 id=\"expiry-windows\">Expiry windows</h2>\n<p>The pending-to-expired window is not a single fixed value. Each method expires on the same window as the real APM it stands in for, so the timing you observe in the simulator is the timing to design for. <code>[TBD: engineering to supply the per-method expiry windows so they can be tabulated here.]</code></p>\n","_postman_id":"c4ddfef6-7842-41a4-b442-235ff8918aaa"},{"name":"PayIn API","item":[{"name":"Purchases","id":"57cda182-a223-4994-b7ee-ada75f4253ba","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3782@example.com\",\n        \"full_name\": \"Test Customer\",\n        \"country\": \"IN\",\n        \"city\": \"Ashford\",\n        \"street_address\": \"90 Fixture Close\",\n        \"zip_code\": \"400001\",\n        \"phone\": \"+910000000000\"\n    },\n    \"purchase\": {\n        \"currency\": \"INR\",\n        \"products\": [\n            {\n                \"name\": \"Simulator test item\",\n                \"price\": 100.0\n            }\n        ]\n    },\n    \"paymentMethod\": \"UPI-COLLECT\",\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"SIM-UPI-0001\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases","description":"<p>To initiate a simulated APM payment, the first call to make is <code>/purchases</code>. It is the same call, the same URL, and the same body you use in production. Authenticating with <strong>sandbox</strong> credentials is what routes the purchase to the simulator.</p>\n<p>The response is the full purchase envelope. The field you need next is <code>checkout_url</code>, which is the simulator cashier page. Send the customer there and select the outcome you want to test.</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\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>Conditional. <br />Recommended. Any syntactically valid address works in the simulator; no mail is delivered to a real customer.</td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td>Optional. <br />Customer name.</td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>Conditional. <br />ISO 3166-1 alpha-2. Should match the market of the <code>paymentMethod</code> you are simulating, for example <code>IN</code> for <code>UPI-COLLECT</code>.</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>Optional. <br />Customer city.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td>Optional. <br />Customer street address.</td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td>Optional. <br />Customer postal code.</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>Optional. <br />E.164 format. No message is sent by the simulator.</td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>Mandatory. <br />ISO 4217 code. Should be the currency configured for the <code>paymentMethod</code> being simulated, for example <code>INR</code> for <code>UPI-COLLECT</code>. See <strong>Supported APMs</strong>. <code>[VERIFY]</code> whether a currency and method mismatch is rejected outright or simply fails downstream.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>Mandatory. <br />Line-item description.</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Mandatory. <br />Decimal with 2 places, for example <code>100.00</code>. The amount does not influence the outcome; there are no magic amounts in the simulator.</td>\n</tr>\n<tr>\n<td>paymentMethod</td>\n<td>Mandatory. <br />One of the supported simulator enums. See <strong>Supported APMs</strong>. A value outside that list will not simulate.</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Mandatory. <br />Your <strong>sandbox</strong> Brand ID, from the Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>merchantRef</td>\n<td>Optional. <br />Your own reference. See Essential Optional Parameters below.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>Mandatory. <br />Where the customer is returned after selecting Success.</td>\n</tr>\n<tr>\n<td>pending_redirect</td>\n<td>Conditional. <br />Mandatory if you want to exercise the Pending outcome, because that is where the customer is returned after selecting Pending. Populate it even if you do not expect pending in production, or you cannot test the pending branch at all.</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>Mandatory. <br />Where the customer is returned after selecting Failure.</td>\n</tr>\n<tr>\n<td>success_callback</td>\n<td>Conditional. <br />Webhook URL for successful outcomes, if not configured account-wide.</td>\n</tr>\n<tr>\n<td>failure_callback</td>\n<td>Conditional. <br />Webhook URL for failed outcomes, if not configured account-wide.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"essential-optional-parameters\">Essential Optional Parameters</h2>\n<p><code>merchantRef</code> is your own reference for the transaction and carries two advantages. It prevents duplicates: if you resend a request with a <code>merchantRef</code> you have already used, you can detect and reject the repeat rather than creating a second purchase. It also makes retrieval straightforward, because you can locate the transaction by your own identifier instead of storing and matching Paysecure's <code>purchaseId</code>. In the simulator it is worth setting a predictable, scheme-based value such as <code>SIM-UPI-0001</code>, so a CI run's transactions are easy to find in Transaction Reporting.</p>\n<h2 id=\"response\">Response</h2>\n<p>The response is the complete purchase envelope, not a trimmed object. At creation:</p>\n<ul>\n<li><code>status</code> is <code>CREATED</code> and <code>status_history</code> holds a single <code>created</code> entry.</li>\n<li><code>checkout_url</code> is the simulator cashier page. Send the customer here.</li>\n<li><code>transaction_data.attempts</code> is empty until an outcome is selected.</li>\n<li><code>refund_availability</code> is <code>NONE</code>, because refunds are not simulated.</li>\n<li><code>payment.paid_on</code> is <code>null</code> until Success is selected.</li>\n</ul>\n<blockquote>\n<p><strong>Values in the saved examples are illustrative; the structure is authoritative.</strong> Timestamps, references, and identifiers are made up. Do not treat any specific value as a contract.</p>\n</blockquote>\n<p><code>[VERIFY]</code> Three things in the saved examples are inference, not confirmed simulator behaviour, and must be checked before publishing:</p>\n<ol>\n<li><strong><code>is_test</code></strong> is shown as <code>false</code> because that is the documented envelope default. If the simulator sets <code>is_test: true</code>, that is the field merchants and support should filter reporting on, and every example here must be corrected.</li>\n<li><strong><code>status_history</code> entries.</strong> The examples assume <code>pending_execute</code> and <code>payment_in_process</code> are written. Confirm which intermediate states the simulator actually produces.</li>\n<li><strong><code>transaction_data.attempts</code> semantics,</strong> including whether an attempt is recorded for a pending purchase and what <code>successful</code> holds while the purchase is unresolved.</li>\n</ol>\n","urlObject":{"path":["purchases"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"2a2e04e1-f598-4414-8103-e84ed06dce2d","name":"Purchase - Success (created, awaiting outcome selection)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3782@example.com\",\n        \"full_name\": \"Test Customer\",\n        \"country\": \"IN\",\n        \"city\": \"Ashford\",\n        \"street_address\": \"90 Fixture Close\",\n        \"zip_code\": \"400001\",\n        \"phone\": \"+910000000000\"\n    },\n    \"purchase\": {\n        \"currency\": \"INR\",\n        \"products\": [\n            {\n                \"name\": \"Simulator test item\",\n                \"price\": 100.0\n            }\n        ]\n    },\n    \"paymentMethod\": \"UPI-COLLECT\",\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"SIM-UPI-0001\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a6db590a1b2c3d4e5f6a701\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"user3782@example.com\",\n        \"phone\": \"+910000000000\",\n        \"full_name\": \"Test Customer\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"90 Fixture Close\",\n        \"country\": \"IN\",\n        \"city\": \"Ashford\",\n        \"zip_code\": \"400001\",\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\": \"\"\n    },\n    \"updated_on\": 1785574800,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785574800,\n    \"purchase\": {\n        \"currency\": \"INR\",\n        \"products\": [\n            {\n                \"name\": \"Simulator test item\",\n                \"quantity\": 1,\n                \"price\": 100.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 100.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 100.0,\n        \"request_client_details\": [],\n        \"timezone\": \"Asia/Kolkata\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 100.0,\n        \"currency\": \"INR\",\n        \"net_amount\": 100.0,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": null,\n        \"remote_paid_on\": null\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\": \"Example Merchant\",\n        \"brand_name\": \"Example Merchant\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"UPI-COLLECT\",\n        \"flow\": \"\",\n        \"extra\": {},\n        \"country\": \"IN\",\n        \"attempts\": []\n    },\n    \"status\": \"CREATED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785574800\n        }\n    ],\n    \"viewedOn\": null,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"SIM-UPI-0001\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"<PAYSECURE_REFERENCE>\",\n    \"issued\": \"2026-08-01\",\n    \"due\": 1785574800,\n    \"refund_upto\": 1785574800,\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\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.138\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a6db590a1b2c3d4e5f6a701/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a6db590a1b2c3d4e5f6a701/\",\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"},{"id":"d4a885e8-3817-4d77-947a-3b44b7ee2f76","name":"Purchase - Error (Brand not found)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"email\": \"user3782@example.com\",\n        \"full_name\": \"Test Customer\",\n        \"country\": \"IN\",\n        \"city\": \"Ashford\",\n        \"street_address\": \"90 Fixture Close\",\n        \"zip_code\": \"400001\",\n        \"phone\": \"+910000000000\"\n    },\n    \"purchase\": {\n        \"currency\": \"INR\",\n        \"products\": [\n            {\n                \"name\": \"Simulator test item\",\n                \"price\": 100.0\n            }\n        ]\n    },\n    \"paymentMethod\": \"UPI-COLLECT\",\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"SIM-UPI-0006\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"pending_redirect\": \"https://your.pending.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.paysecure.net/api/v1/purchases"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Brand not found\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"57cda182-a223-4994-b7ee-ada75f4253ba"},{"name":"Get Status","id":"03cc8134-ff8e-4069-baaf-07b625e16d34","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}","description":"<p>Retrieve the current state of a simulated purchase. Use this to observe the outcome you selected on the cashier page, and to watch a pending purchase move to expired.</p>\n<p>The response is the same full purchase envelope returned by <code>/purchases</code>, with <code>status</code> and <code>status_history</code> reflecting the current state.</p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\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>purchaseId</td>\n<td>Mandatory. <br />The <code>purchaseId</code> returned by <code>POST https://api.paysecure.net/api/v1/purchases/</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"status-values-you-will-see-in-the-simulator\">Status values you will see in the simulator</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong><code>status</code></strong></th>\n<th><strong>Meaning</strong></th>\n<th><strong>Terminal?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>CREATED</code></td>\n<td>Purchase registered, no outcome selected yet</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>PENDING</code></td>\n<td>Pending was selected on the cashier page</td>\n<td>❌</td>\n</tr>\n<tr>\n<td><code>PAID</code></td>\n<td>Success was selected</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>ERROR</code></td>\n<td>Failure was selected</td>\n<td>✅</td>\n</tr>\n<tr>\n<td><code>EXPIRED</code></td>\n<td>A pending purchase passed its expiry window</td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><p>The saved examples below cover all four outcomes. Note that <code>status_history</code> uses lowercase status names and Unix timestamps, while the top-level <code>status</code> is uppercase.</p>\n<p><code>[VERIFY]</code> Exact <code>status</code> values per cashier-page selection, per <strong>Concepts</strong>.</p>\n","urlObject":{"path":["purchases","{purchaseId}"],"host":["https://api.paysecure.net/api/v1"],"query":[],"variable":[]}},"response":[{"id":"d2ec5598-bd2b-48f2-8ee9-d7dab12d55d6","name":"Get Status - PAID (Success selected)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a6db590a1b2c3d4e5f6a702\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"user3782@example.com\",\n        \"phone\": \"+910000000000\",\n        \"full_name\": \"Test Customer\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"90 Fixture Close\",\n        \"country\": \"IN\",\n        \"city\": \"Ashford\",\n        \"zip_code\": \"400001\",\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\": \"\"\n    },\n    \"updated_on\": 1785574819,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785574800,\n    \"purchase\": {\n        \"currency\": \"INR\",\n        \"products\": [\n            {\n                \"name\": \"Simulator test item\",\n                \"quantity\": 1,\n                \"price\": 100.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 100.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 100.0,\n        \"request_client_details\": [],\n        \"timezone\": \"Asia/Kolkata\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 100.0,\n        \"currency\": \"INR\",\n        \"net_amount\": 100.0,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1785574819,\n        \"remote_paid_on\": 1785574819\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\": \"Example Merchant\",\n        \"brand_name\": \"Example Merchant\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"UPI-COLLECT\",\n        \"flow\": \"\",\n        \"extra\": {},\n        \"country\": \"IN\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.138\",\n                \"type\": \"execute\",\n                \"payment_method\": \"UPI-COLLECT\",\n                \"flow\": \"\",\n                \"successful\": true,\n                \"country\": \"IN\",\n                \"processing_time\": 1785574819,\n                \"extra\": {}\n            }\n        ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785574800\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785574808\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1785574819\n        }\n    ],\n    \"viewedOn\": 1785574806,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"SIM-UPI-0002\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"<PAYSECURE_REFERENCE>\",\n    \"issued\": \"2026-08-01\",\n    \"due\": 1785574800,\n    \"refund_upto\": 1785574800,\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\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.138\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a6db590a1b2c3d4e5f6a702/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a6db590a1b2c3d4e5f6a702/\",\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"},{"id":"5341a0be-fda5-41d1-b8fb-8197b3cdb379","name":"Get Status - ERROR (Failure selected)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a6db590a1b2c3d4e5f6a703\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"user3782@example.com\",\n        \"phone\": \"+910000000000\",\n        \"full_name\": \"Test Customer\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"90 Fixture Close\",\n        \"country\": \"IN\",\n        \"city\": \"Ashford\",\n        \"zip_code\": \"400001\",\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\": \"\"\n    },\n    \"updated_on\": 1785574819,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785574800,\n    \"purchase\": {\n        \"currency\": \"INR\",\n        \"products\": [\n            {\n                \"name\": \"Simulator test item\",\n                \"quantity\": 1,\n                \"price\": 100.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 100.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 100.0,\n        \"request_client_details\": [],\n        \"timezone\": \"Asia/Kolkata\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 100.0,\n        \"currency\": \"INR\",\n        \"net_amount\": 100.0,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": null,\n        \"remote_paid_on\": null\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\": \"Example Merchant\",\n        \"brand_name\": \"Example Merchant\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"UPI-COLLECT\",\n        \"flow\": \"\",\n        \"extra\": {},\n        \"country\": \"IN\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.138\",\n                \"type\": \"execute\",\n                \"payment_method\": \"UPI-COLLECT\",\n                \"flow\": \"\",\n                \"successful\": false,\n                \"country\": \"IN\",\n                \"processing_time\": 1785574819,\n                \"extra\": {}\n            }\n        ]\n    },\n    \"status\": \"ERROR\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785574800\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785574808\n        },\n        {\n            \"status\": \"error\",\n            \"timestamp\": 1785574819\n        }\n    ],\n    \"viewedOn\": 1785574806,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"SIM-UPI-0003\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"<PAYSECURE_REFERENCE>\",\n    \"issued\": \"2026-08-01\",\n    \"due\": 1785574800,\n    \"refund_upto\": 1785574800,\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\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.138\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a6db590a1b2c3d4e5f6a703/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a6db590a1b2c3d4e5f6a703/\",\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"},{"id":"293b8d74-54ec-401f-8dd0-42bb26e05bc0","name":"Get Status - PENDING (Pending selected)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a6db590a1b2c3d4e5f6a704\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"user3782@example.com\",\n        \"phone\": \"+910000000000\",\n        \"full_name\": \"Test Customer\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"90 Fixture Close\",\n        \"country\": \"IN\",\n        \"city\": \"Ashford\",\n        \"zip_code\": \"400001\",\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\": \"\"\n    },\n    \"updated_on\": 1785574819,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785574800,\n    \"purchase\": {\n        \"currency\": \"INR\",\n        \"products\": [\n            {\n                \"name\": \"Simulator test item\",\n                \"quantity\": 1,\n                \"price\": 100.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 100.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 100.0,\n        \"request_client_details\": [],\n        \"timezone\": \"Asia/Kolkata\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 100.0,\n        \"currency\": \"INR\",\n        \"net_amount\": 100.0,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": null,\n        \"remote_paid_on\": null\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\": \"Example Merchant\",\n        \"brand_name\": \"Example Merchant\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"UPI-COLLECT\",\n        \"flow\": \"\",\n        \"extra\": {},\n        \"country\": \"IN\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.138\",\n                \"type\": \"execute\",\n                \"payment_method\": \"UPI-COLLECT\",\n                \"flow\": \"\",\n                \"successful\": false,\n                \"country\": \"IN\",\n                \"processing_time\": 1785574819,\n                \"extra\": {}\n            }\n        ]\n    },\n    \"status\": \"PENDING\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785574800\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785574808\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1785574819\n        }\n    ],\n    \"viewedOn\": 1785574806,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"SIM-UPI-0004\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"<PAYSECURE_REFERENCE>\",\n    \"issued\": \"2026-08-01\",\n    \"due\": 1785574800,\n    \"refund_upto\": 1785574800,\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\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.138\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a6db590a1b2c3d4e5f6a704/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a6db590a1b2c3d4e5f6a704/\",\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"},{"id":"ed0ae084-e622-4e74-820a-f4c6c7edfcb7","name":"Get Status - EXPIRED (pending window elapsed)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6a6db590a1b2c3d4e5f6a705\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"user3782@example.com\",\n        \"phone\": \"+910000000000\",\n        \"full_name\": \"Test Customer\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"90 Fixture Close\",\n        \"country\": \"IN\",\n        \"city\": \"Ashford\",\n        \"zip_code\": \"400001\",\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\": \"\"\n    },\n    \"updated_on\": 1785579719,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1785574800,\n    \"purchase\": {\n        \"currency\": \"INR\",\n        \"products\": [\n            {\n                \"name\": \"Simulator test item\",\n                \"quantity\": 1,\n                \"price\": 100.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 100.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 100.0,\n        \"request_client_details\": [],\n        \"timezone\": \"Asia/Kolkata\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 100.0,\n        \"currency\": \"INR\",\n        \"net_amount\": 100.0,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": null,\n        \"remote_paid_on\": null\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\": \"Example Merchant\",\n        \"brand_name\": \"Example Merchant\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"UPI-COLLECT\",\n        \"flow\": \"\",\n        \"extra\": {},\n        \"country\": \"IN\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"203.0.113.138\",\n                \"type\": \"execute\",\n                \"payment_method\": \"UPI-COLLECT\",\n                \"flow\": \"\",\n                \"successful\": false,\n                \"country\": \"IN\",\n                \"processing_time\": 1785574819,\n                \"extra\": {}\n            }\n        ]\n    },\n    \"status\": \"EXPIRED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1785574800\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1785574808\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1785574819\n        },\n        {\n            \"status\": \"expired\",\n            \"timestamp\": 1785579719\n        }\n    ],\n    \"viewedOn\": 1785574806,\n    \"is_test\": false,\n    \"brand_id\": \"your-brand-id\",\n    \"merchantRef\": \"SIM-UPI-0005\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"<PAYSECURE_REFERENCE>\",\n    \"issued\": \"2026-08-01\",\n    \"due\": 1785574800,\n    \"refund_upto\": 1785574800,\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\": \"https://your.success.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"203.0.113.138\",\n    \"checkout_url\": \"https://api.paysecure.net/payments/6a6db590a1b2c3d4e5f6a705/\",\n    \"direct_post_url\": \"https://api.paysecure.net/api/v1/p/6a6db590a1b2c3d4e5f6a705/\",\n    \"pending_redirect\": \"https://your.pending.redirect.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}"},{"id":"0a511f09-f415-4832-b489-965c20cd6f26","name":"Get Status - Error (Purchase not found)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{APIKey}}","type":"text"}],"url":"https://api.paysecure.net/api/v1/purchases/{purchaseId}"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Purchase not found\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"03cc8134-ff8e-4069-baaf-07b625e16d34"}],"id":"395f5534-41cb-4b9c-a22d-7bb55f70a4b6","description":"<p>Simulated PayIn uses the standard <code>/purchases</code> contract. Create the purchase, send the customer to the returned <code>checkout_url</code>, select the outcome, then read the result with Get Status.</p>\n","_postman_id":"395f5534-41cb-4b9c-a22d-7bb55f70a4b6"},{"name":"Webhooks","item":[],"id":"2a9721f8-aa43-40e0-ae3f-f41df6cc4549","description":"<p>Simulated transactions fire webhooks to your configured callback URL. They are signed with RSA exactly as production webhooks are, so your signature verification is genuinely exercised. The payload carries fewer fields than a live APM webhook.</p>\n<h2 id=\"signature-verification\">Signature verification</h2>\n<p>The signature scheme is identical to production. Verify simulated webhooks the same way you verify live ones, per the 🔌 <strong>Webhooks</strong> section of these docs. <code>[VERIFY]</code> whether the sandbox account uses a different public key from production, which determines whether anything has to change at go-live. Do not special-case simulated callbacks in your verification path: doing so defeats most of the value of testing against the simulator, and it is a change you would then have to unwind before go-live.</p>\n<p>A verification failure on a simulated webhook is a real finding. In practice it is almost always a key-configuration or canonicalisation bug on the merchant side, which is exactly the class of defect the simulator is meant to surface before production.</p>\n<h2 id=\"events-per-outcome\">Events per outcome</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Selection on cashier page</strong></th>\n<th><strong><code>status</code></strong> <strong>in payload</strong></th>\n<th><strong>Terminal?</strong></th>\n<th><strong>Then what</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Success</td>\n<td><code>PAID</code></td>\n<td>✅</td>\n<td>Nothing further</td>\n</tr>\n<tr>\n<td>Failure</td>\n<td><code>ERROR</code></td>\n<td>✅</td>\n<td>Nothing further</td>\n</tr>\n<tr>\n<td>Pending</td>\n<td><code>PENDING</code></td>\n<td>❌</td>\n<td>A second webhook with <code>EXPIRED</code> follows once the window elapses</td>\n</tr>\n<tr>\n<td>None, window elapsed</td>\n<td><code>EXPIRED</code></td>\n<td>✅</td>\n<td>Nothing further</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"practical-guidance\">Practical guidance</h2>\n<ul>\n<li><p>Key off <code>purchaseId</code> and <code>merchantRef</code>, and treat the webhook as a signal to fetch state rather than as the state itself. Call <code>GET https://api.paysecure.net/api/v1/purchases/{purchaseId}/</code> to read the authoritative envelope. This pattern is robust against the reduced simulated payload and is good practice in production regardless.</p>\n</li>\n<li><p>Make your listener idempotent. Handle the same <code>purchaseId</code> arriving more than once.</p>\n</li>\n<li><p>Expect two webhooks for the pending path, <code>PENDING</code> then <code>EXPIRED</code>, and make sure the second one does not overwrite a state you have already resolved by other means.</p>\n</li>\n</ul>\n","_postman_id":"2a9721f8-aa43-40e0-ae3f-f41df6cc4549"},{"name":"Migrating from Simulator to Live","item":[],"id":"4f347e34-5153-49db-9621-856a5e880732","description":"<p>Moving from the simulator to a live PSP connection is a credential change, not a code change. That is the point of the design. This checklist covers what changes, and what the simulator could not have proved.</p>\n<h2 id=\"what-changes\">What changes</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Item</strong></th>\n<th><strong>Simulator</strong></th>\n<th><strong>Live</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>API key</td>\n<td>Sandbox key</td>\n<td>Production key</td>\n</tr>\n<tr>\n<td><code>brand_id</code></td>\n<td>Sandbox Brand ID</td>\n<td>Production Brand ID</td>\n</tr>\n<tr>\n<td>Base URL</td>\n<td><code>https://api.paysecure.net/api/v1</code></td>\n<td><code>https://api.paysecure.net/api/v1</code>, unchanged</td>\n</tr>\n<tr>\n<td>Endpoint and body</td>\n<td><code>POST /purchases/</code></td>\n<td>Unchanged</td>\n</tr>\n<tr>\n<td><code>paymentMethod</code></td>\n<td>Supported simulator enum</td>\n<td>Same enum, assuming the method is enabled on your production account</td>\n</tr>\n<tr>\n<td>Webhook public key</td>\n<td>Sandbox key</td>\n<td>Production key. <code>[VERIFY]</code> whether these actually differ</td>\n</tr>\n<tr>\n<td>Redirect URLs</td>\n<td>Test URLs</td>\n<td>Production URLs</td>\n</tr>\n<tr>\n<td>Customer page</td>\n<td>Simulator cashier page</td>\n<td>The real APM page, app, QR, or voucher</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"before-you-switch\">Before you switch</h2>\n<ol>\n<li>Confirm the method is contracted and enabled on your production account. A working simulator integration is not evidence that it is.</li>\n<li>Confirm your production webhook endpoint is reachable and verifying against the <strong>production</strong> public key.</li>\n<li>Confirm your environment configuration cannot load a sandbox key in production, or a production key in a test suite. This is the most common cause of a surprise live transaction.</li>\n<li>Replace test redirect URLs with production URLs, and confirm all three resolve.</li>\n<li>Confirm you are not special-casing anything about simulated transactions in your production code path.</li>\n</ol>\n<h2 id=\"what-you-must-still-test-live\">What you must still test live</h2>\n<p>The simulator cannot establish any of the following. Plan live test transactions for each that applies:</p>\n<ul>\n<li><strong>PSP UAT.</strong> Whatever certification or UAT your PSP requires still applies, in full.</li>\n<li><strong>Method-specific payload handling.</strong> A real Pix payload, SPEI CLABE, Fawry reference, or UPI collect request. The simulator does not issue these, so any code that parses, renders, or displays them is untested.</li>\n<li><strong>Real-world timing.</strong> Simulated outcomes are instant. Your timeout, polling interval, and retry behaviour must be validated against real APM latency, which for some methods is minutes or hours.</li>\n<li><strong>Pending to paid.</strong> The simulator's pending path ends in expiry. A pending purchase that later succeeds is a transition the simulator cannot produce.</li>\n<li><strong>Full webhook payloads.</strong> Simulated payloads are reduced. Confirm your listener handles the complete live payload.</li>\n<li><strong>Refunds, partial refunds, chargebacks, disputes, and reversals,</strong> where the method supports them. None are simulated.</li>\n<li><strong>The real error surface.</strong> The simulator exposes one generic failure. A live rail returns method-specific decline and error conditions.</li>\n<li><strong>Settlement and reconciliation.</strong> No simulated transaction settles, so your reconciliation against settlement files is untested.</li>\n</ul>\n<h2 id=\"suggested-go-live-sequence\">Suggested go-live sequence</h2>\n<ol>\n<li>Full simulator pass on all four outcomes. Outcomes 1 to 3 in CI; the pending-to-expiry case in a longer-running job, since it waits out the real expiry window.</li>\n<li>PSP UAT, per your PSP's requirements.</li>\n<li>A small number of low-value live transactions per method, covering at minimum one success and one customer-abandoned attempt.</li>\n<li>Reconcile those live transactions against your settlement report.</li>\n<li>Ramp.</li>\n</ol>\n","_postman_id":"4f347e34-5153-49db-9621-856a5e880732"},{"name":"Troubleshooting","item":[],"id":"2bf40a0b-2c45-4438-b86f-df325bebd3e6","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Symptom</strong></th>\n<th><strong>Likely cause</strong></th>\n<th><strong>Fix</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Transaction went to a real PSP and real money moved</td>\n<td>A production API key was loaded instead of the sandbox key</td>\n<td>Check which key your environment resolved. Separate the two so a test suite cannot reach a production key</td>\n</tr>\n<tr>\n<td>Method does not simulate</td>\n<td><code>paymentMethod</code> is not one of the supported simulator enums</td>\n<td>Check the value against <strong>Supported APMs</strong>. Watch casing, and see the open question on <code>FawryPay</code>. <code>[VERIFY]</code> the exact error or behaviour returned for an unsupported method</td>\n</tr>\n<tr>\n<td><code>checkout_url</code> does not show a simulator cashier page</td>\n<td>Production credentials were used, so a real APM page was returned</td>\n<td>Confirm you authenticated with the sandbox key and sent the sandbox <code>brand_id</code></td>\n</tr>\n<tr>\n<td>Rejected on creation</td>\n<td><code>purchase.currency</code> is not the currency configured for the method, or <code>brand_id</code> is not the sandbox Brand ID</td>\n<td>Match the currency to the method per <strong>Supported APMs</strong>, and confirm the Brand ID. <code>[VERIFY]</code> the exact error returned in each case</td>\n</tr>\n<tr>\n<td>No webhook received</td>\n<td>Callback URL not configured or not reachable from Paysecure</td>\n<td>Confirm <code>success_callback</code> and <code>failure_callback</code>, or the account-wide configuration, and confirm the endpoint is publicly reachable</td>\n</tr>\n<tr>\n<td>Webhook signature verification fails</td>\n<td>Verifying against the wrong public key, or a canonicalisation bug</td>\n<td>Verify against the sandbox account's public key. This is a real finding, not a simulator artefact. See <strong>Webhooks</strong></td>\n</tr>\n<tr>\n<td>A field present in a live webhook is missing</td>\n<td>Simulated payloads are reduced</td>\n<td>Treat fields as optional and fetch state with <code>GET https://api.paysecure.net/api/v1/purchases/{purchaseId}/</code>. See <strong>Webhooks</strong></td>\n</tr>\n<tr>\n<td>Pending purchase never becomes paid</td>\n<td>By design. The simulator's pending path ends in expiry</td>\n<td>Test the pending-to-paid transition against a live PSP connection. See <strong>Migrating from Simulator to Live</strong></td>\n</tr>\n<tr>\n<td>Purchase expired sooner or later than expected</td>\n<td>Expiry follows the real APM's own window, which differs per method</td>\n<td>See the expiry note in <strong>Forcing Outcomes</strong></td>\n</tr>\n<tr>\n<td>Cannot find simulated transactions</td>\n<td>Looking at production reporting</td>\n<td>Simulated transactions appear under the sandbox account in the Transaction Reporting section</td>\n</tr>\n<tr>\n<td>Refund not possible on a simulated purchase</td>\n<td>Refunds are not simulated</td>\n<td>Test refunds against a live PSP connection. <code>[VERIFY]</code> what a refund call against a simulated purchase actually returns</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"error-response-shape\">Error response shape</h2>\n<p>Errors follow the standard shape:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"message\": \"Brand not found\",\n    \"code\": \"transaction_error\"\n}\n</code></pre><h2 id=\"getting-help\">Getting help</h2>\n<p>If simulator behaviour does not match this documentation, report it rather than working around it. The simulator is only useful to the extent it is faithful, so a divergence is a documentation or product defect worth fixing. Raise it through your usual technical support channel. <code>[TBD: confirm the support address and whether a response-time commitment is published.]</code></p>\n","_postman_id":"2bf40a0b-2c45-4438-b86f-df325bebd3e6"}],"id":"d06b79e3-fefe-42ef-8b6a-a1bb71a02d9d","description":"<p>The APM Simulator lets you run simulated alternative-payment-method PayIn transactions in sandbox. It exists because APMs previously could not be tested in sandbox at all: validating an APM integration meant pushing real, low-value transactions through a live PSP connection.</p>\n<p>Simulated transactions use the same endpoint and the same <code>/purchases</code> contract as production. Your existing <strong>sandbox</strong> API key and Brand ID are the only switch. There is no separate base URL, no flag, no header, no magic amount, and nothing to request.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>What it is</td>\n<td>Simulated PayIn against the live <code>/purchases</code> contract, routed to a simulator instead of a PSP</td>\n</tr>\n<tr>\n<td>Trigger</td>\n<td>Sandbox API key + Brand ID. No other change to the request</td>\n</tr>\n<tr>\n<td>Base URL</td>\n<td><code>https://api.paysecure.net/api/v1</code> (same as production)</td>\n</tr>\n<tr>\n<td>Countries</td>\n<td>🇮🇳 India, 🇨🇦 Canada, 🇧🇷 Brazil, 🇲🇽 Mexico, 🇪🇬 Egypt</td>\n</tr>\n<tr>\n<td>Processing currencies</td>\n<td>INR, CAD, BRL, MXN, EGP</td>\n</tr>\n<tr>\n<td>PayIn</td>\n<td>✅</td>\n</tr>\n<tr>\n<td>PayOut</td>\n<td>❌ Not simulated</td>\n</tr>\n<tr>\n<td>Refunds</td>\n<td>❌ Not simulated</td>\n</tr>\n<tr>\n<td>Partial refunds</td>\n<td>❌ Not simulated</td>\n</tr>\n<tr>\n<td>Chargebacks / disputes</td>\n<td>❌ Not simulated</td>\n</tr>\n<tr>\n<td>Reversals</td>\n<td>❌ Not simulated</td>\n</tr>\n<tr>\n<td>Customer flow</td>\n<td>Redirect to a hosted simulator cashier page with outcome buttons</td>\n</tr>\n<tr>\n<td>Forceable outcomes</td>\n<td>Success, Failure, Pending (Pending later becomes Expired)</td>\n</tr>\n<tr>\n<td>Payment confirmation</td>\n<td>Instant. Not configurable</td>\n</tr>\n<tr>\n<td>Webhooks</td>\n<td>✅ RSA signed as in production, reduced payload</td>\n</tr>\n<tr>\n<td>Transaction limits</td>\n<td>Standard sandbox limits apply. Nothing simulator-specific</td>\n</tr>\n<tr>\n<td>Cost</td>\n<td>None</td>\n</tr>\n<tr>\n<td>Visible in Dashboard</td>\n<td>✅ Transaction Reporting section</td>\n</tr>\n</tbody>\n</table>\n</div><blockquote>\n<p>The simulator proves that <strong>your integration</strong> handles every state correctly. It does not prove that a PSP has certified you, and it does not replace UAT against a live PSP connection. See <strong>Concepts</strong> for exactly what a simulated result does and does not establish.</p>\n</blockquote>\n","_postman_id":"d06b79e3-fefe-42ef-8b6a-a1bb71a02d9d"}],"event":[{"listen":"prerequest","script":{"id":"e61e8a79-22d0-45e9-9dcf-fa0d3369dd83","type":"text/javascript","requests":{},"exec":[""]}},{"listen":"test","script":{"id":"841f81a2-2f7c-48a5-80e7-dd6a1e7c39c2","type":"text/javascript","requests":{},"exec":[""]}}],"variable":[{"key":"BaseURL","value":"https://api.paysecure.net/api/v1"},{"key":"AppBaseURL","value":""}]}