{"info":{"_postman_id":"3d1c3c5f-19a7-44e3-affb-21019136a7d0","name":"Platinum Edge API Documentation","description":"<html><head></head><body><h1 id=\"overview\">Overview</h1>\n<hr>\n<p>Platinum Edge 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 Platinum Edge but if you have any questions, please do not hesitate to reach out to us by on email us at <a href=\"https://info@platinum-edge.ca\">info@platinum-edge.ca</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://panel.platinum-edge.ca/api/v1\">https://panel.platinum-edge.ca/api/v1</a></td>\n</tr>\n<tr>\n<td>Sandbox</td>\n<td><a href=\"https://panel.platinum-edge.ca/api/v1\">https://panel.platinum-edge.ca/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/8cbf0c64-5c8b-4efb-8ff2-81cf0e0c1e47/VW50aXRsZWQgZGVzaWduICgzNikucG5n\">\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/a35bf1e6-b1a7-4b3a-a362-d8ac20a16d50/VW50aXRsZWQgZGVzaWduICgzNykucG5n\">\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":"50038237","collectionId":"3d1c3c5f-19a7-44e3-affb-21019136a7d0","publishedId":"2sB3WyLcUK","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-02-19T11:56:20.000Z"},"item":[{"name":"⚙️ Integration Steps","item":[],"id":"95a8d77f-9961-4237-95aa-3c111872d6d6","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 staging environment.</p>\n<h3 id=\"testing-credentials-only-on-sandbox-mode\">Testing Credentials (only on Sandbox mode)</h3>\n<p>You have the opportunity to test the APIs by performing test purchases using the below test cards. We have introduced new test cards from 18th December 2025 onwards, which will have more exhaustive error messages helping you test different types of card transactions.</p>\n<p>The cards mentioned above will stop working and the below mentioned cards will be used:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>card_type</strong></th>\n<th><strong>Card Numbers</strong></th>\n<th>auth_type</th>\n<th>Behaviour</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Master</td>\n<td>5141922635866282</td>\n<td>3D Secure</td>\n<td>Authentication Successful</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5169811636324572</td>\n<td>3D Secure</td>\n<td>Authentication Failed</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5143312606271514</td>\n<td>2D Secure</td>\n<td>Insufficient funds</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5199805409482512</td>\n<td>2D Secure</td>\n<td>Pending execution</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5146669487735546</td>\n<td>2D Secure</td>\n<td>Incorrect card expiry</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5151735930865446</td>\n<td>3D Secure</td>\n<td>Incorrect cvv</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5185151885032695</td>\n<td>3D Secure</td>\n<td>Processor timeout</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5149446104369687</td>\n<td>2D Secure</td>\n<td>Refund failed</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5127160683722580</td>\n<td>3D Secure</td>\n<td>Transaction expired</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5159971600530380</td>\n<td>3D Secure</td>\n<td>Risk check failed</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5198134892284199</td>\n<td>2D Secure</td>\n<td>Issuer decline</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5116213113429327</td>\n<td>2D Secure</td>\n<td>Authentication successful</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5112857124909935</td>\n<td>2D Secure</td>\n<td>Authentication failed</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5156216152193051</td>\n<td>3D Secure</td>\n<td>Insufficient funds</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5170361568993009</td>\n<td>3D Secure</td>\n<td>Pending execution</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5559161923541480</td>\n<td>3D Secure</td>\n<td>Incorrect card expiry</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5110339832985475</td>\n<td>2D Secure</td>\n<td>Incorrect cvv</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5136528486494418</td>\n<td>2D Secure</td>\n<td>Processor timeout</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5162164630471008</td>\n<td>3D Secure</td>\n<td>Refund failed</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5140378358642890</td>\n<td>2D Secure</td>\n<td>Transaction expired</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5192488343990234</td>\n<td>2D Secure</td>\n<td>Risk check failed</td>\n</tr>\n<tr>\n<td>Master</td>\n<td>5115438560834809</td>\n<td>3D Secure</td>\n<td>Issuer decline</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4079722589318630</td>\n<td>2D Secure</td>\n<td>Authentication successful</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4878397953290146</td>\n<td>3D Secure</td>\n<td>Authentication successful</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4125485445527190</td>\n<td>2D Secure</td>\n<td>Authentication failed</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4984823599573265</td>\n<td>3D Secure</td>\n<td>Insufficient funds</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4710793097358785</td>\n<td>2D Secure</td>\n<td>Pending execution</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4500682811540204</td>\n<td>3D Secure</td>\n<td>Incorrect card expiry</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4935648707390280</td>\n<td>2D Secure</td>\n<td>Incorrect cvv</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4241214813524459</td>\n<td>3D Secure</td>\n<td>Refund failed</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4342346318195134</td>\n<td>3D Secure</td>\n<td>Risk check failed</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4618889598319798</td>\n<td>3D Secure</td>\n<td>Issuer decline</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4195258724913240</td>\n<td>3D Secure</td>\n<td>Authentication failed</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4662922293431520</td>\n<td>2D Secure</td>\n<td>Insufficient funds</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4994455060632359</td>\n<td>3D Secure</td>\n<td>Pending execution</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4460652052832634</td>\n<td>2D Secure</td>\n<td>Incorrect card expiry</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4383025225665997</td>\n<td>3D Secure</td>\n<td>Incorrect cvv</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4568730114361775</td>\n<td>2D Secure</td>\n<td>Processor timeout</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4163340122068617</td>\n<td>3D Secure</td>\n<td>Processor timeout</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4405935956954713</td>\n<td>2D Secure</td>\n<td>Refund failed</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4945208335596614</td>\n<td>2D Secure</td>\n<td>Transaction expired</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4566329901944380</td>\n<td>3D Secure</td>\n<td>Transaction expired</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4588381711517694</td>\n<td>2D Secure</td>\n<td>Risk check failed</td>\n</tr>\n<tr>\n<td>VISA</td>\n<td>4401279985739470</td>\n<td>2D Secure</td>\n<td>Issuer decline</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong><br />You can enter any expiry month and year which is larger or equal to the current month/year.<br />You can enter any cvv.<br />OTP will only be 123456 for 3ds cases.</p>\n<p>Currently, only card payment testing is supported in the sandbox environment. Testing Alternative Payment Methods (APMs) is not available in the sandbox at this time.</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","_postman_id":"95a8d77f-9961-4237-95aa-3c111872d6d6"},{"name":"🔌 Webhooks","item":[{"name":"PayIn","item":[],"id":"cfb908ee-dd3f-498b-984c-388f5bad8632","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<tr>\n<td><strong>Chargeback</strong></td>\n<td><code>chargeback</code></td>\n<td>Triggered when a chargeback is applied</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 Platinum Edge.</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 Platinum Edge.</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>Platinum Edge’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>Platinum Edge 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 Platinum Edge (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 Platinum Edge’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 Platinum Edge and was not tampered with.</p>\n</li>\n</ul>\n<h2 id=\"🔏-signature-paysecure-sign-or-paysecure_sign\"><strong>🔏 Signature:</strong> paysecure<strong>-sign (or</strong> paysecure**_sign)**</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 Platinum Edge public key</p>\n</li>\n</ul>\n","_postman_id":"cfb908ee-dd3f-498b-984c-388f5bad8632"},{"name":"Payout","item":[],"id":"cd413764-2493-4e67-9c79-d4a63e699008","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 Platinum Edge.</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 Platinum Edge.</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>Platinum Edge 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 Platinum Edge (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 Platinum Edge’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 Platinum Edge and was not tampered with.</p>\n</li>\n</ul>\n<h2 id=\"🔏-signature-paysecure-sign-or-paysecure_sign\"><strong>🔏 Signature:</strong> paysecure<strong>-sign (or</strong> paysecure**_sign)**</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&lt;strong class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; &gt;\n&lt;/b&gt;\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 Platinum Edge public key</p>\n</li>\n</ul>\n","_postman_id":"cd413764-2493-4e67-9c79-d4a63e699008"}],"id":"cfe8f92c-5110-4fb1-b586-fa4e075443fe","description":"<p>To receive information about various transaction statuses and events, you will need to set up an endpoint which accepts payloads sent by Platinum Edge. 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/fb5584bb-d6de-4556-8b0f-4cb3e6a75645/VW50aXRsZWQgZGVzaWduICgzOSkucG5n\" />\n\n<p>Make sure you save the endpoint by clicking \"Create\".</p>\n<p>Platinum Edge will post all payloads to the specified URLs. Please note that if the merchant faces any issues with accepting the webhook, it will not be re-sent. Alternatively, the merchant can call the Platinum Edge 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/047675a8-07da-4097-9f09-b45202f53a27/VW50aXRsZWQgZGVzaWduICg0MCkucG5n\" />\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. Platinum Edge 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 if a success_callback (webhook) or failure_callback (webhook) is given the <code>/purchases</code> API or <code>/createSession</code> API, then priority will be given to API callback webhooks, and not the webhooks set in the merchant dashboard. In other words, the webhooks given in the API will override the webhooks set in the merchant dashboard. The webhook posted would be a JSON object (either purchase or payout object as the case might be) containing the status. This object is the same as the one you will get in the <code>/getStatus</code> API call <code>https://panel.platinum-edge.ca/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 \"Platinum Edge\" — Identifies the request origin as Platinum Edge.</td>\n</tr>\n<tr>\n<td>paysecure_sign</td>\n<td><strong>Present only if a signature value (<strong>paysecure</strong>_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</strong> paysecure**_sign but provided in an alternate header name for better compatibility.**</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 paysecure**_sign**” or <strong>\"<strong>paysecure</strong>-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 “paysecure**_sign**” or <strong>\"<strong>paysecure</strong>-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":"cfe8f92c-5110-4fb1-b586-fa4e075443fe"},{"name":"🖥️ Status Code","item":[{"name":"Transaction Status and Their Meaning","item":[],"id":"490c0471-ffcf-415b-a022-4ff3097a087e","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>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"5049273e-7942-4e06-8ca2-25ff5db053c7"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"b3385afc-b095-4d6e-a010-f7e07202cf93"}}],"_postman_id":"490c0471-ffcf-415b-a022-4ff3097a087e"}],"id":"7b2fc46c-4e22-4241-9cd8-0a887289a713","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 Platinum Edge 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":"85a3c0d1-4bdc-407d-b524-8bb24a71d2af"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"ee978e3a-0e90-4a4d-9e99-6d3980ab2907"}}],"_postman_id":"7b2fc46c-4e22-4241-9cd8-0a887289a713"},{"name":"Payment Methods","item":[{"name":"💳 Card Payments","item":[{"name":"Concepts","item":[],"id":"0b2a1ba3-9812-414e-b145-7101d98709eb","description":"<h2 id=\"custom-payment-flow---server-to-server\">Custom Payment Flow - Server-to-Server</h2>\n<p>Platinum Edge offers Server-to-Server (\"S2S\") integration that enables processing payments on the server level, eliminating direct interaction between the client's browser or application and the API.</p>\n<p>This integration allows you to build a setup that restricts payers from directly accessing platform resources.</p>\n<p>To enable payment acceptance in your application or website using Server-to-Server (S2S) integration follow the following 3-step routine.</p>\n<p><strong>Step 1:</strong></p>\n<p>Create a purchase using <code>POST /purchase/</code> API to create a <code>Purchase</code> in the system. make sure to meet all the required criteria, which includes defining success_redirect and failure_redirect fields for the Purchase and setting them to valid URLs</p>\n<p><strong>Step 2</strong>:</p>\n<p>Send the payment method to the payment URL by making a POST request to <code>/p/{purchaseId}/?s2s=true</code> .</p>\n<p>The body of the reques to contain the card details:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"cardholder_name\": \"dk\",\n    \"card_number\": \"4444333322221111\",\n    \"expires\": \"10/23\",\n    \"cvc\": \"345\",\n    \"remember_card\": \"on\",\n    \"remote_ip\": \"157.38.242.7\",\n    \"user_agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36\",\n    \"accept_header\": \"text/html\",\n    \"language\": \"en-US\",\n    \"java_enabled\": false,\n    \"javascript_enabled\": true,\n    \"color_depth\": 24,\n    \"utc_offset\": 0,\n    \"screen_width\": 1920,\n    \"screen_height\": 1080\n}\n\n</code></pre>\n<p>see <code>/p/{purchaseId}/?s2s=true</code> API for more details.</p>\n<p><strong>Step 3 (for merchants configured for 3D transactions):</strong></p>\n<p>Once the response is received, if the purchase is successful (indicated by a response status code of 202), you will be given the <code>\"status\": \"pending\"</code>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": \"pending\",\n    \"callback_url\": \"https://panel.platinum-edge.ca/api/v1/payment/64bfc2a4f63e36669499e5cc/\",\n    \"method\": \"GET\"\n}\n\n</code></pre>\n<p>Otherwise you'll get an error as shown below (response status code could be 400,404,401,415,405) :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<p>Please see the <a href=\"https://\">Status Code</a> section for further details.</p>\n<p>If the response code is 202, upon receiving the response body, redirect the customer to the callback_url provided in the response.</p>\n<p>If the card requires 3D Secure verification, the user will be redirected to a verification or challenge screen by the card issuing bank. After successful user verification, the user will be redirected to the success URL provided in the <code>/purchase</code> API from Step 1.</p>\n<p>If, for any reason, the transaction is unsuccessful, the user will be redirected the failure URL provided in the /purchase API from Step 1.</p>\n","_postman_id":"0b2a1ba3-9812-414e-b145-7101d98709eb","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"e063fd1a-6c16-484e-b464-5428adcf9acb","id":"e063fd1a-6c16-484e-b464-5428adcf9acb","name":"💳 Card Payments","type":"folder"}}},{"name":"APIs","item":[{"name":"Purchase","id":"efad3774-a8e4-4719-a6d4-93aa37f2f18f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"example@platinum-edge.ca\",\r\n        \"country\": \"IN\",\r\n        \"city\": \"123\",\r\n        \"stateCode\": \"ca\",\r\n        \"street_address\": \"test test\",\r\n        \"zip_code\": \"234567\",\r\n        \"phone\": \"9999999999\",\r\n        \"tax_number\": \"12345678901\"\r\n    },\r\n    \"purchase\": {\r\n        \"products\": [\r\n            {\r\n                \"name\": \"dk\",\r\n                \"price\": \"10\"\r\n            }\r\n        ]\r\n    },\r\n    \"status\": \"created\",\r\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e \",\r\n    \"merchantRef\": \"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\r\n    \"send_receipt\": \"\",\r\n    \"skip_capture\": \"\",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"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":"panel.platinum-edge.ca/purchases","description":"<p>To Initiate a payment, the very first call to make is <code>/purchases</code> with the required data in the request body.</p>\n<p>To generate a Purchase, you are required to provide the <code>Brand ID</code> (in the request body) and <code>API key</code> (in the header) Both can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a purchase request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td></td>\n</tr>\n<tr>\n<td>client.city</td>\n<td></td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>ISO-3166 Country Code. Must be upper case. Example “SG” (Alpha2)</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Example “AL”, “XZ”.. Must be in upper case.</td>\n</tr>\n<tr>\n<td>Client.street_address</td>\n<td></td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />Please note, the currency has to be enbaled by the account manager for your account.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Price in decimal format.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <br />  <br />example 2:  <br />USD 10 and 37 cents , should be sent as 10.37</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>URL to send the user if the transactions is successful</td>\n</tr>\n<tr>\n<td>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 Platinum Edge will perform direct payment with the selected payment method instead of loading Platinum Edge URL.</p>\n<h3 id=\"errors\">Errors</h3>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<h3 id=\"possible-error-messages\">Possible Error Messages</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error Messages</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n<td></td>\n</tr>\n<tr>\n<td>some Mandatory Parameter are missing</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid format of Date_of_Birth[allowed format: yyyy-mm-dd]</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid Email Format</td>\n<td></td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n<td></td>\n</tr>\n<tr>\n<td>Merchant Limit is not set</td>\n<td></td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n<td></td>\n</tr>\n<tr>\n<td>Brand not found!</td>\n<td></td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n<td></td>\n</tr>\n<tr>\n<td>Only <code>“{curr_name}\"</code> currency is allowed</td>\n<td></td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid_Parameter</td>\n<td>You'd usually get it when one or more mandatory parameters are not present in the request.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["purchases"],"host":["panel","platinum-edge","ca"],"query":[],"variable":[]}},"response":[{"id":"a59ea0a8-79b2-47c1-b395-61734f84b6f4","name":"Purchase","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"example@platinum-edge.ca\",\r\n        \"country\": \"IN\",\r\n        \"city\": \"123\",\r\n        \"stateCode\": \"ca\",\r\n        \"street_address\": \"test test\",\r\n        \"zip_code\": \"234567\",\r\n        \"phone\": \"9999999999\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"product name\",\r\n                \"price\": \"10\"\r\n            }\r\n        ]\r\n    },\r\n    \"merchantRef\": \"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\r\n    \"status\": \"created\",\r\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e \",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"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":"http://18.214.100.20/api/v1/purchases"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 13 Jul 2023 17:22:14 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"64b032c3c6dccf7d329d9e7e\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"dev@platinum-edge.ca\",\n        \"phone\": \"\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1689268934,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1689268934,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"quantity\": 1,\n                \"price\": 10,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 10,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Edmonton\",\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"shoes\",\n        \"brand_name\": \"shoes\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"\",\n        \"attempts\": []\n    },\n    \"status\": \"CREATED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1689268934\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e\",\n    \"is_recurring_token\": false,\n    \"reference_generated\": \"PS161\",\n    \"merchantRef\":\"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\n    \"issued\": \"2023-07-13\",\n    \"due\": 1689268934,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"149.86.53.48\",\n    \"checkout_url\": \"https://panel.platinum-edge.ca/payments/64b032c3c6dccf7d329d9e7e/\",\n    \"direct_post_url\": \"https://panel.platinum-edge.ca/api/v1/p/64b032c3c6dccf7d329d9e7e/\"\n}"}],"_postman_id":"efad3774-a8e4-4719-a6d4-93aa37f2f18f"},{"name":"S2S","id":"b68a43a9-8d92-4405-a2fd-8a351dcbba9b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"cardholder_name\": \"dk\",\r\n    \"card_number\": \"4111111111111111\",\r\n    \"expires\": \"10/23\",\r\n    \"cvc\": \"345\",\r\n    \"remember_card\": \"on\",\r\n    \"remote_ip\": \"157.38.242.7\",\r\n    \"user_agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36\",\r\n    \"accept_header\": \"text/html\",\r\n    \"language\": \"en-US\",\r\n    \"java_enabled\": false,\r\n    \"javascript_enabled\": true,\r\n    \"color_depth\": 24,\r\n    \"utc_offset\": 0,\r\n    \"screen_width\": 1920,\r\n    \"screen_height\": 1080\r\n}","options":{"raw":{"language":"json"}}},"url":"panel.platinum-edge.ca/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- 157.38.242.7</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><h3 id=\"other-optional-parameters-in-request-body\"><strong>Other optional 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>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://platinum-edge.ca/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":"e063fd1a-6c16-484e-b464-5428adcf9acb","id":"e063fd1a-6c16-484e-b464-5428adcf9acb","name":"💳 Card Payments","type":"folder"}},"urlObject":{"path":["p","64bff4fff63e36669499e9c8",""],"host":["panel","platinum-edge","ca"],"query":[{"key":"s2s","value":"true"}],"variable":[]}},"response":[{"id":"4b813683-8dd7-41b5-a7c8-11102c7c3eb6","name":"S2S","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"cardholder_name\": \"dk\",\r\n  \"card_number\": \"4111111111111111\",\r\n  \"expires\": \"10/23\",\r\n  \"cvc\": \"345\",\r\n  \"remember_card\": \"on\",\r\n  \"remote_ip\": \"157.38.242.7\",\r\n  \"user_agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36\",\r\n  \"accept_header\": \"text/html\",\r\n  \"language\": \"en-US\",\r\n  \"java_enabled\": false,\r\n    \"javascript_enabled\": true,\r\n   \"color_depth\": 24,\r\n    \"utc_offset\": 0,\r\n   \"screen_width\": 1920,\r\n    \"screen_height\": 1080\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":{"raw":"panel.platinum-edge.ca/p/64b034ecc6dccf7d329d9eb3/?s2s=true","host":["panel","platinum-edge","ca"],"path":["p","64b034ecc6dccf7d329d9eb3",""],"query":[{"key":"s2s","value":"true"}]}},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 13 Jul 2023 17:31:55 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"pending\",\n    \"callback_url\": \"https://panel.platinum-edge.ca/api/v1/payment/64b034ecc6dccf7d329d9eb3/\",\n    \"method\": \"GET\"\n}"}],"_postman_id":"b68a43a9-8d92-4405-a2fd-8a351dcbba9b"},{"name":"Payment (To be initiated From client browser)","id":"e17e2700-d7b8-418c-ad23-09280453c52e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{Production}}/payment/64bff12bf63e36669499e97d/","description":"<p>This is the callback URL that is in the response object ofthe Server-to-Server Call</p>\n<p>When this URL is called from the end user's browser, the user would be redirected to the <code>success_redirect</code> or <code>failure_redirect</code> URL given by the merchant at the time of create purchase</p>\n<p>When this URL is called from the end user's browser, if card is 3DS enrolled, the user user will be redirect to a verification screen or challenge by the issuing bank and upon successful user verification, the user would be redictected to the success URL given in <code>/purchases API</code> .</p>\n<p>If for some reason the transactions is unsuccessful, the user will be redirect to failure URL given in <code>/purchases API</code> API .</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"e063fd1a-6c16-484e-b464-5428adcf9acb","id":"e063fd1a-6c16-484e-b464-5428adcf9acb","name":"💳 Card Payments","type":"folder"}},"urlObject":{"path":["payment","64bff12bf63e36669499e97d",""],"host":["{{Production}}"],"query":[],"variable":[]}},"response":[{"id":"21cd2ac2-5755-4c76-b74f-7c1e434efc79","name":"Payment-error","originalRequest":{"method":"GET","header":[],"url":"panel.platinum-edge.ca/payment/64bfd7c9f63e36669499e779/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 25 Jul 2023 14:12:18 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Only purchases that can be paid for can be initiated for payment.\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"e17e2700-d7b8-418c-ad23-09280453c52e"},{"name":"Purchases","id":"7ebf22ce-5da2-47e1-852b-d8633573d6b7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"panel.platinum-edge.ca/purchases/64bff12bf63e36669499e97d/","description":"<p>This API tells you about all the details of a purchase, including its history</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the <code>PurchaseID</code> in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>created</td>\n<td>When Purchase order is created.</td>\n</tr>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payment_in_process</td>\n<td>Payment is under Processing</td>\n</tr>\n<tr>\n<td>chargeback</td>\n<td>Payment is chargeback state</td>\n</tr>\n<tr>\n<td>refund_in_process</td>\n<td>Refund is under Processing.</td>\n</tr>\n<tr>\n<td>expired</td>\n<td>Purchase has Expired.</td>\n</tr>\n<tr>\n<td>overdue</td>\n<td>Purchase is Overdued.</td>\n</tr>\n<tr>\n<td>cancelled</td>\n<td>Purchase is cancelled.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n<tr>\n<td>refunded</td>\n<td>Payment is refunded</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of both <code>Paid</code> and <code>Error</code> Status purchases.</p>\n<h3 id=\"error-details\">Error Details</h3>\n<p>If there are any issues on the Purchase you can get more details from the <code>transaction_data.attempts.error</code> attribute of the response object</p>\n<h3 id=\"errors\">Errors</h3>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<p>Please see the Status Code section for further details.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"e063fd1a-6c16-484e-b464-5428adcf9acb","id":"e063fd1a-6c16-484e-b464-5428adcf9acb","name":"💳 Card Payments","type":"folder"}},"urlObject":{"path":["purchases","64bff12bf63e36669499e97d",""],"host":["panel","platinum-edge","ca"],"query":[],"variable":[]}},"response":[{"id":"c5bb1f00-76c5-429f-b3eb-4a55ebe5fedc","name":"Purchases-error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://18.214.100.20/api/v1/purchases/64bfd7c9f63e36669499e779/"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 25 Jul 2023 15:44:06 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"64bfd7c9f63e36669499e779\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"example@platinum-edge.ca\",\n        \"phone\": \"\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1690294251,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1690294220,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"quantity\": 1,\n                \"price\": 100,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 100,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Edmonton\",\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"shoes\",\n        \"brand_name\": \"shoes\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"10\",\n            \"amount\": 100,\n            \"card_issuer\": \"1-800-432-3117\",\n            \"masked_pan\": \"411111XXXXXX1111\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"US\",\n            \"cardholder_name\": \"dk\",\n            \"expiry_year\": \"23\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"149.86.53.48\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": false,\n                \"country\": \"US\",\n                \"processing_time\": 1690294279,\n                \"extra\": {\n                    \"expiry_month\": \"10\",\n                    \"amount\": 100,\n                    \"card_issuer\": \"1-800-432-3117\",\n                    \"masked_pan\": \"411111XXXXXX1111\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"US\",\n                    \"cardholder_name\": \"dk\",\n                    \"expiry_year\": \"23\"\n                },\n                \"error\": {\n                    \"message\": \"Transaction Failed\",\n                    \"code\": \"transaction_error\"\n                }\n            }\n        ]\n    },\n    \"status\": \"ERROR\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1690294220\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1690294251\n        },\n        {\n            \"status\": \"error\",\n            \"timestamp\": 1690294299\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1690294382\n        }\n    ],\n    \"viewedOn\": 1690299845,\n    \"is_test\": false,\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS188\",\n    \"issued\": \"2023-07-25\",\n    \"due\": 1690294220,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://google.com\",\n    \"failure_redirect\": \"https://yahoo.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"149.86.53.48\",\n    \"checkout_url\": \"https://panel.platinum-edge.ca/payments/64bfd7c9f63e36669499e779/\",\n    \"direct_post_url\": \"https://panel.platinum-edge.ca/api/v1/p/64bfd7c9f63e36669499e779/\"\n}"},{"id":"b473fcb8-e106-449e-a2e5-cd3e14d20b33","name":"Purchases - success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://18.214.100.20/api/v1/purchases/64bfdb7df63e36669499e82f/"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 25 Jul 2023 15:45:29 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"64bfdb7df63e36669499e82f\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"example@platinum-edge.ca\",\n        \"phone\": \"\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1690296521,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1690295168,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"quantity\": 1,\n                \"price\": 9,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 9,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Edmonton\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 9,\n        \"currency\": \"USD\",\n        \"net_amount\": 9,\n        \"fee_amount\": 10.2591,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1690295205,\n        \"remote_paid_on\": 1690295205\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"shoes\",\n        \"brand_name\": \"shoes\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"10\",\n            \"amount\": 9,\n            \"card_issuer\": \"1-800-432-3117\",\n            \"masked_pan\": \"411111XXXXXX1111\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"US\",\n            \"cardholder_name\": \"dk\",\n            \"expiry_year\": \"23\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"149.86.53.48\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"US\",\n                \"processing_time\": 1690295205,\n                \"extra\": {\n                    \"expiry_month\": \"10\",\n                    \"amount\": 9,\n                    \"card_issuer\": \"1-800-432-3117\",\n                    \"masked_pan\": \"411111XXXXXX1111\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"US\",\n                    \"cardholder_name\": \"dk\",\n                    \"expiry_year\": \"23\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1690295168\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1690295193\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1690295205\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1690296521\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1690299929\n        }\n    ],\n    \"viewedOn\": 1690299929,\n    \"is_test\": false,\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e\",\n    \"merchantRef\":\"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS192\",\n    \"issued\": \"2023-07-25\",\n    \"due\": 1690295168,\n    \"refund_upto\": 1705843623,\n    \"cc_descriptor\": \"test-cardeye\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 9,\n    \"success_redirect\": \"https://google.com\",\n    \"failure_redirect\": \"https://yahoo.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"149.86.53.48\",\n    \"checkout_url\": \"https://panel.platinum-edge.ca/payments/64bfdb7df63e36669499e82f/\",\n    \"direct_post_url\": \"https://panel.platinum-edge.ca/api/v1/p/64bfdb7df63e36669499e82f/\"\n}"}],"_postman_id":"7ebf22ce-5da2-47e1-852b-d8633573d6b7"},{"name":"cancel","id":"f3912305-7a8f-4735-b211-5efc13ce5c02","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"panel.platinum-edge.ca/purchases/64bff556f63e36669499e9d3/cancel","description":"<p>As the name implies this API is used to cancel purchases that have been posted</p>\n<ul>\n<li><p>either after creating a purchase or</p>\n</li>\n<li><p>after doing the server-to-server call, but <strong>before</strong> redirecting the user to the callbackURL.</p>\n</li>\n</ul>\n<p>Purchase ID is <strong>mandatory</strong> for this API.</p>\n<h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of cancelling a purchase that has <code>Paid</code> and <code>Error</code> Status.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"e063fd1a-6c16-484e-b464-5428adcf9acb","id":"e063fd1a-6c16-484e-b464-5428adcf9acb","name":"💳 Card Payments","type":"folder"}},"urlObject":{"path":["purchases","64bff556f63e36669499e9d3","cancel"],"host":["panel","platinum-edge","ca"],"query":[],"variable":[]}},"response":[{"id":"3711a362-3716-48e3-a78d-943412143286","name":"cancel-Error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://18.214.100.20/api/v1/purchases/64b034ecc6dccf7d329d9eb3/cancel"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 13 Jul 2023 17:45:30 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Only purchases that can be paid for can be canceled.\",\n    \"code\": \"transaction_error\"\n}"},{"id":"5daf8c9e-7104-4a9d-9e07-28e6675b8845","name":"cancel - Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://18.214.100.20/api/v1/purchases/64bff4fff63e36669499e9c8/cancel"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 25 Jul 2023 16:15:35 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"64bff4fff63e36669499e9c8\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"example@platinum-edge.ca\",\n        \"phone\": \"\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1690301735,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1690301698,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"quantity\": 1,\n                \"price\": 9,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 9,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Edmonton\",\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"shoes\",\n        \"brand_name\": \"shoes\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"\",\n        \"attempts\": []\n    },\n    \"status\": \"CANCELLED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1690301698\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1690301723\n        },\n        {\n            \"status\": \"cancelled\",\n            \"timestamp\": 1690301735\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS194\",\n    \"issued\": \"2023-07-25\",\n    \"due\": 1690301698,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://google.com\",\n    \"failure_redirect\": \"https://yahoo.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"149.86.53.48\",\n    \"checkout_url\": \"https://panel.platinum-edge.ca/payments/64bff4fff63e36669499e9c8/\",\n    \"direct_post_url\": \"https://panel.platinum-edge.ca/api/v1/p/64bff4fff63e36669499e9c8/\"\n}"}],"_postman_id":"f3912305-7a8f-4735-b211-5efc13ce5c02"},{"name":"Refund","id":"ccb80e0b-90e0-4103-827b-2deb826f1edc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"panel.platinum-edge.ca/purchases/657af976c3fceb7beb30eeb4/refund","description":"<p>This API is used to initate refund of the purchases that have status as <code>PAID</code> can be initiated for refund</p>\n<p>Once the refund has been initiated, the status of the purchase would become <code>REFUND_IN_PROCESS</code> and once the refund has been approved by the bank, the status woud become <code>REFUNDED</code></p>\n<p>Purchase ID is <strong>mandatory</strong> for this API.</p>\n<h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of both <code>successful</code> and <code>unsuccessful</code> in refund of purchases.</p>\n","urlObject":{"path":["purchases","657af976c3fceb7beb30eeb4","refund"],"host":["panel","platinum-edge","ca"],"query":[],"variable":[]}},"response":[{"id":"0fbbcf37-9f42-4330-aabf-7c66c0f2f2f5","name":"Refund - Error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"panel.platinum-edge.ca/purchases/64b034ecc6dccf7d329d9eb3/refund"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 13 Jul 2023 17:49:58 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Only Purchases with `status == (paid)` can be refunded.\",\n    \"code\": \"transaction_error\"\n}"},{"id":"4da2ee6b-e83c-4997-ba0f-b436ec8c6c68","name":"Refund - Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"panel.platinum-edge.ca/purchases/64bfdb7df63e36669499e82f/refund"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 25 Jul 2023 16:33:43 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"64bfdb7df63e36669499e82f\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"example@platinum-edge.ca\",\n        \"phone\": \"\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1690302819,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1690295168,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"quantity\": 1,\n                \"price\": 9,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 9,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Edmonton\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 9,\n        \"currency\": \"USD\",\n        \"net_amount\": 9,\n        \"fee_amount\": 10.2591,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1690295205,\n        \"remote_paid_on\": 1690295205\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"shoes\",\n        \"brand_name\": \"shoes\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"10\",\n            \"amount\": 9,\n            \"card_issuer\": \"1-800-432-3117\",\n            \"masked_pan\": \"411111XXXXXX1111\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"US\",\n            \"cardholder_name\": \"dk\",\n            \"expiry_year\": \"23\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"149.86.53.48\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"US\",\n                \"processing_time\": 1690295205,\n                \"extra\": {\n                    \"expiry_month\": \"10\",\n                    \"amount\": 9,\n                    \"card_issuer\": \"1-800-432-3117\",\n                    \"masked_pan\": \"411111XXXXXX1111\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"US\",\n                    \"cardholder_name\": \"dk\",\n                    \"expiry_year\": \"23\"\n                }\n            },\n            {\n                \"client_ip\": \"149.86.53.48\",\n                \"type\": \"refund\",\n                \"successful\": true,\n                \"processing_time\": 1690302819,\n                \"extra\": {\n                    \"amount\": 9\n                }\n            }\n        ]\n    },\n    \"status\": \"REFUND_IN_PROCESS\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1690295168\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1690295193\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1690295205\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1690296521\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1690299929\n        },\n        {\n            \"status\": \"refund_in_process\",\n            \"timestamp\": 1690302819\n        }\n    ],\n    \"viewedOn\": 1690299929,\n    \"is_test\": false,\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS192\",\n    \"issued\": \"2023-07-25\",\n    \"due\": 1690295168,\n    \"refund_upto\": 1705843623,\n    \"cc_descriptor\": \"test-cardeye\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://google.com\",\n    \"failure_redirect\": \"https://yahoo.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"149.86.53.48\",\n    \"checkout_url\": \"https://panel.platinum-edge.ca/payments/64bfdb7df63e36669499e82f/\",\n    \"direct_post_url\": \"https://panel.platinum-edge.ca/api/v1/p/64bfdb7df63e36669499e82f/\"\n}"}],"_postman_id":"ccb80e0b-90e0-4103-827b-2deb826f1edc"},{"name":"Payment Methods","id":"67d69a36-6c27-403e-bc4c-8a5a60b4cfc7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"panel.platinum-edge.ca/payment_methods","description":"<p>This API gives back the list of Payment methods available .</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"e063fd1a-6c16-484e-b464-5428adcf9acb","id":"e063fd1a-6c16-484e-b464-5428adcf9acb","name":"💳 Card Payments","type":"folder"}},"urlObject":{"path":["payment_methods"],"host":["panel","platinum-edge","ca"],"query":[{"disabled":true,"key":"brand_id","value":"aff0471b-e37d-4e76-9dee-d235063bf276"},{"disabled":true,"key":"currency","value":""},{"disabled":true,"key":"country","value":"india"},{"disabled":true,"key":"","value":""}],"variable":[]}},"response":[{"id":"522c1454-3dcc-4b0d-9ed7-479cd4ac986e","name":"Payment Methods","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"panel.platinum-edge.ca/payment_methods","host":["panel","platinum-edge","ca"],"path":["payment_methods"],"query":[{"key":"brand_id","value":"4067e336-b558-4f81-9c98-2ad56b017e3d","disabled":true},{"key":"","value":"","disabled":true}]}},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 13 Jul 2023 17:50:33 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"available_payment_methods\": [\n        \"s2s\",\n        \"cybersource_hosted_checkout\",\n        \"mastercard\",\n        \"visa\"\n    ],\n    \"by_country\": {\n        \"any\": [\n            \"s2s\",\n            \"cybersource_hosted_checkout\",\n            \"mastercard\",\n            \"visa\"\n        ]\n    },\n    \"country_names\": {\n        \"any\": \"Other\"\n    },\n    \"names\": {\n        \"cybersource_hosted_checkout\": \"Cybersource Hosted Checkout\",\n        \"s2s\": \"Server To Server\",\n        \"visa\": \"Visa\",\n        \"mastercard\": \"Mastercard\"\n    },\n    \"card_methods\": [\n        \"cybersource_hosted_checkout\",\n        \"mastercard\",\n        \"visa\"\n    ]\n}"}],"_postman_id":"67d69a36-6c27-403e-bc4c-8a5a60b4cfc7"},{"name":"checkWhiteList","id":"6d931bb4-035b-405a-8ffd-e4e6bdafaa3e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"dev@platinum-edge.ca\",\r\n    \"card_num\": \"5178006985381351\"\r\n  //  \"signup_date\": \"16-05-2023\",  not requered\r\n  //  \"deposit_date\": \"16-05-2023\",\r\n   // \"number_of_deposits\": 6,\r\n   \r\n        \r\n}","options":{"raw":{"language":"json"}}},"url":"panel.platinum-edge.ca/checkWhiteList","description":"<h3 id=\"overview\">Overview</h3>\n<p>Platinum Edge supports the concept of whitelisted cards. The merchant can send Platinum Edge 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":"e063fd1a-6c16-484e-b464-5428adcf9acb","id":"e063fd1a-6c16-484e-b464-5428adcf9acb","name":"💳 Card Payments","type":"folder"}},"urlObject":{"path":["checkWhiteList"],"host":["panel","platinum-edge","ca"],"query":[],"variable":[]}},"response":[{"id":"5f1c8cc8-abd1-472a-9beb-bafba0c69b0e","name":"checkWhiteList - Doesn't exists","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n      \"email\": \"dk6@dk.com\",\r\n  //  \"signup_date\": \"16-05-2023\",\r\n  //  \"deposit_date\": \"16-05-2023\",\r\n   // \"number_of_deposits\": 6,\r\n       \"card_num\": \"5555555555554444\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://18.214.100.20/api/v1/checkWhiteList"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"23"},{"key":"Date","value":"Thu, 13 Jul 2023 17:56:25 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"NOTEXIST\"\n}"},{"id":"07db4662-f806-4591-86f1-9eb640dc2d8d","name":"checkWhiteList - Exists","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"dev@platinum-edge.ca\",\r\n    \"card_num\": \"5178006985381351\"\r\n  //  \"signup_date\": \"16-05-2023\",  not requered\r\n  //  \"deposit_date\": \"16-05-2023\",\r\n   // \"number_of_deposits\": 6,\r\n   \r\n        \r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.platinum-edge.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":"6d931bb4-035b-405a-8ffd-e4e6bdafaa3e"},{"name":"Whitelist Upload","id":"90ddfee4-5cac-4a60-b035-3a93e3b04928","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"csvFile","type":"file","value":null}]},"url":"https://panel.platinum-edge.ca/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","urlObject":{"protocol":"https","path":["api","v1","whitelist","upload",""],"host":["panel","platinum-edge","ca"],"query":[],"variable":[]}},"response":[{"id":"f3e78b4a-f233-4553-b0ab-fee061c45cc2","name":"Whitelist Upload success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data; boundary=<calculated when request is sent>","disabled":true}],"body":{"mode":"formdata","formdata":[{"key":"csvFile","type":"file","src":[]}]},"url":"https://api.platinum-edge.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":"eea4bd4a-852e-4336-9e79-b8d99550e78c","name":"Whitelist Upload failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data; boundary=<calculated when request is sent>","disabled":true}],"body":{"mode":"formdata","formdata":[{"key":"csvFile","type":"file","src":[]}]},"url":"https://api.platinum-edge.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":"90ddfee4-5cac-4a60-b035-3a93e3b04928"}],"id":"1ebfec86-9932-4e32-9367-fa41648ba977","_postman_id":"1ebfec86-9932-4e32-9367-fa41648ba977","description":"","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"e063fd1a-6c16-484e-b464-5428adcf9acb","id":"e063fd1a-6c16-484e-b464-5428adcf9acb","name":"💳 Card Payments","type":"folder"}}}],"id":"e063fd1a-6c16-484e-b464-5428adcf9acb","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"ea35e533-4879-471a-a3d9-2e71e5c888b8"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"260f7dc6-549a-4a4c-87ad-abd3dfbdb679"}}],"_postman_id":"e063fd1a-6c16-484e-b464-5428adcf9acb","description":""}],"id":"8dec3c94-67e9-4e94-ba5d-ec3364e68433","_postman_id":"8dec3c94-67e9-4e94-ba5d-ec3364e68433","description":""},{"name":"User Defined Fields (UDF)","item":[],"id":"e9c6023b-7ec0-48d6-9d9f-aacd26e78ca1","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 Platinum Edge's app.</p>\n<img src=\"https://content.pstmn.io/19e4070d-dcea-4e3e-bfc0-436eddf5f497/VW50aXRsZWQgZGVzaWduICg0MSkucG5n\" alt />\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","_postman_id":"e9c6023b-7ec0-48d6-9d9f-aacd26e78ca1"},{"name":"Cashier APIs","item":[{"name":"Customer","id":"e220eaef-11a5-4efe-951d-7135e131756a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"},{"key":"BrandId","value":"brand_id_value","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"fullName\": \"Rahul Agarwal\",\r\n    \"emailId\": \"rahul+26@platinum-edge.ca\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"city\": \"Jaipur\",\r\n    \"stateCode\": \"RJ\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"House Number 53, Vaishali Nagar, Jaipur\",\r\n    \"country\": \"IN\",\r\n    \"merchantCustomerId\": \"rahultestcustomer@platinum-edge.ca\",\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://panel.platinum-edge.ca/api/v1/customer","description":"<p><strong>OVERIEW</strong></p>\n<p>The <strong>createCustomer API</strong> allows merchants to create a customer profile on Platinum Edge when a user visits their website, facilitating a seamless payment experience by pre-filling the customer's details, on the Platinum Edge Cashier. The API takes in customer information and returns a unique customerID that can be passed in purchase payload, eliminating the need for customers to manually enter their details during transactions.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>merchantCustomerId</td>\n<td>String</td>\n<td>unique customer ID provided by merchant. This can be email, mobile or an alphanumeric string</td>\n<td><a href=\"https://mailto:rahultestcustomer@platinum-edge.ca\">rahultestcustomer@platinum-edge.ca</a></td>\n</tr>\n<tr>\n<td>fullName</td>\n<td>String</td>\n<td>Full name of the customer.</td>\n<td>Rahul Agarwal</td>\n</tr>\n<tr>\n<td>emailId</td>\n<td>String</td>\n<td>Email address of the customer.</td>\n<td><a href=\"https://mailto:test@platinum-edge.ca\">test@platinum-edge.ca</a></td>\n</tr>\n<tr>\n<td>dateOfBirth</td>\n<td>String</td>\n<td>Customer's date of birth in YYYY-MM-DD format.</td>\n<td>1995-38-27</td>\n</tr>\n<tr>\n<td>phoneNo</td>\n<td>String</td>\n<td>Customer's phone number. 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>City of the customer.</td>\n<td>Jaipur</td>\n</tr>\n<tr>\n<td>stateCode</td>\n<td>String</td>\n<td>State code of the customer.</td>\n<td>RJ</td>\n</tr>\n<tr>\n<td>zipCode</td>\n<td>String</td>\n<td>Postal code of the customer's location.</td>\n<td>302018</td>\n</tr>\n<tr>\n<td>address</td>\n<td>String</td>\n<td>Full address of the customer.</td>\n<td>House Number 53, Vaishali Nagar, Jaipur</td>\n</tr>\n<tr>\n<td>country</td>\n<td>String</td>\n<td>Country code (ISO 3166-1 alpha-2).</td>\n<td>IN</td>\n</tr>\n<tr>\n<td>custRegDate</td>\n<td>Sting</td>\n<td>Customer registration date on merchant site 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>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 Platinum Edge API with the customer's details.</p>\n</li>\n<li><p><strong>Customer ID generation</strong>: Platinum Edge 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":"b9d23d6c-30c1-4baa-a0b1-de23499a9fd1","id":"b9d23d6c-30c1-4baa-a0b1-de23499a9fd1","name":"Cashier APIs","type":"folder"}},"urlObject":{"protocol":"https","path":["api","v1","customer"],"host":["panel","platinum-edge","ca"],"query":[],"variable":[]}},"response":[{"id":"806da10a-9cf2-4564-938a-391d5dc3454c","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","description":"If this parameter is passed in the header, a unique customer will be created under that particular Brand Name. else, the customer will be created under the main merchant (irrespective of the brands)","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"fullName\": \"Rahul Agarwal\",\r\n    \"emailId\": \"rahul+26@platinum-edge.ca\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"city\": \"Jaipur\",\r\n    \"stateCode\": \"RJ\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"House Number 53, Vaishali Nagar, Jaipur\",\r\n    \"country\": \"IN\",\r\n    \"merchantCustomerId\": \"rahultestcustomer@platinum-edge.ca\",\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.platinum-edge.net/api/v1/customer"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"customerId\": \"691afbc6fd96d34a8113a34d\",\r\n    \"merchantCustomerId\": \"rahultestcustomer@platinum-edge.ca\",\r\n    \"fullName\": \"Rahul Agarwal\",\r\n    \"emailId\": \"rahul+26@platinum-edge.ca\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"brandID\": \"1d666074-39be-4b90-aec9-e9de78fbdcb9\",\r\n    \"city\": \"Jaipur\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"House Number 53, Vaishali Nagar, Jaipur\",\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":"48cb307e-2724-43b3-b7aa-62bfc0d96ec8","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","description":"If this parameter is passed in the header, a unique customer will be created under that particular Brand Name. else, the customer will be created under the main merchant (irrespective of the brands)","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"fullName\": \"Rahul Agarwal\",\r\n    \"emailId\": \"rahul+26@platinum-edge.ca\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"city\": \"Jaipur\",\r\n    \"stateCode\": \"RJ\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"House Number 53, Vaishali Nagar, Jaipur\",\r\n    \"country\": \"IN\",\r\n    \"merchantCustomerId\": \"rahultestcustomer@platinum-edge.ca\",\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.platinum-edge.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":"b94edecb-05e6-44b9-86b9-6407cb995f8e","name":"Existing Customer","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","description":"If this parameter is passed in the header, a unique customer will be created under that particular Brand Name. else, the customer will be created under the main merchant (irrespective of the brands)","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"fullName\": \"Rahul Agarwal\",\r\n    \"emailId\": \"rahul+26@platinum-edge.ca\",\r\n    \"dateOfBirth\": \"1994-06-03\",\r\n    \"phoneNo\": \"+91 797639082\",\r\n    \"city\": \"Jaipur\",\r\n    \"stateCode\": \"RJ\",\r\n    \"zipCode\": \"302018\",\r\n    \"address\": \"House Number 53, Vaishali Nagar, Jaipur\",\r\n    \"country\": \"IN\",\r\n    \"merchantCustomerId\": \"rahultestcustomer@platinum-edge.ca\",\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.platinum-edge.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":"e220eaef-11a5-4efe-951d-7135e131756a"},{"name":"Customer","id":"9688fd6c-725e-49c7-92b5-784536173834","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer Token","type":"text"},{"key":"BrandId","value":"brand_id_value","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"merchantCustomerId\": \"rahultestcustomer1@platinum-edge.ca\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.platinum-edge.net/api/v1/customer","description":"<p>This endpoint makes an HTTP GET request to retrieve customer information from the Platinum Edge 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":"b9d23d6c-30c1-4baa-a0b1-de23499a9fd1","id":"b9d23d6c-30c1-4baa-a0b1-de23499a9fd1","name":"Cashier APIs","type":"folder"}},"urlObject":{"protocol":"https","path":["api","v1","customer"],"host":["app","platinum-edge","net"],"query":[],"variable":[]}},"response":[{"id":"0bd3c85c-fe30-4131-a6a3-8bf70da09ccb","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.platinum-edge.net/api/v1/customer"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"customerId\": \"691afbc6fd96d34a8113a34d\",\n    \"merchantCustomerId\": \"rahultestcustomer1@platinum-edge.ca\",\n    \"fullName\": \"Rahul Agarwal\",\n    \"emailId\": \"rahul+26@platinum-edge.ca\",\n    \"dateOfBirth\": \"1994-06-03\",\n    \"phoneNo\": \"+91 797639082\",\n    \"brandID\": \"1d666074-39be-4b90-aec9-e9de78fbdcb9\",\n    \"city\": \"Jaipur\",\n    \"zipCode\": \"302018\",\n    \"address\": \"House Number 53, Vaishali Nagar, Jaipur\",\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":"5841eeb4-d8fa-4362-9e8c-c3977ba70113","name":"Invalid Customer","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.platinum-edge.net/api/v1/customer"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Customer with this information does not exist\",\n    \"code\": \"customer_does_not_exist\"\n}"}],"_postman_id":"9688fd6c-725e-49c7-92b5-784536173834"},{"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":"523e8ad9-c1c7-4fdf-833f-51b709bf531a"}}],"id":"59d99d82-9609-4d0f-9115-64b1a9cd6cb1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Authorization","value":"Bearer Token","type":"text"},{"key":"BrandId","value":"brand_id_value","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"fullName\": \"Gouri Shankar3\",\n    \"emailId\": \"gouri@platinum-edge.ca\",\n    \"dateOfBirth\": \"1990-11-27\",\n    \"phoneNo\": \"+91 9413666514\",\n    \"city\": \"Dausa\",\n    \"stateCode\": \"Raj\",\n    \"zipCode\": \"202021\",\n    \"address\": \"Somnath Nagar\",\n    \"country\": \"IN\",\n    \"CustRegDate\": \"2023-12-28\",\n    \"SuccessTxn\": \"33\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.platinum-edge.net/api/v1/{PlatinumEdgeCustomerId}/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 Platinum Edge.</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://panel.platinum-edge.ca/api/v1/%7BcustomerId%7D/patchCustomer\">https://panel.platinum-edge.ca/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":{"protocol":"https","path":["api","v1","{PlatinumEdgeCustomerId}","patchCustomer"],"host":["api","platinum-edge","net"],"query":[],"variable":[]}},"response":[{"id":"688848f9-0aa6-42e3-8c84-d93f5dfe374f","name":"Success","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","type":"text"},{"key":"Authorisation","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"fullName\": \"Gouri Shankar3\",\n    \"emailId\": \"gouri@platinum-edge.ca\",\n    \"dateOfBirth\": \"1990-11-27\",\n    \"phoneNo\": \"+91 9413666514\",\n    \"city\": \"Dausa\",\n    \"stateCode\": \"Raj\",\n    \"zipCode\": \"202021\",\n    \"address\": \"Somnath Nagar\",\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.platinum-edge.net/api/v1/{PlatinumEdgeCustomerId}/patchCustomer"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"customerId\": \"691afbc6fd96d34a8113a34d\",\n    \"merchantCustomerId\": \"rahultestcustomer1@platinum-edge.ca\",\n    \"fullName\": \"Gouri Shankar3\",\n    \"emailId\": \"gouri@platinum-edge.ca\",\n    \"dateOfBirth\": \"1990-11-27\",\n    \"phoneNo\": \"+91 9413666514\",\n    \"brandID\": \"brandID\",\n    \"city\": \"Dausa\",\n    \"zipCode\": \"202021\",\n    \"address\": \"Somnath Nagar\",\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":"59d99d82-9609-4d0f-9115-64b1a9cd6cb1"},{"name":"Purchase Session","id":"18c4e2bf-c940-4f8b-8a86-14a29b7076aa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"},{"key":"BrandId","value":"30f7ce6e-3b7e-46a2-9b50-484fc55be689","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\": \"rahultestcustomer1@platinum-edge.ca\", // 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://merchant-success-page.com/\",\r\n    \"failure_redirect\": \"https://merchant-failure-page.com/\",\r\n    \"pending_redirect\": \"https://merchant-pending-page.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://panel.platinum-edge.ca/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 Platinum Edge'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>: Platinum Edge 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":"b9d23d6c-30c1-4baa-a0b1-de23499a9fd1","id":"b9d23d6c-30c1-4baa-a0b1-de23499a9fd1","name":"Cashier APIs","type":"folder"}},"urlObject":{"protocol":"https","path":["api","v1","createSession"],"host":["panel","platinum-edge","ca"],"query":[],"variable":[]}},"response":[{"id":"efcc81d3-21e8-4617-8eb3-4039e59ab496","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","description":"it is mandatory to pass the BrandId in header for each createSession request. ","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"customerId\": \"68fed1855ebbe829416b08c6\",\r\n    \"merchantRef\": \"rahultestcustomer1@platinum-edge.ca\", // 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://merchant-success-page.com/\",\r\n    \"failure_redirect\": \"https://merchant-failure-page.com/\",\r\n    \"pending_redirect\": \"https://merchant-pending-page.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.platinum-edge.net/api/v1/createSession"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"sessionUrl\": \"https://panel.platinum-edge.ca/payment-session/691b02b48c73dd76eedaa379/\",\r\n    \"brandId\": \"brand_id_value\",\r\n    \"customerId\": \"68fed1855ebbe829416b08c6\",\r\n    \"sessionId\": \"691b02b48c73dd76eedaa379\",\r\n    \"expiryOn\": 1763378744,\r\n    \"createdOn\": 1763377844\r\n}"},{"id":"578ed778-7029-463d-b144-a3e39975f2f8","name":"Session with CryptoConversion","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","description":"it is mandatory to pass the BrandId in header for each createSession request. ","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"customerId\": \"68fed1855ebbe829416b08c6\",\r\n    \"merchantRef\": \"rahultestcustomer1@platinum-edge.ca\", // 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://merchant-success-page.com/\",\r\n    \"failure_redirect\": \"https://merchant-failure-page.com/\",\r\n    \"pending_redirect\": \"https://merchant-pending-page.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.platinum-edge.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://panel.platinum-edge.ca/payment-session/691b02b48c73dd76eedaa379/\",\n    \"brandId\": \"brand_id_value\",\n    \"customerId\": \"68fed1855ebbe829416b08c6\",\n    \"sessionId\": \"691b02b48c73dd76eedaa379\",\n    \"expiryOn\": 1763378744,\n    \"createdOn\": 1763377844\n}"},{"id":"c99139f3-82d9-45a9-8457-4ca71fc40063","name":"Invalid Session","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","description":"it is mandatory to pass the BrandId in header for each createSession request. ","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"customerId\": \"68fed1855ebbe829416b08c6\",\r\n    \"merchantRef\": \"rahultestcustomer1@platinum-edge.ca\", // 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://merchant-success-page.com/\",\r\n    \"failure_redirect\": \"https://merchant-failure-page.com/\",\r\n    \"pending_redirect\": \"https://merchant-pending-page.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.platinum-edge.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":"18c4e2bf-c940-4f8b-8a86-14a29b7076aa"},{"name":"Payout Session","id":"ec592e4c-fcbc-4c8d-8054-7503943408dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"},{"key":"BrandId","value":"brand_id_value","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://panel.platinum-edge.ca/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 payment 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://panel.platinum-edge.ca/payoutSession/68341ad35f895955355d5452/\",\n    \"brandId\": \"brand_id_value\",\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":"b9d23d6c-30c1-4baa-a0b1-de23499a9fd1","id":"b9d23d6c-30c1-4baa-a0b1-de23499a9fd1","name":"Cashier APIs","type":"folder"}},"urlObject":{"protocol":"https","path":["api","v1","createSession"],"host":["panel","platinum-edge","ca"],"query":[],"variable":[]}},"response":[{"id":"74ebae3a-5d9f-47f1-9dd1-efbf2490c05b","name":"payoutSession","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"},{"key":"BrandId","value":"brand_id_value","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.platinum-edge.net/api/v1/createSession"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"sessionUrl\": \"https://panel.platinum-edge.ca/payoutSession/68341e385f895955355d5671/\",\n    \"brandId\": \"{yourBrandID}\",\n    \"customerId\": \"67c9983fba18400ab6cceb8f\",\n    \"sessionId\": \"68341e385f895955355d5671\",\n    \"expiryOn\": 1748246972,\n    \"createdOn\": 1748246072\n}"},{"id":"66c984e3-cdce-45da-9216-a4547aec838c","name":"payoutSession with Crypto Conversion","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"},{"key":"BrandId","value":"brand_id_value","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.platinum-edge.net/api/v1/createSession"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"sessionUrl\": \"https://panel.platinum-edge.ca/payoutSession/68341e385f895955355d5671/\",\n    \"brandId\": \"{yourBrandID}\",\n    \"customerId\": \"67c9983fba18400ab6cceb8f\",\n    \"sessionId\": \"68341e385f895955355d5671\",\n    \"expiryOn\": 1748246972,\n    \"createdOn\": 1748246072\n}"}],"_postman_id":"ec592e4c-fcbc-4c8d-8054-7503943408dd"},{"name":"Check Status","id":"fcda6795-c282-463e-a1d5-c8d4b881c14d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API Key}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"Bearer {{API Key}}"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://panel.platinum-edge.ca/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 reposne for session API, is clicked.</p>\n</blockquote>\n","urlObject":{"protocol":"https","path":["api","v1","purchases","{Session ID}",""],"host":["panel","platinum-edge","ca"],"query":[],"variable":[]}},"response":[],"_postman_id":"fcda6795-c282-463e-a1d5-c8d4b881c14d"}],"id":"b9d23d6c-30c1-4baa-a0b1-de23499a9fd1","description":"<p>Platinum Edge 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":"91bb7f69-48bd-4bc7-880c-0d2fdc9cad64"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"requests":{},"exec":[""],"id":"fd9f376e-4930-4ff6-b111-eeacfa265d46"}}],"_postman_id":"b9d23d6c-30c1-4baa-a0b1-de23499a9fd1"}],"event":[{"listen":"prerequest","script":{"type":"text/javascript","requests":{},"exec":[""],"id":"4983ce8b-f041-43c9-909b-7b3569a02d3a"}},{"listen":"test","script":{"type":"text/javascript","requests":{},"exec":[""],"id":"c0853e1c-ffd4-4798-9ff2-919fff314630"}}],"variable":[{"key":"BaseURL","value":"https://panel.platinum-edge.ca/api/v1"},{"key":"StagingAPIKey","value":""}]}