{"info":{"_postman_id":"eb90e750-9c42-4051-9eca-c9e60f2a7185","name":"Coastal Pay - Gateway","description":"<html><head></head><body><p>Our RESTful API uses clear resource-based URLs, accepts form-encoded requests, returns JSON responses, supports standard HTTP methods and status codes, and requires authentication.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"46681645","collectionId":"eb90e750-9c42-4051-9eca-c9e60f2a7185","publishedId":"2sB34hHLmm","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"00ad69"},"publishDate":"2026-01-01T07:35:25.000Z"},"item":[{"name":"General Information","item":[{"name":"Authentication","item":[{"name":"Login","event":[{"listen":"test","script":{"id":"0c2e6052-ae62-463d-8e6a-b6f6ae80da45","exec":[""],"type":"text/javascript","packages":{},"requests":{}}}],"id":"b628b039-ee4d-43d6-94d8-26cfd76b9d04","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"email","value":"test-user@example.com","type":"text","uuid":"fd37ba18-dddf-4c68-bb16-770a1c73c3e1"},{"key":"password","value":"********","type":"text","uuid":"baf2bbbf-5a37-498c-8865-ca30bc03cabf"}]},"url":"https://www.gateway.coastalpay.com/api/login","description":"<blockquote>\n<p>This API is used to authenticate a user and obtain an access token. The client must send valid login credentials in the request body. On successful authentication, a token is returned that should be used for accessing protected endpoints. </p>\n</blockquote>\n<p><strong>Security Notes:</strong></p>\n<ul>\n<li><p>All credentials must be sent over HTTPS.</p>\n</li>\n<li><p>Store tokens securely on the client side.</p>\n</li>\n<li><p>Tokens typically expire after a period of inactivity; re-authentication may be required.</p>\n</li>\n</ul>\n<p>This API is used to authenticate a user and obtain an access token.<br />The client must send valid login credentials in the request body.<br />On successful authentication, an access token is returned which should be used to access protected endpoints.</p>\n<hr />\n<h4 id=\"authentication-required\">Authentication Required:</h4>\n<p>No (this is the authentication endpoint)</p>\n<hr />\n<hr />\n<h4 id=\"invalid-credentials\">Invalid Credentials:</h4>\n<p>This endpoint authenticates the user and returns an access token.<br />If credentials are incorrect, it returns an error message.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": false,\n  \"message\": \"Invalid credentials.\"\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","login"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"d938379f-2bc8-4fca-ade2-0eac156a0d90","name":"Login","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"email","value":"john.doe@example.com","type":"text","uuid":"fd37ba18-dddf-4c68-bb16-770a1c73c3e1"},{"key":"password","value":"YourSecurePassword123!","type":"text","uuid":"baf2bbbf-5a37-498c-8865-ca30bc03cabf"}]},"url":"https://www.gateway.coastalpay.com/api/login"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Login successful.\",\n    \"token\": \"your_generated_token_here\",\n    \"data\": {\n        \"id\": 1,\n        \"user_id\": 1001,\n        \"name\": \"Demo Merchant\",\n        \"default_merchant\": 1,\n        \"url\": \"demo-url\",\n        \"surcharge_type\": \"fixed\",\n        \"surcharge\": 2,\n        \"compliant_surcharge\": 3.5,\n        \"compliant_surcharge_type\": \"per\",\n        \"tax_type\": \"per\",\n        \"tax\": \"10\",\n        \"terminal_id\": \"TID12345\",\n        \"dba_id_card\": \"DBA123\",\n        \"dba_id_ach\": \"ACH123\",\n        \"cause_label\": null,\n        \"fund_list\": null,\n        \"api_key\": \"your_api_key_here\",\n        \"api_mode\": \"sandbox\",\n        \"sandbox_terminal_id\": \"TEST_TID123\",\n        \"sandbox_dba_id_card\": \"TEST_DBA_CARD\",\n        \"sandbox_dba_id_ach\": \"TEST_DBA_ACH\",\n        \"sandbox_api_key\": \"your_sandbox_api_key_here\",\n        \"payment_method\": \"all\",\n        \"logo\": \"logo_placeholder.png\",\n        \"note\": \"This is a test merchant account.\",\n        \"description\": \"Dummy merchant used for documentation examples.\",\n        \"recurring\": \"1\",\n        \"created_at\": \"2025-01-01T00:00:00.000000Z\",\n        \"updated_at\": \"2025-01-02T00:00:00.000000Z\",\n        \"deleted_at\": null,\n        \"email\": \"john.doe@example.com\",\n        \"phone\": \"+1234567890\"\n    }\n}"}],"_postman_id":"b628b039-ee4d-43d6-94d8-26cfd76b9d04"},{"name":"Logout","id":"8dc6389b-52e3-4f87-bc77-f18c7fc258e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/logout","description":"<blockquote>\n<p>This endpoint logs out the currently authenticated user by invalidating their token. After a successful logout, the token can no longer be used to access protected routes.</p>\n</blockquote>\n<h6 id=\"unauthenticated--missing-or-invalid-token\">Unauthenticated – Missing or Invalid Token</h6>\n<p>This error occurs when the request is made to a protected API endpoint without a valid Bearer token or the token has expired or is invalid.</p>\n<h6 id=\"example-error-response\">Example Error Response</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Unauthenticated.\"\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","logout"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"3ea3b6e9-7dbe-46df-af22-8e477414aa41","name":"Logout","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/logout"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"code\": 200,\n    \"message\": \"Logout successful.\"\n}"}],"_postman_id":"8dc6389b-52e3-4f87-bc77-f18c7fc258e1"},{"name":"Change Password","id":"05efb905-cfdc-445f-ab94-876cd770359b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","description":"<p>Indicates that the client expects the server to respond with a JSON formatted response. This is common for RESTful APIs to ensure consistent data exchange format.</p>\n","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"current_password","value":"OldPass@123","description":"<p>The user's current password. Used to verify their identity before changing.</p>\n","type":"text","uuid":"d1238d4a-bfe4-46c7-a6cf-cfcab817b545"},{"key":"new_password","value":"NewPass@123","description":"<p>The new password the user wants to set. Must meet the system's password policy.</p>\n","type":"text","uuid":"204f2738-9ae8-4987-8e3b-8fcd91d94147"},{"key":"confirm_password","value":"NewPass@123","description":"<p>Re-enter the new password to confirm it matches new_password.</p>\n","type":"text","uuid":"88856521-03ec-41f8-baff-d78a77dde4b1"}]},"url":"https://www.gateway.coastalpay.com/api/change-password","description":"<blockquote>\n<p>This endpoint allows a logged-in user to change their password by providing their current password and a new password (with confirmation). All fields are required.</p>\n</blockquote>\n<h3 id=\"request-body\">Request Body</h3>\n<hr />\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>current_password</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>User’s current password</td>\n</tr>\n<tr>\n<td>new_password</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>The new password to set</td>\n</tr>\n<tr>\n<td>confirm_password</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Must match the new password exactly</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"success-response\">Success Response</h3>\n<hr />\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": true,\n  \"message\": \"Password changed successfully.\"\n}\n</code></pre>\n<hr />\n<h3 id=\"error-responses\">Error Responses</h3>\n<hr />\n<h5 id=\"incorrect-current-password\"><strong>Incorrect Current Password:</strong></h5>\n<blockquote>\n<p>This response is returned when the user provides an invalid current_password \nthat does not match their existing password in the system. The password change process is aborted, and no updates are made.</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": false,\n  \"message\": \"Current password is incorrect.\"\n}\n</code></pre>\n<h5 id=\"password-mismatch-error-\"><strong>Password Mismatch Error :</strong></h5>\n<blockquote>\n<p>This response indicates that the provided new_password and confirm_password do not match. It is returned when the user attempts to change their password but the confirmation password does not exactly match the new password, as required for security.</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": false,\n  \"message\": \"New password and confirm password must match.\"\n}\n</code></pre>\n<h5 id=\"new-password-cannot-be-the-same-as-current-password\"><strong>New Password Cannot Be the Same as Current Password:</strong></h5>\n<blockquote>\n<p> This response is returned when the user attempts to change their password but provides the same value for both the current_password and new_password fields.</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"New password must be different from current password.\"\n}\n</code></pre>\n<h5 id=\"validation-error-eg-new-password-too-short\"><strong>Validation error (e.g., new password too short):</strong></h5>\n<blockquote>\n<p> This error occurs when the user attempts to set a new password that does not meet the minimum length requirement.By default, the password must be at least 6 characters long. This rule helps  ensure a basic level of password strength and security.</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"New password must be at least 6 characters.\"\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","change-password"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"fb2a14d0-181a-469d-8224-e2256a7c5a97","name":"Change Password","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","description":"Indicates that the client expects the server to respond with a JSON formatted response. This is common for RESTful APIs to ensure consistent data exchange format.","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"current_password","value":"OldPass@123","description":"The user's current password. Used to verify their identity before changing.","type":"text","uuid":"d1238d4a-bfe4-46c7-a6cf-cfcab817b545"},{"key":"new_password","value":"NewPass@1234","description":"The new password the user wants to set. Must meet the system's password policy.","type":"text","uuid":"204f2738-9ae8-4987-8e3b-8fcd91d94147"},{"key":"confirm_password","value":"NewPass@1234","description":"Re-enter the new password to confirm it matches new_password.","type":"text","uuid":"88856521-03ec-41f8-baff-d78a77dde4b1"}]},"url":"https://www.gateway.coastalpay.com/api/change-password"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Password changed successfully.\"\n}"}],"_postman_id":"05efb905-cfdc-445f-ab94-876cd770359b"},{"name":"Register Merchant","id":"312bfd9a-819d-4473-a52c-03730f8a51f4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","description":"<p>Informs the server that the client expects a JSON response.</p>\n","type":"text"},{"key":"Content-Type","value":"multipart/form-data","description":"<p>The multipart/form-data content type is used when the request includes file uploads or binary data, along with regular form fields.</p>\n","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"business_name","value":"Coastal Demo Merchant","description":"<p>Business name of the merchant</p>\n","type":"text","uuid":"699144bf-50fb-4f75-85d5-989ae4807545"},{"key":"owner_name","value":"John Doe","description":"<p>Full name of the business owner</p>\n","type":"text","uuid":"70d34d9a-b16e-4ebc-9d69-0f32960ad24a"},{"key":"email","value":"john.doe+demo123@example.com","description":"<p>Must be a valid and unique email</p>\n","type":"text","uuid":"c8bb7342-0073-4585-82b2-4c3fe959955e"},{"key":"password","value":"123456","description":"<p>Password for the user account</p>\n","type":"text","uuid":"e9f62c2d-aa46-405c-9030-f5c048b80fe7"},{"key":"url","value":"coastal-demo-merchant","description":"<p>Unique URL identifier for the merchant</p>\n","type":"text","uuid":"caf4e42c-9370-4d3f-b42b-b92d36308a6f"},{"key":"payment_method","value":"card","description":"<p>Must be one of: card, ach, or all</p>\n","type":"text","uuid":"8380bf73-043a-4f4b-a832-73590774e811"},{"key":"surcharge_active","value":"yes","description":"<p>\"yes\" to enable surcharge, \"no\" to disable, default is \"no\"</p>\n","type":"text"},{"key":"surcharge_type","value":"per","description":"<p>Surcharge type : fixed, per &amp; if surcharge_active is \"yes\"</p>\n","type":"text","uuid":"51975d3d-5206-48ad-b673-ad663456b08e"},{"key":"surcharge","value":"2.5","description":"<p>Surcharge amount &amp; &amp; if surcharge_active is \"yes\"</p>\n","type":"text","uuid":"0cff6b87-e006-477d-92ce-383c1df5a3e8"},{"key":"compliant_surcharge_type","value":"fixed","description":"<p>Must be one of : fixed , per</p>\n","type":"text","uuid":"53e06b50-52bb-4ca8-a75f-31784383f824"},{"key":"compliant_surcharge","value":"2.1","description":"<p>Compliant surcharge amount</p>\n","type":"text","uuid":"9bc72942-6d50-4eab-a4b2-21a85a16e194"},{"key":"tax_type","value":"per","description":"<p>Must be one of : fixed , per</p>\n","type":"text","uuid":"2a554406-24a7-4164-953e-c2adab63d3a8"},{"key":"tax","value":"5","description":"<p>Tax amount</p>\n","type":"text","uuid":"4c010e58-f05c-44bf-8f9b-6434a9aefa4e"},{"key":"api_mode","value":"live","description":"<p>Optional mode: live or sandbox</p>\n","type":"text","uuid":"057ae245-0963-4e03-8ef2-f00604858b9c"},{"key":"api_key","value":"live_key_123456789","description":"<p>API key</p>\n","type":"text","uuid":"4efb0652-5cb6-4236-95e9-023a5b974a4b"},{"key":"terminal_id","value":"789456123","description":"<p>Terminal ID</p>\n","type":"text","uuid":"4c83c330-c8b3-4342-9813-807bc8cbb3f5"},{"key":"dba_id_card","value":"CARD1234","description":"<p>Required if payment_method = card or both &amp; if api_mode = live</p>\n","type":"text","uuid":"52b8e767-0b68-41da-9685-bd309e61e789"},{"key":"dba_id_ach","value":"ACH5678","description":"<p>Required if payment_method = ach or both &amp; api_mode = live</p>\n","type":"text","uuid":"3273b6cb-8e2b-414c-ad3a-c2fd6b4dfb49"},{"key":"recurring","value":"on","description":"<p>Must be : on, off</p>\n","type":"text","uuid":"a6dff626-2c1c-49e7-a84b-96ee8970aa26"},{"key":"sandbox_api_key","value":"sandbox_key_1133455","description":"<p>Required if api_mode = sandbox</p>\n","type":"text"},{"key":"sandbox_terminal_id","value":"123445666","description":"<p>Required if api_mode = sandbox</p>\n","type":"text"},{"key":"sandbox_dba_id_card","value":"CARD123123","description":"<p>Required if payment_method = card or both &amp;  api_mode = sandbox</p>\n","type":"text"},{"key":"sandbox_dba_id_ach","value":"ACH123445","description":"<p>Required if payment_method = ach or both &amp;  api_mode = sandbox</p>\n","type":"text"},{"key":"logo","description":"<p>Optional image file</p>\n","type":"file","uuid":"e5b4f1aa-b33d-460f-8357-63e24b1d2e0a","value":null}]},"url":"https://www.gateway.coastalpay.com/api/merchant/create","description":"<blockquote>\n<p>Creates a new merchant account and login credentials.</p>\n</blockquote>\n<h5 id=\"request-body\">Request Body</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>business_name</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>The legal name of the business</td>\n</tr>\n<tr>\n<td>owner_name</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Full name of the business owner</td>\n</tr>\n<tr>\n<td>email</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Unique email address of the merchant (must not exist in users table)</td>\n</tr>\n<tr>\n<td>password</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Password for the merchant's login</td>\n</tr>\n<tr>\n<td>url</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Unique business URL</td>\n</tr>\n<tr>\n<td>payment_method</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Payment method: <code>card</code>, <code>ach</code>, or <code>both</code></td>\n</tr>\n<tr>\n<td>logo</td>\n<td>file</td>\n<td>❌ No</td>\n<td>Business logo (jpeg, jpg, png only)</td>\n</tr>\n<tr>\n<td>api_mode</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>API environment: <code>live</code> or <code>sandbox</code></td>\n</tr>\n<tr>\n<td>surcharge_active</td>\n<td>number</td>\n<td>❌ No</td>\n<td><code>\"yes\"</code> to enable surcharge, <code>\"no\"</code> to disable (default: <code>\"no\"</code>)</td>\n</tr>\n<tr>\n<td>compliant_surcharge_type</td>\n<td>string</td>\n<td>❌ No</td>\n<td>Compliant surcharge type must be 'per' or 'fixed' (default: per)</td>\n</tr>\n<tr>\n<td>compliant_surcharge</td>\n<td>number</td>\n<td>❌ No</td>\n<td>Compliant surcharge value (default: 0)</td>\n</tr>\n<tr>\n<td>tax_type</td>\n<td>string</td>\n<td>❌ No</td>\n<td>Tax type must be 'per' or 'fixed (default: per)</td>\n</tr>\n<tr>\n<td>tax</td>\n<td>number</td>\n<td>❌ No</td>\n<td>Tax value (default: 0)</td>\n</tr>\n<tr>\n<td>recurring</td>\n<td>boolean</td>\n<td>❌ No</td>\n<td>Enable recurring billing: <code>on</code> or <code>off</code> (default: <code>on</code>)</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><strong>If</strong> <strong><code>surcharge_active = yes</code></strong> <strong>:</strong></li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>surcharge_type</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Type of surcharge: <code>per</code> or <code>fixed</code> (default: <code>per</code>)</td>\n</tr>\n<tr>\n<td>surcharge</td>\n<td>number</td>\n<td>✅ Yes</td>\n<td>Surcharge value</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><strong>If</strong> <strong><code>api_mode = live</code></strong> <strong>:</strong></li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_key</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Live API key provided by CoastalPay</td>\n</tr>\n<tr>\n<td>terminal_id</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Live Terminal ID</td>\n</tr>\n<tr>\n<td>dba_id_card</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Required if <code>payment_method</code> is <code>card</code> or <code>both</code></td>\n</tr>\n<tr>\n<td>dba_id_ach</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Required if <code>payment_method</code> is <code>ach</code> or <code>both</code></td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><strong>If</strong> <strong><code>api_mode = sandbox</code></strong> <strong>:</strong></li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sandbox_api_key</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Sandbox API key provided by CoastalPay</td>\n</tr>\n<tr>\n<td>sandbox_terminal_id</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Sandbox Terminal ID</td>\n</tr>\n<tr>\n<td>sandbox_dba_id_card</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Required if <code>payment_method</code> is <code>card</code> or <code>both</code></td>\n</tr>\n<tr>\n<td>sandbox_dba_id_ach</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Required if <code>payment_method</code> is <code>ach</code> or <code>both</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","merchant","create"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"54dec2d8-3d18-4e0f-a8a8-b29c580d21ff","name":"Register Merchant","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","description":"Informs the server that the client expects a JSON response.","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"business_name","value":"Coastal Demo Merchant","type":"text","uuid":"699144bf-50fb-4f75-85d5-989ae4807545"},{"key":"owner_name","value":"John Doe","type":"text","uuid":"70d34d9a-b16e-4ebc-9d69-0f32960ad24a"},{"key":"email","value":"john.doe+demo123@example.com","type":"text","uuid":"c8bb7342-0073-4585-82b2-4c3fe959955e"},{"key":"password","value":"123456","type":"text","uuid":"e9f62c2d-aa46-405c-9030-f5c048b80fe7"},{"key":"url","value":"coastal-demo-merchant","type":"text","uuid":"caf4e42c-9370-4d3f-b42b-b92d36308a6f"},{"key":"payment_method","value":"card","type":"text","uuid":"8380bf73-043a-4f4b-a832-73590774e811"},{"key":"surcharge_active","value":"yes","type":"text"},{"key":"surcharge_type","value":"per","type":"text","uuid":"51975d3d-5206-48ad-b673-ad663456b08e"},{"key":"surcharge","value":"2.5","type":"text","uuid":"0cff6b87-e006-477d-92ce-383c1df5a3e8"},{"key":"compliant_surcharge_type","value":"fixed","type":"text","uuid":"53e06b50-52bb-4ca8-a75f-31784383f824"},{"key":"compliant_surcharge","value":"2.1","type":"text","uuid":"9bc72942-6d50-4eab-a4b2-21a85a16e194"},{"key":"tax_type","value":"per","type":"text","uuid":"2a554406-24a7-4164-953e-c2adab63d3a8"},{"key":"tax","value":"5","type":"text","uuid":"4c010e58-f05c-44bf-8f9b-6434a9aefa4e"},{"key":"api_mode","value":"live","type":"text","uuid":"057ae245-0963-4e03-8ef2-f00604858b9c"},{"key":"api_key","value":"live_key_123456789","type":"text","uuid":"4efb0652-5cb6-4236-95e9-023a5b974a4b"},{"key":"terminal_id","value":"789456123","type":"text","uuid":"4c83c330-c8b3-4342-9813-807bc8cbb3f5"},{"key":"dba_id_card","value":"CARD1234","type":"text","uuid":"52b8e767-0b68-41da-9685-bd309e61e789"},{"key":"dba_id_ach","value":"ACH5678","type":"text","uuid":"3273b6cb-8e2b-414c-ad3a-c2fd6b4dfb49"},{"key":"recurring","value":"on","type":"text","uuid":"a6dff626-2c1c-49e7-a84b-96ee8970aa26"},{"key":"logo","value":"","type":"text","uuid":"e5b4f1aa-b33d-460f-8357-63e24b1d2e0a"}]},"url":"https://www.gateway.coastalpay.com/api/merchant/create"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Merchant created successfully\"\n}"}],"_postman_id":"312bfd9a-819d-4473-a52c-03730f8a51f4"}],"id":"cc09f7fd-16a1-4ce7-a911-20c807619443","description":"<p>CoastalPay APIs use token-based authentication.<br />After successful login, an access token is issued and must be included in<br />the <code>Authorization</code> header for all protected API requests.</p>\n<p>Requests without a valid token will be rejected with HTTP 401 Unauthorized.</p>\n<h3 id=\"authentication-flow\">Authentication Flow</h3>\n<ol>\n<li><p>Register a merchant account (one-time).</p>\n</li>\n<li><p>Login using registered credentials.</p>\n</li>\n<li><p>Receive an access token.</p>\n</li>\n<li><p>Include the token in the Authorization header for all protected APIs.</p>\n</li>\n<li><p>Logout to invalidate the token.</p>\n</li>\n</ol>\n<h2 id=\"bearer-authentication-token-based-authentication\">Bearer Authentication (Token-Based Authentication)</h2>\n<p>Bearer Authentication is used to secure API requests with a token. The token proves that the requester is authorized to access protected resources.</p>\n<h3 id=\"how-it-works\">How it works</h3>\n<p>The server validates the token included in the request header:</p>\n<ul>\n<li><p><strong>Valid token</strong> → Access is granted</p>\n</li>\n<li><p><strong>Invalid or missing token</strong> → Access is denied (usually returns <strong>401 Unauthorized</strong>)</p>\n</li>\n</ul>\n<blockquote>\n<p>⚠️ <strong>Security Notice:</strong><br />Keep your Access Token confidential and never share it with others. </p>\n</blockquote>\n<hr />\n","_postman_id":"cc09f7fd-16a1-4ce7-a911-20c807619443"},{"name":"Errors","item":[],"id":"a99ff1c1-6aae-43e8-b1f2-75696fccf941","description":"<h2 id=\"errors\">Errors</h2>\n<p>The CoastalPay API uses standard HTTP status codes to indicate whether a request<br />was successful or failed. When an error occurs, the API returns a structured<br />JSON response describing the issue so developers can easily identify and handle<br />the problem.</p>\n<hr />\n<h3 id=\"http-status-codes\">HTTP Status Codes</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Category</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>2XX</strong></td>\n<td>Success</td>\n<td>The request was processed successfully</td>\n</tr>\n<tr>\n<td><strong>4XX</strong></td>\n<td>Client Error</td>\n<td>The request is invalid, unauthorized, or cannot be processed</td>\n</tr>\n<tr>\n<td><strong>5XX</strong></td>\n<td>Server Error</td>\n<td>An internal server error or temporary service issue</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"error-response-format\">Error Response Format</h3>\n<p>All error responses follow a consistent JSON structure:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": 400,\n  \"error\": \"Bad Request\",\n  \"message\": \"Validation failed\",\n  \"errors\": {\n    \"field_name\": [\"Description of the validation error\"]\n  }\n}\n\n</code></pre>\n<h3 id=\"authentication-errors\">Authentication Errors</h3>\n<h4 id=\"401-unauthorized\">401 Unauthorized</h4>\n<p>Returned when the access token is missing, invalid, or expired.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": 401,\n  \"error\": \"Unauthorized\",\n  \"message\": \"Access token is missing or invalid\"\n}\n\n</code></pre>\n","_postman_id":"a99ff1c1-6aae-43e8-b1f2-75696fccf941"}],"id":"53e0ef3b-e122-41ed-92be-2eee9b27c56b","_postman_id":"53e0ef3b-e122-41ed-92be-2eee9b27c56b","description":""},{"name":"Merchant","item":[{"name":"Customer","item":[{"name":"List","id":"bfdd0069-5550-4875-9f21-2d523550fa46","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://www.gateway.coastalpay.com/api/customer/list","description":"<blockquote>\n<p>Retrieves a list of all customer profiles associated with the authenticated merchant in the system. Each entry includes basic customer details such as name, email, and phone number. This endpoint is ideal for populating dashboards, enabling customer lookup features, or exporting customer contact lists. </p>\n</blockquote>\n<h3 id=\"pagination--filters\">Pagination &amp; Filters</h3>\n<p>This endpoint supports pagination to efficiently manage large customer lists and improve response performance.</p>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>No</td>\n<td>The page number to retrieve. Default is <code>1</code>.</td>\n</tr>\n<tr>\n<td><code>per_page</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Number of records to return per page. Default is <code>15</code>. Maximum value may be restricted by the system.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"example-request\">Example Request</h4>\n<p> <code>GET /api/customer/list?page=2&amp;per_page=10</code></p>\n<h3 id=\"error-responses\">Error Responses</h3>\n<hr />\n<h5 id=\"no-customers-found\"><strong>No Customers Found:</strong></h5>\n<p>This response is returned when the merchant exists but no customer records are associated with the merchant.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": false,\n  \"message\": \"No customers found for this merchant.\",\n  \"data\": []\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","customer","list"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"a7d4715f-2c47-435d-a032-707ec7567fc9","name":"List","originalRequest":{"method":"GET","header":[],"url":"https://www.gateway.coastalpay.com/api/customer/list"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Customer list fetched successfully.\",\n    \"data\": [\n        {\n            \"name\": \"Alice Smith\",\n            \"email\": \"alice.smith@example.com\",\n            \"phone\": \"+12345678901\"\n        },\n        {\n            \"name\": \"Bob Johnson\",\n            \"email\": \"bob.johnson@example.com\",\n            \"phone\": null\n        },\n        {\n            \"name\": \"Charlie Brown\",\n            \"email\": \"charlie.brown@example.com\",\n            \"phone\": \"+19876543210\"\n        },\n        {\n            \"name\": \"Diana Prince\",\n            \"email\": \"diana.prince@example.com\",\n            \"phone\": \"+11234567890\"\n        }\n    ],\n    \"pagination\": {\n        \"current_page\": 1,\n        \"per_page\": 15,\n        \"total\": 4,\n        \"last_page\": 1,\n        \"from\": 1,\n        \"to\": 4\n    }\n}\n"}],"_postman_id":"bfdd0069-5550-4875-9f21-2d523550fa46"},{"name":"Fetch Customer by Email","id":"1310e089-c57b-4b67-9ef1-e1b70188ec1b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/customer/details/test-user@example.com","description":"<blockquote>\n<p>Fetch detailed profile information for a specific customer using their email address. This endpoint allows authenticated merchants to retrieve a customer’s contact details directly, enabling integrations such as lookups, validation workflows, or user-centric data retrieval.</p>\n</blockquote>\n<hr />\n<h3 id=\"path-parameter\">Path Parameter</h3>\n<hr />\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>email</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>The unique email ID of the customer whose details you want to retrieve.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","customer","details","test-user@example.com"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"8c22b8c1-126a-4f16-91c9-95dce56e1688","name":"Fetch Customer by Email","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/customer/details/john.doe@example.com"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"John Doe\",\n            \"email\": \"john.doe@example.com\",\n            \"phone\": \"+1234567890\",\n            \"status\": \"1\",\n            \"address\": \"123 Main St\",\n            \"city\": \"New York\",\n            \"state\": \"NY\",\n            \"zipcode\": \"10001\",\n            \"country\": \"USA\"\n        }\n    ]\n}"}],"_postman_id":"1310e089-c57b-4b67-9ef1-e1b70188ec1b"},{"name":"Create Customer","id":"035f25f7-f8d4-4432-a0d0-9030c98743b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","description":"<p>Informs the server that the client expects a JSON response.</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","description":"<p>Indicates that the request body is in JSON format. Essential for PUT/POST APIs.</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"first_name\": \"Alice\",\n  \"last_name\": \"Smith\",\n  \"email\": \"alice.smith@example.com\",\n  \"phone\": \"5551234567\",\n  \"phone_code\": \"+1\"\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/customer/create","description":"<blockquote>\n<p>Use this endpoint to create a new customer profile. This allows merchants to store basic customer details such as first name, last name, email, and contact number. These profiles are useful for managing customer relationships, tracking transactions, and setting up recurring billing.</p>\n</blockquote>\n<h3 id=\"request-body-parameters\">Request Body Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>first_name</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Customer’s first name</td>\n</tr>\n<tr>\n<td>last_name</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Customer’s last name</td>\n</tr>\n<tr>\n<td>email</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Valid email address for the customer</td>\n</tr>\n<tr>\n<td>phone</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Customer’s phone number (digits only)</td>\n</tr>\n<tr>\n<td>phone_code</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Country dialing code, e.g. “+1”</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","customer","create"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"67b0d79c-3f0a-49a6-9ce9-1706eb78567a","name":"Create  Customer","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","description":"Informs the server that the client expects a JSON response.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request body is in JSON format. Essential for PUT/POST APIs.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"first_name\": \"Alice\",\n  \"last_name\": \"Smith\",\n  \"email\": \"alice.smith@example.com\",\n  \"phone\": \"5551234567\",\n  \"phone_code\": \"+1\"\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/customer/create"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Customer created successfully.\",\n    \"data\": {\n        \"user_id\": 101,\n        \"customer_id\": 555\n    }\n}"}],"_postman_id":"035f25f7-f8d4-4432-a0d0-9030c98743b3"},{"name":"Update Customer","id":"14944f6c-5736-4147-9342-b294a50d6569","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PUT","header":[{"key":"Accept","value":"application/json","description":"<p>Informs the server that the client expects a JSON response.</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","description":"<p>Indicates that the request body is in JSON format. Essential for PUT/POST APIs.</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"first_name\": \"John\",\n  \"last_name\": \"Smith\",\n  \"email\": \"johnsmith@example.com\",\n  \"phone\": \"9876543210\",\n  \"phone_code\": \"+1\",\n  \"phone_full\": \"+19876543210\"\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/customer/update/{id}","description":"<blockquote>\n<p>Use this endpoint to update existing customer data in the system. You must pass the customer id in the URL path. You can update one or more fields: fields not provided are left unchanged. This is useful for correcting customer details such as name, email, or phone number.</p>\n</blockquote>\n","urlObject":{"protocol":"https","path":["customer","update","{id}"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"af4c751b-900c-427d-bda8-456b899e5ee9","name":"Update Customer","originalRequest":{"method":"PUT","header":[{"key":"Accept","value":"application/json","description":"Informs the server that the client expects a JSON response.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request body is in JSON format. Essential for PUT/POST APIs.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"first_name\": \"Sarah\",\n  \"last_name\": \"Smith\",\n  \"email\": \"Sarah.smith@example.com\",\n  \"phone\": \"1234567890\",\n  \"phone_code\": \"+1\"\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/customer/update/123"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"User updated successfully.\",\n    \"data\": {\n        \"id\": 123,\n        \"name\": \"Smith\",\n        \"email\": \"Sarah.smith@example.com\",\n        \"phone\": \"+11234567890\"\n    }\n}"}],"_postman_id":"14944f6c-5736-4147-9342-b294a50d6569"}],"id":"0eddcb4c-0b06-4168-943c-06f012a50112","description":"<p>The <strong>Customer</strong> APIs enable authenticated merchants to manage customer records within the Coastal Pay Gateway system. These endpoints allow merchants to create, retrieve, update, and list customers associated with their merchant account.</p>\n<p>Customer data includes essential information such as First name, Last name, email address, phone number, and other identifying details. These APIs are typically used for customer management, transaction processing, invoicing, and reporting.</p>\n<p>All Customer endpoints require valid authentication and operate only on customers linked to the authenticated merchant.</p>\n<h3 id=\"available-operations\">Available Operations</h3>\n<ul>\n<li><p><strong>List Customers</strong><br />  Retrieves a list of all customer profiles associated with the authenticated merchant.</p>\n</li>\n<li><p><strong>Fetch Customer by Email</strong><br />  Retrieves detailed information for a specific customer using their email address.</p>\n</li>\n<li><p><strong>Create Customer</strong><br />  Creates a new customer profile and associates it with the authenticated merchant.</p>\n</li>\n<li><p><strong>Update Customer</strong><br />  Updates existing customer information such as contact details or profile data.</p>\n</li>\n</ul>\n<h3 id=\"common-use-cases\">Common Use Cases</h3>\n<ul>\n<li><p>Displaying customer lists in merchant dashboards</p>\n</li>\n<li><p>Searching for customers using email</p>\n</li>\n<li><p>Creating customer records before initiating transactions</p>\n</li>\n<li><p>Updating customer information for billing or communication purposes</p>\n</li>\n</ul>\n<h3 id=\"security--access\">Security &amp; Access</h3>\n<ul>\n<li><p>All requests require a valid <strong>Bearer Access Token</strong></p>\n</li>\n<li><p>Customer data is scoped to the authenticated merchant</p>\n</li>\n<li><p>Unauthorized requests will be rejected</p>\n</li>\n</ul>\n","_postman_id":"0eddcb4c-0b06-4168-943c-06f012a50112"},{"name":"Tags","item":[{"name":"List","id":"226982b3-6cf0-41f7-b785-903bce653409","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","description":"<p>Indicates that the client expects the server to respond with a JSON formatted response. This is common for RESTful APIs to ensure consistent data exchange format.</p>\n","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/tag/list","description":"<blockquote>\n<p>Fetch a comprehensive list of tags associated with the current authenticated merchant. Tags are identifiers or labels used within the CoastalPay system to organize and filter merchant-specific data. This endpoint returns structured tag data—including id, tag_name, and timestamp details—for easy consumption by client applications.</p>\n</blockquote>\n","urlObject":{"protocol":"https","path":["api","tag","list"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"8a50fbf8-ae28-4ee7-916f-d8a5cde0e323","name":"List","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","description":"Indicates that the client expects the server to respond with a JSON formatted response. This is common for RESTful APIs to ensure consistent data exchange format.","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/tag/list"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Tags fetched successfully.\",\n    \"data\": [\n        {\n            \"id\": 101,\n            \"tag_name\": \"Sample Tag\",\n            \"created_at\": \"2025-08-01T10:00:00.000000Z\",\n            \"updated_at\": \"2025-08-01T10:00:00.000000Z\",\n            \"deleted_at\": null\n        }\n    ]\n}"}],"_postman_id":"226982b3-6cf0-41f7-b785-903bce653409"},{"name":"Create Tag","id":"e562778d-f69a-4d51-a1e1-1cb5e591766d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","description":"<p>Indicates that the client expects the server to respond with a JSON formatted response. This is common for RESTful APIs to ensure consistent data exchange format.</p>\n","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"tag_name","value":"Marketing","description":"<p>The name of the tag to be created.</p>\n","type":"text","uuid":"7acbc44a-9312-4b28-a2d0-51d462c532e8"}]},"url":"https://www.gateway.coastalpay.com/api/tag/create","description":"<blockquote>\n<p>This endpoint allows you to create a new tag associated with the authenticated merchant. Tags help in categorizing and organizing resources such as customers, transactions, or business groups under meaningful labels.</p>\n</blockquote>\n<h5 id=\"required-field\">Required Field:</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>tag_name</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>The name of the tag to create</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","tag","create"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"666b4b81-0ce0-4562-a51a-f46d0ccfb85a","name":"Create Tag","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","description":"Indicates that the client expects the server to respond with a JSON formatted response. This is common for RESTful APIs to ensure consistent data exchange format.","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"tag_name","value":"Marketing","description":"The name of the tag to be created.","type":"text","uuid":"7acbc44a-9312-4b28-a2d0-51d462c532e8"}]},"url":"https://www.gateway.coastalpay.com/api/tag/create"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"status\": true,\n  \"message\": \"Tag created successfully.\",\n  \"data\": {\n    \"tag_name\": \"Marketing\",\n    \"merchant_id\": 101,\n    \"updated_at\": \"2025-08-06T12:00:00.000000Z\",\n    \"created_at\": \"2025-08-06T12:00:00.000000Z\",\n    \"id\": 12\n  }\n}\n"}],"_postman_id":"e562778d-f69a-4d51-a1e1-1cb5e591766d"},{"name":"Update Tag by ID","id":"03b2ac9c-45bd-4d9f-8caf-585c8df21f7b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PUT","header":[{"key":"Accept","value":"application/json","description":"<p>Informs the server that the client expects a JSON response.</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","description":"<p>Indicates that the request body is in JSON format. Essential for PUT/POST APIs.</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tag_name\": \"Retail Customers\"\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/tag/update/{id}","description":"<blockquote>\n<p>Use this endpoint to update an existing tag for the authenticated merchant by its unique id. Only the tag_name field is currently supported for updates, allowing you to rename or correct existing tags.</p>\n</blockquote>\n<h6 id=\"required-field\">Required Field</h6>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>tag_name</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Updated name for the tag</td>\n</tr>\n</tbody>\n</table>\n</div><h6 id=\"error-responses\">Error Responses</h6>\n<h5 id=\"tag-not-found-invalid-id-in-url\"><strong>Tag Not Found (Invalid ID in URL):</strong></h5>\n<p>This error is returned when the id provided in the URL does not match any existing tag.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"Tag not found or unauthorized access.\"\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","tag","update","{id}"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"02afa460-094d-4891-85bd-c893417a325c","name":"Update Tag by ID","originalRequest":{"method":"PUT","header":[{"key":"Accept","value":"application/json","description":"Informs the server that the client expects a JSON response.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request body is in JSON format. Essential for PUT/POST APIs.\n\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"tag_name\": \"Retail Customers\"\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/tag/update/1"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Tag updated successfully.\",\n    \"data\": {\n        \"id\": 5,\n        \"merchant_id\": 94,\n        \"tag_name\": \"Retail Customers\",\n        \"created_at\": \"2025-08-06T10:20:49.000000Z\",\n        \"updated_at\": \"2025-08-06T10:39:13.000000Z\",\n        \"deleted_at\": null\n    }\n}"}],"_postman_id":"03b2ac9c-45bd-4d9f-8caf-585c8df21f7b"},{"name":"Delete Tag","id":"1f402507-f2c4-437b-84d2-b0d7ea5caff3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json","description":"<p>Informs the server that the client expects a JSON response.</p>\n","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/tag/delete/{id}","description":"<blockquote>\n<p>This endpoint allows the authenticated merchant to permanently delete a tag by its id. Use this to remove outdated or incorrect tags from the system.</p>\n</blockquote>\n<h4 id=\"path-parameter\">Path Parameter</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>integer</td>\n<td>✅ Yes</td>\n<td>Unique identifier of the tag to delete</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"error-responses\">Error Responses</h4>\n<h5 id=\"tag-not-found-invalid-id-in-url\"><strong>Tag Not Found (Invalid ID in URL):</strong></h5>\n<p>Returned when the specified id does not match any existing tag, or the tag may have already been deleted.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"Tag not found or unauthorized.\"\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","tag","delete","{id}"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"aa227c35-d741-4dbc-8046-6156e2db1a94","name":"Delete Tag","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json","description":"Informs the server that the client expects a JSON response.","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/tag/delete/1"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Tag deleted successfully.\"\n}"}],"_postman_id":"1f402507-f2c4-437b-84d2-b0d7ea5caff3"}],"id":"c3121b67-d5e3-470e-86ed-93f799bcb6a8","_postman_id":"c3121b67-d5e3-470e-86ed-93f799bcb6a8","description":""},{"name":"Invoice","item":[{"name":"List","id":"e13a526d-31c4-475d-9fce-acc1966e2ab9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","description":"<p>Informs the server that the client expects a JSON response.</p>\n","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/invoice/list","description":"<blockquote>\n<p>Retrieves a list of all invoices associated with the authenticated merchant in the system. Each invoice includes details such as invoice ID, date, status, amount due, and summary line items. This endpoint is ideal for displaying invoice history.</p>\n</blockquote>\n","urlObject":{"protocol":"https","path":["api","invoice","list"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"be241533-0019-4feb-b15f-21a621e5ede8","name":"List","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","description":"Informs the server that the client expects a JSON response.","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/invoice/list"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Invoice list fetched successfully.\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"random_id\": \"abc123xyz456def789\",\n            \"invoice_name\": \"Invoice-A\",\n            \"invoice_number\": \"INV-000101\",\n            \"tag_id\": \"[5]\",\n            \"user_id\": \"101\",\n            \"merchant_id\": \"10\",\n            \"issue_date\": \"2025-08-01 00:00:00\",\n            \"due_date\": \"2025-08-10 00:00:00\",\n            \"tax\": 5,\n            \"tax_amount\": \"50\",\n            \"shipping\": 20,\n            \"total_amount\": \"500\",\n            \"note\": \"Application# 123456\",\n            \"memo_statement\": \"Merchant Ref:\",\n            \"is_archive\": 0,\n            \"created_at\": \"2025-08-01T10:00:00.000000Z\",\n            \"updated_at\": \"2025-08-01T10:00:00.000000Z\",\n            \"deleted_at\": null,\n            \"user\": {\n                \"id\": 101,\n                \"merchant_data\": \"{\\\"10\\\":{\\\"merchant_id\\\":10,\\\"customer_id\\\":\\\"9999\\\",\\\"billing_id\\\":null,\\\"ach_customer_id\\\":null}}\",\n                \"urole\": 2,\n                \"name\": \"John Doe\",\n                \"email\": \"john.doe@example.com\",\n                \"otp\": null,\n                \"otp_valid\": null,\n                \"email_verified_at\": null,\n                \"email_is_verify\": null,\n                \"email_verification_token\": null,\n                \"is_password_set\": 1,\n                \"pass_reset_token\": null,\n                \"phone\": \"+1234567890\",\n                \"status\": \"1\",\n                \"address\": \"123 Elm Street\",\n                \"city\": \"Metropolis\",\n                \"state\": \"CA\",\n                \"zipcode\": \"90210\",\n                \"country\": \"USA\",\n                \"created_at\": \"2025-07-15T09:00:00.000000Z\",\n                \"updated_at\": \"2025-07-15T09:00:00.000000Z\",\n                \"deleted_at\": null\n            },\n            \"transactions\": {\n                \"id\": 1,\n                \"invoice_id\": 1,\n                \"customer_name\": \"Jane Smith\",\n                \"transaction_type\": \"card\",\n                \"transaction_id\": 100001,\n                \"amount\": 500,\n                \"status\": \"Approved\",\n                \"response_data\": \"{\\\"id\\\":\\\"100001\\\",\\\"amount\\\":\\\"500.00\\\",\\\"type\\\":\\\"Auth\\\",\\\"authCode\\\":\\\"AUTH123\\\",\\\"card\\\":{\\\"bin\\\":411111,\\\"name\\\":\\\"Jane Smith\\\",\\\"number\\\":1234,\\\"exp\\\":\\\"2031-12-31\\\"},\\\"contact\\\":{\\\"name\\\":\\\"John Doe\\\",\\\"email\\\":\\\"john.doe@example.com\\\"},\\\"status\\\":{\\\"status\\\":\\\"Approved\\\"},\\\"createdOn\\\":\\\"2025-08-01 10:00:00\\\"}\",\n                \"created_at\": \"2025-08-01T10:00:00.000000Z\",\n                \"updated_at\": \"2025-08-01T10:00:00.000000Z\"\n            }\n        },\n        {\n            \"id\": 2,\n            \"random_id\": \"xyz789abc123def456\",\n            \"invoice_name\": \"Invoice-B\",\n            \"invoice_number\": \"INV-000102\",\n            \"tag_id\": \"[6]\",\n            \"user_id\": \"101\",\n            \"merchant_id\": \"10\",\n            \"issue_date\": \"2025-08-02 00:00:00\",\n            \"due_date\": \"2025-08-11 00:00:00\",\n            \"tax\": 10,\n            \"tax_amount\": \"75\",\n            \"shipping\": 30,\n            \"total_amount\": \"675\",\n            \"note\": \"Application# 654321\",\n            \"memo_statement\": \"Merchant Ref:\",\n            \"is_archive\": 0,\n            \"created_at\": \"2025-08-02T11:00:00.000000Z\",\n            \"updated_at\": \"2025-08-02T11:00:00.000000Z\",\n            \"deleted_at\": null,\n            \"user\": {\n                \"id\": 101,\n                \"merchant_data\": \"{\\\"10\\\":{\\\"merchant_id\\\":10,\\\"customer_id\\\":\\\"9999\\\",\\\"billing_id\\\":null,\\\"ach_customer_id\\\":null}}\",\n                \"urole\": 2,\n                \"name\": \"John Doe\",\n                \"email\": \"john.doe@example.com\",\n                \"otp\": null,\n                \"otp_valid\": null,\n                \"email_verified_at\": null,\n                \"email_is_verify\": null,\n                \"email_verification_token\": null,\n                \"is_password_set\": 1,\n                \"pass_reset_token\": null,\n                \"phone\": \"+1234567890\",\n                \"status\": \"1\",\n                \"address\": \"123 Elm Street\",\n                \"city\": \"Metropolis\",\n                \"state\": \"CA\",\n                \"zipcode\": \"90210\",\n                \"country\": \"USA\",\n                \"created_at\": \"2025-07-15T09:00:00.000000Z\",\n                \"updated_at\": \"2025-07-15T09:00:00.000000Z\",\n                \"deleted_at\": null\n            },\n            \"transactions\": {\n                \"id\": 2,\n                \"invoice_id\": 2,\n                \"customer_name\": \"Alice Walker\",\n                \"transaction_type\": \"card\",\n                \"transaction_id\": 100002,\n                \"amount\": 675,\n                \"status\": \"Approved\",\n                \"response_data\": \"{\\\"id\\\":\\\"100002\\\",\\\"amount\\\":\\\"675.00\\\",\\\"type\\\":\\\"Auth\\\",\\\"authCode\\\":\\\"AUTH456\\\",\\\"card\\\":{\\\"bin\\\":555555,\\\"name\\\":\\\"Alice Walker\\\",\\\"number\\\":5678,\\\"exp\\\":\\\"2032-11-30\\\"},\\\"contact\\\":{\\\"name\\\":\\\"John Doe\\\",\\\"email\\\":\\\"john.doe@example.com\\\"},\\\"status\\\":{\\\"status\\\":\\\"Approved\\\"},\\\"createdOn\\\":\\\"2025-08-02 11:00:00\\\"}\",\n                \"created_at\": \"2025-08-02T11:00:00.000000Z\",\n                \"updated_at\": \"2025-08-02T11:00:00.000000Z\"\n            }\n        }\n    ]\n}"}],"_postman_id":"e13a526d-31c4-475d-9fce-acc1966e2ab9"},{"name":"Fetch Invoice by Identifier","id":"8a963ac0-b19e-450f-b7f5-9745345854a5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","description":"<p>Informs the server that the client expects a JSON response.</p>\n","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/invoice/{random_id}","description":"<blockquote>\n<p>Fetch detailed information for a specific invoice using its unique identifier (could be a numeric a random_id). The returned data includes invoice metadata, customer details, line items, merchant info, and transaction status. This endpoint supports rendering or exporting full invoice details in merchant dashboards or apps.</p>\n</blockquote>\n<h3 id=\"path-parameter\">Path Parameter</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>random_id</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Invoice identifier</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"error-responses\">Error Responses</h3>\n<hr />\n<h5 id=\"invoice-not-found\"><strong>Invoice Not Found:</strong></h5>\n<p>Returned when the invoice random identifier does not match any invoice.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": false,\n  \"message\": \"Invoice not found.\"\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","invoice","{random_id}"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"a61cb4d8-f0ce-4031-942b-1335e25ea186","name":"Fetch Invoice by Identifier","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","description":"Informs the server that the client expects a JSON response.","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/invoice/randomInvoiceId123"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"status\": true,\n  \"message\": \"Invoice details fetched successfully.\",\n  \"data\": {\n    \"merchant_logo\": \"https://www.gateway.coastalpay.com/uploads/merchant_account/logo.png\",\n    \"merchant_email\": \"merchant@example.com\",\n    \"invoice\": {\n      \"id\": 1,\n      \"random_id\": \"randomInvoiceId123\",\n      \"invoice_name\": \"Invoice Name\",\n      \"invoice_number\": \"INV-000001\",\n      \"tag_id\": \"[1]\",\n      \"user_id\": \"1001\",\n      \"merchant_id\": \"501\",\n      \"issue_date\": \"2025-01-01 00:00:00\",\n      \"due_date\": \"2025-01-08 00:00:00\",\n      \"tax\": 1,\n      \"tax_amount\": \"50\",\n      \"shipping\": 20,\n      \"total_amount\": \"500\",\n      \"note\": \"Sample note content.\",\n      \"memo_statement\": \"Memo content here.\",\n      \"is_archive\": 0,\n      \"created_at\": \"2025-01-01T00:00:00.000000Z\",\n      \"updated_at\": \"2025-01-01T00:00:00.000000Z\",\n      \"user\": {\n        \"id\": 1001,\n        \"name\": \"John Doe\",\n        \"email\": \"customer@example.com\",\n        \"phone\": \"+1234567890\"\n      },\n      \"products\": [\n        {\n          \"product_name\": \"Sample Product\",\n          \"quantity\": 1,\n          \"product_price\": \"100\",\n          \"total_amount\": \"100\"\n        }\n      ],\n      \"merchant\": {\n        \"id\": 501,\n        \"name\": \"Demo Merchant\",\n        \"surcharge\": 2,\n        \"tax\": \"10\",\n        \"logo\": \"logo.png\"\n      },\n      \"transactions\": {\n        \"transaction_id\": 999999,\n        \"transaction_type\": \"card\",\n        \"amount\": 500,\n        \"status\": \"Approved\",\n        \"customer_name\": \"Jane Smith\"\n      }\n    },\n    \"invoice_link\": \"https://www.gateway.coastalpay.com/invoice/randomInvoiceId123\"\n  }\n}\n"}],"_postman_id":"8a963ac0-b19e-450f-b7f5-9745345854a5"},{"name":"Create Invoice","id":"0cafa2e2-5157-4b8f-b9ae-8dca10c0907c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","description":"<p>Informs the server that the client expects a JSON response.</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","description":"<p>Indicates that the request body is in JSON format. Essential for PUT/POST APIs.</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"user_id\": 2,\n  \"issue_date\": \"2025-07-30\",\n  \"due_date\": \"2025-08-06\",\n  \"products\": [\n    {\n      \"product_name\": \"Website Design\",\n      \"quantity\": 1,\n      \"rate\": 500.00,\n      \"price\": 500.00\n    },\n    {\n      \"product_name\": \"Hosting\",\n      \"quantity\": 1,\n      \"rate\": 100.00,\n      \"price\": 100.00\n    }\n  ],\n  \"tax\":\"on\",\n  \"shipping\": 20,\n  \"note\": \"Thank you for your business.\",\n  \"memo_statement\": \"Payable upon receipt.\",\n  \"tag_id\": [1],\n  \"notify_customer\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/invoice/create","description":"<blockquote>\n<p>This API allows you to create a new invoice for a user by providing invoice details including product list, issue/due dates, tax settings, shipping fee, and optional customer notes or memos. On success, it returns the unique invoice ID and a sharable invoice URL.</p>\n</blockquote>\n<hr />\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<hr />\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>user_id</code></td>\n<td>integer</td>\n<td>✅ Yes</td>\n<td>—</td>\n<td>ID of the user the invoice is associated with.</td>\n</tr>\n<tr>\n<td><code>issue_date</code></td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>—</td>\n<td>Date the invoice is issued (format: <code>YYYY-MM-DD</code>).</td>\n</tr>\n<tr>\n<td><code>due_date</code></td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>—</td>\n<td>Date the invoice is due (format: <code>YYYY-MM-DD</code>).</td>\n</tr>\n<tr>\n<td><code>products</code></td>\n<td>array</td>\n<td>✅ Yes</td>\n<td>—</td>\n<td>List of products/services. Each must include: <code>product_name</code>, <code>quantity</code>, <code>rate</code>, <code>price</code>.</td>\n</tr>\n<tr>\n<td><code>tax</code></td>\n<td>string</td>\n<td>❌ No</td>\n<td><code>off</code></td>\n<td>Use <code>\"on\"</code> to apply tax; <code>\"off\"</code> or omitted means no tax is applied.</td>\n</tr>\n<tr>\n<td><code>shipping</code></td>\n<td>number</td>\n<td>❌ No</td>\n<td><code>0</code></td>\n<td>Shipping charges to be applied to the invoice.</td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>string</td>\n<td>❌ No</td>\n<td><code>null</code></td>\n<td>Note displayed on the invoice (e.g., “Thank you for your business.”).</td>\n</tr>\n<tr>\n<td><code>memo_statement</code></td>\n<td>string</td>\n<td>❌ No</td>\n<td><code>null</code></td>\n<td>Internal memo or payment statement (e.g., “Payable upon receipt.”).</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>array</td>\n<td>❌ No</td>\n<td><code>[]</code></td>\n<td>Array of tag IDs used for categorization.</td>\n</tr>\n<tr>\n<td><code>notify_customer</code></td>\n<td>boolean</td>\n<td>❌ No</td>\n<td><code>false</code></td>\n<td>If <code>true</code>, the customer is notified. Defaults to <code>false</code> if omitted.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","invoice","create"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"14f8d125-3c59-42c9-b810-3714dd50186e","name":"Create Invoice","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","description":"Informs the server that the client expects a JSON response.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request body is in JSON format. Essential for PUT/POST APIs.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"user_id\": 2,\n  \"issue_date\": \"2025-07-30\",\n  \"due_date\": \"2025-08-06\",\n  \"products\": [\n    {\n      \"product_name\": \"Website Design\",\n      \"quantity\": 1,\n      \"rate\": 500.00,\n      \"price\": 500.00\n    },\n    {\n      \"product_name\": \"Hosting\",\n      \"quantity\": 1,\n      \"rate\": 100.00,\n      \"price\": 100.00\n    }\n  ],\n  \"tax\":\"on\",\n  \"shipping\": 20,\n  \"note\": \"Thank you for your business.\",\n  \"memo_statement\": \"Payable upon receipt.\",\n  \"tag_id\": [1],\n  \"notify_customer\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/invoice/create"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Invoice created successfully\",\n    \"data\": {\n        \"invoice_id\": 123,\n        \"url\": \"http://127.0.0.1:8000/invoice/QKS6Jdffff518Q1SVV\"\n    }\n}"}],"_postman_id":"0cafa2e2-5157-4b8f-b9ae-8dca10c0907c"},{"name":"Update Invoice","id":"486ee14e-9fdb-40b6-a88b-05b1c335b8f9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PUT","header":[{"key":"Accept","value":"application/json","description":"<p>Informs the server that the client expects a JSON response.</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","description":"<p>Indicates that the request body is in JSON format. Essential for PUT/POST APIs.</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"user_id\": 2,\n    \"issue_date\": \"2025-07-14\",\n    \"due_date\": \"2025-07-21\",\n    \"products\": [\n        {\n            \"product_name\": \"Website Design\",\n            \"quantity\": 1,\n            \"rate\": 200.00,\n            \"price\": 100.00\n        },\n        {\n            \"product_name\": \"Hosting\",\n            \"quantity\": 1,\n            \"rate\": 200.00,\n            \"price\": 200.00\n        }\n    ],\n    \"notify_customer\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/invoice/update/{id}","description":"<blockquote>\n<p>This API allows you to update an existing invoice by specifying its ID in the URL. You can modify invoice details such as products, dates, tax settings, shipping, tags, notes, and customer notification preferences. Only the fields provided in the request will be updated, while others remain unchanged.</p>\n</blockquote>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>integer</td>\n<td>✅ Yes</td>\n<td>The unique ID of the invoice you want to update. Must exist in the system.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","invoice","update","{id}"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"6c7a8108-4813-49e8-87af-9ab9a83c0fdd","name":"Update Invoice","originalRequest":{"method":"PUT","header":[{"key":"Accept","value":"application/json","description":"Informs the server that the client expects a JSON response.\n","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request body is in JSON format. Essential for PUT/POST APIs.\n","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"user_id\": 2,\n    \"issue_date\": \"2025-07-14\",\n    \"due_date\": \"2025-07-21\",\n    \"products\": [\n        {\n            \"product_name\": \"Website Design\",\n            \"quantity\": 1,\n            \"rate\": 200.00,\n            \"price\": 100.00\n        },\n        {\n            \"product_name\": \"Hosting\",\n            \"quantity\": 1,\n            \"rate\": 200.00,\n            \"price\": 200.00\n        }\n    ],\n    \"notify_customer\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/invoice/update/123"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Invoice updated successfully\",\n    \"invoice_id\": 15,\n    \"invoice_url\": \"http://127.0.0.1:8000/invoice/PEUTHzmoVQvxoyePPewPvi7wqqqq\"\n}"}],"_postman_id":"486ee14e-9fdb-40b6-a88b-05b1c335b8f9"},{"name":"Archived / Delete Invoice","id":"fdde93bf-5bde-429b-8de1-abc505d7a946","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json","description":"<p>Informs the server that the client expects a JSON response.</p>\n","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/invoice/delete/{id}","description":"<blockquote>\n<p>This API is used to archive an existing invoice based on its unique ID.\nArchiving does not permanently delete the invoice but marks it as archived <code>(is_archive = 1)</code> in the database.\nAll associated products under the invoice will also be archived.</p>\n</blockquote>\n<hr />\n<h3 id=\"path-parameter\">Path Parameter</h3>\n<hr />\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>int</td>\n<td>✅ Yes</td>\n<td>Unique ID of the invoice to be archived</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","invoice","delete","{id}"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"fb7b1633-002d-472b-a5dd-de7a2fa0f855","name":"Archived / Delete Invoice","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json","description":"Informs the server that the client expects a JSON response.","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/invoice/delete/123"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Invoice archived successfully.\"\n}"}],"_postman_id":"fdde93bf-5bde-429b-8de1-abc505d7a946"}],"id":"29524fa3-b8d2-4169-a8ae-2a326d61c7fe","_postman_id":"29524fa3-b8d2-4169-a8ae-2a326d61c7fe","description":""},{"name":"Transaction Reporting","item":[{"name":"List","id":"8d12c9da-5552-4685-af0c-8cc4fd44fbd3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/transaction/list","description":"<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>GET /api/transaction/list</code></p>\n<hr />\n<h2 id=\"available-filters\">Available Filters</h2>\n<h3 id=\"1-status-filter\">1. Status Filter</h3>\n<ul>\n<li><p><strong>Parameter:</strong> <code>status</code></p>\n</li>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Values:</strong> <code>success</code>, <code>failed</code>, <code>refunded</code>, <code>partially_refunded</code>, <code>pending</code></p>\n</li>\n<li><p><strong>Example:</strong> <code>?status=success</code></p>\n</li>\n</ul>\n<h3 id=\"2-payment-type-filter\">2. Payment Type Filter</h3>\n<ul>\n<li><p><strong>Parameter:</strong> <code>payment_type</code></p>\n</li>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Values:</strong> <code>card</code>, <code>ach</code></p>\n</li>\n<li><p><strong>Example:</strong> <code>?payment_type=card</code></p>\n</li>\n</ul>\n<h3 id=\"3-transaction-id-filter\">3. Transaction ID Filter</h3>\n<ul>\n<li><p><strong>Parameter:</strong> <code>transaction_id</code></p>\n</li>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Description:</strong> Filter by exact transaction ID (payment_auth_id)</p>\n</li>\n<li><p><strong>Example:</strong> <code>?transaction_id=PAY123456789</code></p>\n</li>\n</ul>\n<h3 id=\"4-customer-id-filter\">4. Customer ID Filter</h3>\n<ul>\n<li><p><strong>Parameter:</strong> <code>customer_id</code></p>\n</li>\n<li><p><strong>Type:</strong> Integer</p>\n</li>\n<li><p><strong>Description:</strong> Filter transactions by specific customer ID</p>\n</li>\n<li><p><strong>Example:</strong> <code>?customer_id=123</code></p>\n</li>\n</ul>\n<h3 id=\"5-customer-email-filter\">5. Customer Email Filter</h3>\n<ul>\n<li><p><strong>Parameter:</strong> <code>customer_email</code></p>\n</li>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Description:</strong> Filter transactions by customer email (partial match)</p>\n</li>\n<li><p><strong>Example:</strong> <code>?customer_email=john@example.com</code></p>\n</li>\n</ul>\n<h3 id=\"6-date-range-filters\">6. Date Range Filters</h3>\n<ul>\n<li><p><strong>Parameters:</strong></p>\n<ul>\n<li><p><code>date_from</code> - Start date (Y-m-d format)</p>\n</li>\n<li><p><code>date_to</code> - End date (Y-m-d format)</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Type:</strong> String (Date)</p>\n</li>\n<li><p><strong>Format:</strong> <code>Y-m-d</code> (e.g., <code>2024-01-01</code>)</p>\n</li>\n<li><p><strong>Example:</strong> <code>?date_from=2024-01-01&amp;date_to=2024-12-31</code></p>\n</li>\n</ul>\n<h3 id=\"7-search-filter\">7. Search Filter</h3>\n<ul>\n<li><p><strong>Parameter:</strong> <code>search</code></p>\n</li>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Description:</strong> Search by customer name, email, or payment_auth_id</p>\n</li>\n<li><p><strong>Example:</strong> <code>?search=john</code></p>\n</li>\n</ul>\n<h3 id=\"8-transaction-type-filter\">8. Transaction Type Filter</h3>\n<ul>\n<li><p><strong>Parameter:</strong> <code>type</code></p>\n</li>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Values:</strong> <code>one-time</code>, <code>recurring</code></p>\n</li>\n<li><p><strong>Example:</strong> <code>?type=recurring</code></p>\n</li>\n</ul>\n<h3 id=\"9-amount-range-filters\">9. Amount Range Filters</h3>\n<ul>\n<li><p><strong>Parameters:</strong></p>\n<ul>\n<li><p><code>amount_min</code> - Minimum amount</p>\n</li>\n<li><p><code>amount_max</code> - Maximum amount</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Type:</strong> Float/Decimal</p>\n</li>\n<li><p><strong>Example:</strong> <code>?amount_min=10.00&amp;amount_max=1000.00</code></p>\n</li>\n</ul>\n<h3 id=\"10-sorting\">10. Sorting</h3>\n<ul>\n<li><p><strong>Parameters:</strong></p>\n<ul>\n<li><p><code>sort_by</code> - Field to sort by</p>\n</li>\n<li><p><code>sort_order</code> - Sort direction</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>sort_by Values:</strong> <code>id</code>, <code>created_at</code>, <code>updated_at</code>, <code>total_amount</code>, <code>transaction_status</code>, <code>payment_type</code></p>\n</li>\n<li><p><strong>sort_order Values:</strong> <code>asc</code>, <code>desc</code></p>\n</li>\n<li><p><strong>Default:</strong> <code>sort_by=id</code>, <code>sort_order=desc</code></p>\n</li>\n<li><p><strong>Example:</strong> <code>?sort_by=total_amount&amp;sort_order=asc</code></p>\n</li>\n</ul>\n<hr />\n<h2 id=\"pagination\">Pagination</h2>\n<h3 id=\"parameters\">Parameters</h3>\n<ul>\n<li><p><strong>page:</strong> Page number (default: 1, minimum: 1)</p>\n</li>\n<li><p><strong>per_page:</strong> Items per page (default: 15, <strong>maximum: 100</strong>)</p>\n</li>\n</ul>\n<h3 id=\"example\">Example</h3>\n<p><code>?page=1&amp;per_page=50</code></p>\n<h3 id=\"validation\">Validation</h3>\n<ul>\n<li><p>If <code>per_page</code> exceeds 100, the API will return a <strong>422 Unprocessable Entity</strong> error with a clear message</p>\n</li>\n<li><p>Example error response when <code>per_page=300</code>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": false,\n  \"message\": \"The per_page parameter cannot exceed 100. You requested 300 items per page.\",\n  \"error\": \"per_page_exceeded\",\n  \"max_per_page\": 100,\n  \"requested_per_page\": 300\n}\n\n</code></pre>\n</li>\n</ul>\n<hr />\n<h2 id=\"complete-example-request\">Complete Example Request</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET /api/transaction/list?status=success&amp;payment_type=card&amp;transaction_id=PAY123456&amp;date_from=2024-01-01&amp;date_to=2024-12-31&amp;page=1&amp;per_page=50&amp;sort_by=created_at&amp;sort_order=desc\n\n</code></pre><hr />\n","urlObject":{"protocol":"https","path":["api","transaction","list"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"30ea7cd0-b401-48fb-8c3f-ed82e6259ff9","name":"List","originalRequest":{"method":"GET","header":[],"url":"https://gateway.coastalpay.com/api/transaction/list"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n  \"status\": true,\r\n  \"message\": \"Customer transactions fetched successfully.\",\r\n  \"data\": [\r\n    {\r\n      \"id\": 1,\r\n      \"transaction_id\": 100001,\r\n      \"payment_type\": \"card\",\r\n      \"type\": \"recurring\",\r\n      \"amount\": \"100\",\r\n      \"surcharge\": 0,\r\n      \"total_amount\": 100,\r\n      \"transaction_status\": \"success\",\r\n      \"total_refunded_amount\": \"0.00\",\r\n      \"frequency\": \"one_time\",\r\n      \"start_date\": \"2025-01-01\",\r\n      \"fund\": null,\r\n      \"fund_designation\": null,\r\n      \"organization_name\": null,\r\n      \"created_at\": \"2025-01-01T10:00:00.000000Z\",\r\n      \"updated_at\": \"2025-01-01T10:00:00.000000Z\",\r\n      \"customer\": null\r\n    },\r\n    {\r\n      \"id\": 2,\r\n      \"transaction_id\": 100002,\r\n      \"payment_type\": \"card\",\r\n      \"type\": \"recurring\",\r\n      \"amount\": \"50\",\r\n      \"surcharge\": 0,\r\n      \"total_amount\": 50,\r\n      \"transaction_status\": \"success\",\r\n      \"total_refunded_amount\": \"0.00\",\r\n      \"frequency\": \"one_time\",\r\n      \"start_date\": \"2025-01-02\",\r\n      \"fund\": null,\r\n      \"fund_designation\": null,\r\n      \"organization_name\": null,\r\n      \"created_at\": \"2025-01-02T11:00:00.000000Z\",\r\n      \"updated_at\": \"2025-01-02T11:00:00.000000Z\",\r\n      \"customer\": null\r\n    },\r\n    {\r\n      \"id\": 3,\r\n      \"transaction_id\": 100003,\r\n      \"payment_type\": \"card\",\r\n      \"type\": \"one-time\",\r\n      \"amount\": \"25.00\",\r\n      \"surcharge\": 2.50,\r\n      \"total_amount\": 27.50,\r\n      \"transaction_status\": \"refunded\",\r\n      \"total_refunded_amount\": \"27.50\",\r\n      \"frequency\": null,\r\n      \"start_date\": \"2025-01-03\",\r\n      \"fund\": null,\r\n      \"fund_designation\": null,\r\n      \"organization_name\": null,\r\n      \"created_at\": \"2025-01-03T12:00:00.000000Z\",\r\n      \"updated_at\": \"2025-01-04T09:30:00.000000Z\",\r\n      \"customer\": null\r\n    },\r\n    {\r\n      \"id\": 4,\r\n      \"transaction_id\": 100004,\r\n      \"payment_type\": \"card\",\r\n      \"type\": \"recurring\",\r\n      \"amount\": \"40\",\r\n      \"surcharge\": 0,\r\n      \"total_amount\": 40,\r\n      \"transaction_status\": \"partially_refunded\",\r\n      \"total_refunded_amount\": \"20.00\",\r\n      \"frequency\": \"every_week\",\r\n      \"start_date\": \"2025-01-05\",\r\n      \"fund\": null,\r\n      \"fund_designation\": null,\r\n      \"organization_name\": null,\r\n      \"created_at\": \"2025-01-05T14:00:00.000000Z\",\r\n      \"updated_at\": \"2025-01-06T10:15:00.000000Z\",\r\n      \"customer\": {\r\n        \"id\": 10,\r\n        \"name\": \"Test User\",\r\n        \"email\": \"test.user@example.com\",\r\n        \"phone\": \"+910000000000\"\r\n      }\r\n    }\r\n  ],\r\n  \"pagination\": {\r\n    \"current_page\": 1,\r\n    \"per_page\": 15,\r\n    \"total\": 4,\r\n    \"last_page\": 1,\r\n    \"from\": 1,\r\n    \"to\": 4\r\n  }\r\n}\r\n"}],"_postman_id":"8d12c9da-5552-4685-af0c-8cc4fd44fbd3"}],"id":"3234c740-993d-4e17-bc62-99f1d07ccc74","_postman_id":"3234c740-993d-4e17-bc62-99f1d07ccc74","description":""},{"name":"Profile","item":[{"name":"Update Profile","id":"9c81a012-c281-4852-a150-be92eee645d2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[{"key":"Accept","value":"application/json","description":"<p>Informs the server that the client expects a JSON response.</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"password\": \"St*********\",\n  \"url\": \"northbay-solutions\",\n  \"surcharge_active\": \"yes\",\n  \"surcharge_type\": \"per\",\n  \"surcharge\": 3.0,\n  \"api_mode\": \"live\",\n  \"api_key\": \"live_key_xyz123456789\",\n  \"terminal_id\": \"TERM123456789\",\n  \"dba_id_card\": \"CARD456789XYZ\"\n\n}\n","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/profile/update","description":"<h2 id=\"update-profile\">Update Profile</h2>\n<p><strong>Endpoint</strong><br /><code>PUT /api/profile/update</code></p>\n<hr />\n<h3 id=\"description\">Description</h3>\n<p>The <strong>Update Profile</strong> API allows an authenticated merchant to update their profile and business-related information.</p>\n<p>This endpoint supports <strong>partial updates</strong>, meaning only the fields provided in the request will be updated, while all other existing data will remain unchanged.</p>\n<p>Merchants can use this API to modify personal details, business information, login credentials, surcharge configuration, payment preferences, and API-related settings.</p>\n<p>Authentication is required for this endpoint, and a valid access token must be included in the request headers.</p>\n<hr />\n<h3 id=\"request-headers\">Request Headers</h3>\n<p><code>Accept: application/json</code><br /><code>Authorization: Bearer {access_token}</code></p>\n<h4 id=\"general-fields\">General Fields</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>business_name</code></td>\n<td>string</td>\n<td>❌ No</td>\n<td>The legal name of the business.</td>\n</tr>\n<tr>\n<td><code>owner_name</code></td>\n<td>string</td>\n<td>❌ No</td>\n<td>Full name of the business owner.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>❌ No</td>\n<td>Unique email address of the merchant (must not already exist in users).</td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>string</td>\n<td>❌ No</td>\n<td>Password for the merchant's login (if updating).</td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>string</td>\n<td>❌ No</td>\n<td>Unique business URL slug.</td>\n</tr>\n<tr>\n<td><code>payment_method</code></td>\n<td>string</td>\n<td>❌ No</td>\n<td>Options: <code>card</code>, <code>ach</code>, or <code>both</code>.</td>\n</tr>\n<tr>\n<td><code>logo</code></td>\n<td>file</td>\n<td>❌ No</td>\n<td>Upload logo image (jpeg, jpg, png).</td>\n</tr>\n<tr>\n<td><code>api_mode</code></td>\n<td>string</td>\n<td>❌ No</td>\n<td>API environment: <code>live</code> or <code>sandbox</code>.</td>\n</tr>\n<tr>\n<td><code>surcharge_type</code></td>\n<td>string</td>\n<td>❌ No</td>\n<td>Surcharge type: <code>per</code> or <code>fixed</code> (default: <code>per</code>).</td>\n</tr>\n<tr>\n<td><code>surcharge</code></td>\n<td>number</td>\n<td>❌ No</td>\n<td>Surcharge value (default: <code>0</code>).</td>\n</tr>\n<tr>\n<td><code>compliant_surcharge_type</code></td>\n<td>string</td>\n<td>❌ No</td>\n<td>Compliant surcharge type: <code>per</code> or <code>fixed</code> (default: <code>per</code>).</td>\n</tr>\n<tr>\n<td><code>compliant_surcharge</code></td>\n<td>number</td>\n<td>❌ No</td>\n<td>Compliant surcharge value (default: <code>0</code>).</td>\n</tr>\n<tr>\n<td><code>tax_type</code></td>\n<td>string</td>\n<td>❌ No</td>\n<td>Tax type: <code>per</code> or <code>fixed</code> (default: <code>per</code>).</td>\n</tr>\n<tr>\n<td><code>tax</code></td>\n<td>number</td>\n<td>❌ No</td>\n<td>Tax value (default: <code>0</code>).</td>\n</tr>\n<tr>\n<td><code>recurring</code></td>\n<td>boolean</td>\n<td>❌ No</td>\n<td>Enable recurring billing: <code>on</code> or <code>off</code> (default: <code>on</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"if-surcharge_active--yes\">If <code>surcharge_active = yes</code></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>surcharge_type</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Type of surcharge: <code>per</code> or <code>fixed</code> (default: <code>per</code>)</td>\n</tr>\n<tr>\n<td>surcharge</td>\n<td>number</td>\n<td>✅ Yes</td>\n<td>Surcharge value</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"if-api_mode--live\">If <code>api_mode = live</code></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>api_key</code></td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Live API key provided by CoastalPay.</td>\n</tr>\n<tr>\n<td><code>terminal_id</code></td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Live Terminal ID.</td>\n</tr>\n<tr>\n<td><code>dba_id_card</code></td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Required if <code>payment_method</code> is <code>card</code> or <code>both</code>.</td>\n</tr>\n<tr>\n<td><code>dba_id_ach</code></td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Required if <code>payment_method</code> is <code>ach</code> or <code>both</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"if-api_mode--sandbox\">If <code>api_mode = sandbox</code></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sandbox_api_key</code></td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Sandbox API key provided by CoastalPay.</td>\n</tr>\n<tr>\n<td><code>sandbox_terminal_id</code></td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Sandbox Terminal ID.</td>\n</tr>\n<tr>\n<td><code>sandbox_dba_id_card</code></td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Required if <code>payment_method</code> is <code>card</code> or <code>both</code>.</td>\n</tr>\n<tr>\n<td><code>sandbox_dba_id_ach</code></td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Required if <code>payment_method</code> is <code>ach</code> or <code>both</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><blockquote>\n<p>🔔 <strong>Conditionally Required</strong>: Fields marked as ✅ Yes are required <strong>only if</strong> their respective conditions are met (e.g., <code>api_mode = live</code>, <code>payment_method = ach</code>, etc.).</p>\n</blockquote>\n","urlObject":{"protocol":"https","path":["api","profile","update"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"dbb9e845-4a02-40e3-b7f1-963c45b5a1b6","name":"Update Profile","originalRequest":{"method":"PUT","header":[{"key":"Accept","value":"application/json","description":"Informs the server that the client expects a JSON response.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"password\": \"StrongPass!2025\",\n  \"url\": \"northbay-solutions\",\n  \"surcharge_active\": \"yes\",\n  \"surcharge_type\": \"per\",\n  \"surcharge\": 3.0,\n  \"api_mode\": \"live\",\n  \"api_key\": \"live_key_xyz123456789\",\n  \"terminal_id\": \"TERM123456789\",\n  \"dba_id_card\": \"CARD456789XYZ\"\n}\n","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/profile/update"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n  \"status\": true,\n  \"message\": \"Merchant updated successfully.\"\n}"}],"_postman_id":"9c81a012-c281-4852-a150-be92eee645d2"}],"id":"c897a6ff-44a8-4cc0-9c1a-86586c28acc1","_postman_id":"c897a6ff-44a8-4cc0-9c1a-86586c28acc1","description":""},{"name":"Card Payments","item":[{"name":"Process Card Payment","id":"c3b5e95c-282b-4511-8870-e1f33d48895a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"terminal\": {\r\n        \"id\": 309\r\n    },\r\n    \"amount\": 100.50,\r\n    \"source\": \"Internet\",\r\n    \"level\": 1,\r\n    \"card\": {\r\n        \"name\": \"John Doe\",\r\n        \"number\": \"5309572686772257\",\r\n        \"exp\": \"12/30\",\r\n        \"cvv\": \"998\",\r\n        \"save\": \"Yes\",\r\n        \"store\": \"Yes\",\r\n        \"address\": {\r\n            \"country\": \"United States of America\",\r\n            \"state\": \"CA\",\r\n            \"city\": \"Calabasas\",\r\n            \"street\": \"8320 Main Street\",\r\n            \"zip\": \"85284\"\r\n        }\r\n    },\r\n    \"contact\": {\r\n        \"name\": \"John Doe\",\r\n        \"email\": \"john.doe@example.com\",\r\n        \"phone\": \"+1234567890\"\r\n    },\r\n    \"sendReceipt\": \"Yes\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/payment/card/process","description":"<p>Process a one-time card payment. Supports both new card and saved card (token) payments.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>Authorization: Bearer {access_token}<br />Content-Type: application/json</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<h2 id=\"terminal-object\">Terminal Object</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>terminal.id</code></td>\n<td>Integer</td>\n<td>✅ Yes</td>\n<td>Unique ID of the payment terminal</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"payment-details\">Payment Details</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>amount</code></td>\n<td>Decimal</td>\n<td>✅ Yes</td>\n<td>Transaction amount</td>\n</tr>\n<tr>\n<td><code>source</code></td>\n<td>String</td>\n<td>❌ No</td>\n<td>Payment source (e.g., Internet, POS)</td>\n</tr>\n<tr>\n<td><code>level</code></td>\n<td>Integer</td>\n<td>❌ No</td>\n<td>Processing level (e.g., Level 1)</td>\n</tr>\n<tr>\n<td><code>origin</code></td>\n<td>String</td>\n<td>❌ No</td>\n<td>Origin of the transaction (e.g., Website)</td>\n</tr>\n<tr>\n<td><code>externalId</code></td>\n<td>String</td>\n<td>❌ No</td>\n<td>External reference ID (order or invoice number)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"card-object\">Card Object</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>card.name</code></td>\n<td>String</td>\n<td>✅ Yes</td>\n<td>Cardholder name</td>\n</tr>\n<tr>\n<td><code>card.number</code></td>\n<td>String</td>\n<td>✅ Yes</td>\n<td>Card number</td>\n</tr>\n<tr>\n<td><code>card.exp</code></td>\n<td>String</td>\n<td>✅ Yes</td>\n<td>Expiry date (MM/YY)</td>\n</tr>\n<tr>\n<td><code>card.cvv</code></td>\n<td>String</td>\n<td>✅ Yes</td>\n<td>Card CVV</td>\n</tr>\n<tr>\n<td><code>card.save</code></td>\n<td>String</td>\n<td>❌ No</td>\n<td>Save card for future use (<code>Yes</code> / <code>No</code>)</td>\n</tr>\n<tr>\n<td><code>card.store</code></td>\n<td>String</td>\n<td>❌ No</td>\n<td>Store card token securely (<code>Yes</code> / <code>No</code>)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"billing-address\">Billing Address</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>address.country</code></td>\n<td>String</td>\n<td>❌ No</td>\n<td>Billing country</td>\n</tr>\n<tr>\n<td><code>address.state</code></td>\n<td>String</td>\n<td>❌ No</td>\n<td>Billing state</td>\n</tr>\n<tr>\n<td><code>address.city</code></td>\n<td>String</td>\n<td>❌ No</td>\n<td>Billing city</td>\n</tr>\n<tr>\n<td><code>address.street</code></td>\n<td>String</td>\n<td>❌ No</td>\n<td>Billing street</td>\n</tr>\n<tr>\n<td><code>address.zip</code></td>\n<td>String</td>\n<td>❌ No</td>\n<td>Billing ZIP/postal code</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"contact-information\">Contact Information</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>contact.name</code></td>\n<td>String</td>\n<td>❌ No</td>\n<td>Customer name</td>\n</tr>\n<tr>\n<td><code>contact.email</code></td>\n<td>String</td>\n<td>❌ No</td>\n<td>Customer email</td>\n</tr>\n<tr>\n<td><code>contact.phone</code></td>\n<td>String</td>\n<td>❌ No</td>\n<td>Customer phone number</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"additional-options\">Additional Options</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sendReceipt</code></td>\n<td>String</td>\n<td>❌ No</td>\n<td>Send payment receipt (<code>Yes</code> / <code>No</code>)</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body---saved-card-payment-using-token\">Request Body - Saved Card Payment (Using Token)</h4>\n<p>This request processes a one-time card payment using a previously saved card token.<br />No raw card details are required, making it more secure and faster for repeat payments.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"terminal\": {\n    \"id\": 309\n  },\n  \"amount\": 75.25,\n  \"source\": \"Internet\",\n  \"level\": 1,\n  \"card\": {\n    \"token\": \"card_token_abc123xyz789\"\n  },\n  \"contact\": {\n    \"name\": \"John Doe\",\n    \"email\": \"john.doe@example.com\",\n    \"phone\": \"+1234567890\"\n  },\n  \"sendReceipt\": \"Yes\"\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","payment","card","process"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"ff79fc20-fcd7-47eb-827c-a991a4b395f0","name":"Process Card Payment","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"terminal\": {\r\n        \"id\": 309\r\n    },\r\n    \"amount\": 100.50,\r\n    \"source\": \"Internet\",\r\n    \"level\": 1,\r\n    \"card\": {\r\n        \"name\": \"John Doe\",\r\n        \"number\": \"5309572686772257\",\r\n        \"exp\": \"12/30\",\r\n        \"cvv\": \"998\",\r\n        \"save\": \"Yes\",\r\n        \"store\": \"Yes\",\r\n        \"address\": {\r\n            \"country\": \"United States of America\",\r\n            \"state\": \"CA\",\r\n            \"city\": \"Calabasas\",\r\n            \"street\": \"8320 Main Street\",\r\n            \"zip\": \"85284\"\r\n        }\r\n    },\r\n    \"contact\": {\r\n        \"name\": \"John Doe\",\r\n        \"email\": \"john.doe@example.com\",\r\n        \"phone\": \"+1234567890\"\r\n    },\r\n    \"sendReceipt\": \"Yes\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/payment/card/process"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n    \"status\": true,\r\n    \"message\": \"Payment processed successfully.\",\r\n    \"data\": {\r\n        \"transaction_id\": 133960,\r\n        \"payment_status\": \"Approved\",\r\n        \"payment_status_reason\": null,\r\n        \"auth_code\": \"VT***\",\r\n        \"amount\": \"100.50\",\r\n        \"payment_type\": \"card\",\r\n        \"created_on\": \"2026-01-26 13:48:03\",\r\n        \"updated_on\": \"2026-01-26 13:48:05\",\r\n        \"card_token\": \"DaLV*****\"\r\n    }\r\n}"}],"_postman_id":"c3b5e95c-282b-4511-8870-e1f33d48895a"},{"name":"Card Tokenization","id":"d41b8716-252d-4282-825d-f719d2821273","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"terminal\": {\r\n        \"id\": 309\r\n    },\r\n    \"source\": \"Internet\",\r\n    \"card\": {\r\n        \"name\": \"John Wick\",\r\n        \"number\": \"5146312200000035\",\r\n        \"exp\": \"12/30\",\r\n        \"cvv\": \"998\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/payment/card/tokenize","description":"<h2 id=\"tokenization\">Tokenization</h2>\n<p>Tokenization is the process of replacing sensitive card data with a unique token, ensuring security when the card is used for <strong>future payments</strong>.<br />A token can be up to <strong>64 characters</strong> in length.</p>\n<hr />\n<h3 id=\"how-tokenization-works\">How Tokenization Works</h3>\n<p>Tokenization can be performed during a <strong>Sale</strong>, <strong>Auth</strong>, or <strong>CardAuthentication</strong> request by setting the <code>card.save</code> parameter to <code>Yes</code>.\nWhen enabled:</p>\n<ul>\n<li>A secure token is generated for the card.</li>\n<li>The response includes:<ul>\n<li>The <strong>first six and last four digits</strong> of the card number in the <code>card.number</code> field.</li>\n<li>The generated token in the <code>card.token</code> field.\nThe token can be safely stored and used for future transactions in place of the actual card number.</li>\n</ul>\n</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n<th>Type</th>\n<th>Filterable</th>\n<th>Required</th>\n<th>Readonly</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>terminal</td>\n<td>Terminal Object</td>\n<td>Object</td>\n<td>No</td>\n<td>Yes</td>\n<td>No</td>\n</tr>\n<tr>\n<td>terminal.id</td>\n<td>Terminal ID</td>\n<td>Integer</td>\n<td>No</td>\n<td>Yes</td>\n<td>No</td>\n</tr>\n<tr>\n<td>source</td>\n<td>Where the card details come from (Internet or MOTO)</td>\n<td>ENUM</td>\n<td>No</td>\n<td>Yes</td>\n<td>No</td>\n</tr>\n<tr>\n<td>card</td>\n<td>Card details</td>\n<td>Object</td>\n<td>No</td>\n<td>Yes</td>\n<td>No</td>\n</tr>\n<tr>\n<td>card.name</td>\n<td>Cardholder name</td>\n<td>String</td>\n<td>No</td>\n<td>Yes</td>\n<td>No</td>\n</tr>\n<tr>\n<td>card.number</td>\n<td>Card number</td>\n<td>Integer</td>\n<td>No</td>\n<td>Yes</td>\n<td>No</td>\n</tr>\n<tr>\n<td>card.exp</td>\n<td>Card expiration date (mm/yy)</td>\n<td>String</td>\n<td>No</td>\n<td>Yes</td>\n<td>No</td>\n</tr>\n<tr>\n<td>card.cvv</td>\n<td>Card security code</td>\n<td>Integer</td>\n<td>No</td>\n<td>Conditional</td>\n<td>No</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","payment","card","tokenize"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"e257f33a-c3d2-4f1b-bbda-831b36bd1bbc","name":"Card Tokenization","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"terminal\": {\r\n        \"id\": 309\r\n    },\r\n    \"source\": \"Internet\",\r\n    \"card\": {\r\n        \"name\": \"John Wick\",\r\n        \"number\": \"5146312200000035\",\r\n        \"exp\": \"12/30\",\r\n        \"cvv\": \"998\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/payment/card/tokenize"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n    \"status\": true,\r\n    \"message\": \"Card tokenized successfully.\",\r\n    \"data\": {\r\n        \"card_token\": \"1kDCZY8x*****\",\r\n        \"card_number\": 35,\r\n        \"card_name\": \"John Wick\",\r\n        \"exp\": \"2030-12-31\"\r\n    }\r\n}"}],"_postman_id":"d41b8716-252d-4282-825d-f719d2821273"}],"id":"157adc8f-e20e-4e58-a2d4-6895d21afdfa","_postman_id":"157adc8f-e20e-4e58-a2d4-6895d21afdfa","description":""},{"name":"ACH Payments","item":[{"name":"Create ACH","id":"dc059cb0-22a8-4069-b27c-4622bf5b9cb9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 40.00,\r\n    \"tax\": 5.00,\r\n    \"routingNumber\": \"021000021\",\r\n    \"accountName\": \"MP test\",\r\n    \"accountNumber\": \"1234567890\",\r\n    \"accountType\": \"Checking\",\r\n    \"transactionType\": \"Debit\",\r\n    \"dba\": {\r\n        \"id\": \"330\"\r\n    },\r\n    \"customer\": {\r\n        \"email\": \"john.doe@example.com\",\r\n        \"sendReceipt\": \"Yes\"\r\n    },\r\n    \"memo\": \"Invoice payment #12345\",\r\n    \"SECCode\": \"WEB\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/payment/ach/process","description":"<p>Use this endpoint to create ACH Transactions.</p>\n<h3 id=\"authentication\">Authentication</h3>\n<p>This endpoint requires authentication. Include a Bearer token in the Authorization header.</p>\n<h3 id=\"request-headers\">Request Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Content-Type: application/json\nAuthorization: Bearer {token}\n\n</code></pre><hr />\n<h3 id=\"required-fields\">Required Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>amount</code></td>\n<td>numeric</td>\n<td>Yes</td>\n<td>Payment amount (base amount before tax)</td>\n<td><code>100.00</code></td>\n</tr>\n<tr>\n<td><code>routingNumber</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Bank routing number (9 digits)</td>\n<td><code>\"021000021\"</code></td>\n</tr>\n<tr>\n<td><code>accountName</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Account holder name (max 255 characters). The first word is treated as <code>firstName</code>, and the remaining words as <code>lastName</code>.</td>\n<td><code>\"John Doe\"</code></td>\n</tr>\n<tr>\n<td><code>accountNumber</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Bank account number</td>\n<td><code>\"1234567890\"</code></td>\n</tr>\n<tr>\n<td><code>accountType</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Account type. Allowed values: <code>\"Checking\"</code>, <code>\"Savings\"</code></td>\n<td><code>\"Checking\"</code></td>\n</tr>\n<tr>\n<td><code>transactionType</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Transaction type. Allowed values: <code>\"Debit\"</code>, <code>\"Credit\"</code></td>\n<td><code>\"Debit\"</code></td>\n</tr>\n<tr>\n<td><code>SECCode</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>SEC Code. Allowed values: <code>\"WEB\"</code>, <code>\"PPD\"</code></td>\n<td><code>\"WEB\"</code></td>\n</tr>\n<tr>\n<td><code>dba</code></td>\n<td>object</td>\n<td>Yes</td>\n<td>DBA (Doing Business As) information</td>\n<td>See below</td>\n</tr>\n<tr>\n<td><code>dba.id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>DBA ID (must match the merchant’s DBA ID)</td>\n<td><code>\"dba_123456\"</code></td>\n</tr>\n<tr>\n<td><code>customer</code></td>\n<td>object</td>\n<td>Yes</td>\n<td>Customer information</td>\n<td>See below</td>\n</tr>\n<tr>\n<td><code>customer.email</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer email address (max 255 characters)</td>\n<td><code>\"customer@example.com\"</code></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"optional-fields\">Optional Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>tax</code></td>\n<td>numeric</td>\n<td>No</td>\n<td>Tax or surcharge amount</td>\n<td><code>5.00</code></td>\n</tr>\n<tr>\n<td><code>checkNumber</code></td>\n<td>string</td>\n<td>No</td>\n<td>Check number</td>\n<td><code>\"1234\"</code></td>\n</tr>\n<tr>\n<td><code>traceNumber</code></td>\n<td>string</td>\n<td>No</td>\n<td>Trace number</td>\n<td><code>\"123456789\"</code></td>\n</tr>\n<tr>\n<td><code>transactionID</code></td>\n<td>string</td>\n<td>No</td>\n<td>External transaction ID</td>\n<td><code>\"txn_123\"</code></td>\n</tr>\n<tr>\n<td><code>memo</code></td>\n<td>string</td>\n<td>No</td>\n<td>Payment memo or note</td>\n<td><code>\"Invoice #12345\"</code></td>\n</tr>\n<tr>\n<td><code>customer.sendReceipt</code></td>\n<td>string</td>\n<td>No</td>\n<td>Whether to send a receipt email. Allowed values: <code>\"Yes\"</code>, <code>\"No\"</code> (default: <code>\"No\"</code>)</td>\n<td><code>\"Yes\"</code></td>\n</tr>\n<tr>\n<td><code>customer.identifier</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer identifier</td>\n<td><code>\"CUST123\"</code></td>\n</tr>\n<tr>\n<td><code>recurring.id</code></td>\n<td>string</td>\n<td>No</td>\n<td>Recurring payment ID</td>\n<td><code>\"recurring_123\"</code></td>\n</tr>\n<tr>\n<td><code>verification.status</code></td>\n<td>string</td>\n<td>No</td>\n<td>Verification status (default: <code>\"Submitted\"</code>)</td>\n<td><code>\"Submitted\"</code></td>\n</tr>\n<tr>\n<td><code>verification.date</code></td>\n<td>string</td>\n<td>No</td>\n<td>Verification date (default: current date)</td>\n<td><code>\"2026-01-29\"</code></td>\n</tr>\n<tr>\n<td><code>source</code></td>\n<td>string</td>\n<td>No</td>\n<td>Payment source</td>\n<td><code>\"Web\"</code></td>\n</tr>\n<tr>\n<td><code>return.code</code></td>\n<td>string</td>\n<td>No</td>\n<td>Return code</td>\n<td><code>\"\"</code></td>\n</tr>\n<tr>\n<td><code>return.date</code></td>\n<td>string</td>\n<td>No</td>\n<td>Return date</td>\n<td><code>\"\"</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","payment","ach","process"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"a0814bee-6b6f-412c-9462-4e7fbfea82d4","name":"Create ACH","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 100.00,\r\n    \"tax\": 5.00,\r\n    \"routingNumber\": \"021000021\",\r\n    \"accountName\": \"John Doe\",\r\n    \"accountNumber\": \"1234567890\",\r\n    \"accountType\": \"Checking\",\r\n    \"transactionType\": \"Debit\",\r\n    \"dba\": {\r\n        \"id\": \"dba1234\"\r\n    },\r\n    \"customer\": {\r\n        \"email\": \"john.doe@example.com\",\r\n        \"sendReceipt\": \"Yes\"\r\n    },\r\n    \"memo\": \"Invoice payment #12345\",\r\n    \"SECCode\": \"WEB\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/payment/ach/process"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n    \"status\": true,\r\n    \"message\": \"ACH payment processed and customer saved successfully.\",\r\n    \"data\": {\r\n        \"transaction_id\": 45454,\r\n        \"payment_status\": null,\r\n        \"payment_status_reason\": null,\r\n        \"amount\": 100,\r\n        \"payment_type\": \"ach\",\r\n        \"transaction_type\": \"Debit\",\r\n        \"ach_customer_id\": 2070,\r\n        \"created_on\": \"2026-01-29 05:35:13\",\r\n        \"updated_on\": \"2026-01-29 05:35:13\"\r\n    }\r\n}"}],"_postman_id":"dc059cb0-22a8-4069-b27c-4622bf5b9cb9"},{"name":"Create ACH & Save Customer","id":"86040eb6-e590-412d-9d45-38f3d6847a29","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 150.00,\r\n    \"tax\": 7.50,\r\n    \"routingNumber\": \"021000021\",\r\n    \"accountName\": \"Jane Smith\",\r\n    \"accountNumber\": \"9876543210\",\r\n    \"accountType\": \"Savings\",\r\n    \"transactionType\": \"Debit\",\r\n    \"dba\": {\r\n        \"id\": \"330\"\r\n    },\r\n    \"customer\": {\r\n        \"email\": \"jane.smith@example.com\",\r\n        \"save\": \"Yes\",\r\n        \"firstName\": \"Jane\",\r\n        \"lastName\": \"Smith\",\r\n        \"phone\": \"8128335674\",\r\n        \"address1\": \"456 Oak Avenue\",\r\n        \"address2\": \"Suite 200\",\r\n        \"city\": \"Los Angeles\",\r\n        \"state\": \"CA\",\r\n        \"zipCode\": \"90001\",\r\n        \"sendReceipt\": \"Yes\",\r\n        \"identifier\": \"123\"\r\n    },\r\n    \"memo\": \"Monthly subscription payment\",\r\n    \"SECCode\": \"WEB\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/payment/ach/process","description":"<p>Use this flow when processing an ACH payment AND saving the customer information to the vault for future use. This allows you to process subsequent payments using only the customer ID without providing full account details each time.</p>\n<h3 id=\"required-fields\">Required Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>amount</code></td>\n<td>numeric</td>\n<td>Yes</td>\n<td>Payment amount (base amount before tax)</td>\n<td><code>150.00</code></td>\n</tr>\n<tr>\n<td><code>routingNumber</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Bank routing number (9 digits)</td>\n<td><code>\"021000021\"</code></td>\n</tr>\n<tr>\n<td><code>accountName</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Account holder name (max 255 characters)</td>\n<td><code>\"Jane Smith\"</code></td>\n</tr>\n<tr>\n<td><code>accountNumber</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Bank account number</td>\n<td><code>\"9876543210\"</code></td>\n</tr>\n<tr>\n<td><code>accountType</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Account type: <code>\"Checking\"</code> or <code>\"Savings\"</code></td>\n<td><code>\"Savings\"</code></td>\n</tr>\n<tr>\n<td><code>transactionType</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Transaction type: <code>\"Debit\"</code> or <code>\"Credit\"</code></td>\n<td><code>\"Debit\"</code></td>\n</tr>\n<tr>\n<td><code>dba</code></td>\n<td>object</td>\n<td>Yes</td>\n<td>DBA (Doing Business As) information</td>\n<td>See below</td>\n</tr>\n<tr>\n<td><code>dba.id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>DBA ID (must match merchant's DBA ID)</td>\n<td><code>\"dba_123456\"</code></td>\n</tr>\n<tr>\n<td><code>customer</code></td>\n<td>object</td>\n<td>Yes</td>\n<td>Customer information</td>\n<td>See below</td>\n</tr>\n<tr>\n<td><code>customer.email</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer email address (max 255 characters)</td>\n<td><code>\"customer@example.com\"</code></td>\n</tr>\n<tr>\n<td><code>customer.save</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Must be set to <code>\"Yes\"</code> to save customer</td>\n<td><code>\"Yes\"</code></td>\n</tr>\n<tr>\n<td><code>customer.firstName</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer first name (max 255 characters)</td>\n<td><code>\"Jane\"</code></td>\n</tr>\n<tr>\n<td><code>customer.lastName</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer last name (max 255 characters)</td>\n<td><code>\"Smith\"</code></td>\n</tr>\n<tr>\n<td><code>customer.phone</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer phone number (max 20 characters)</td>\n<td><code>\"555-987-6543\"</code></td>\n</tr>\n<tr>\n<td><code>customer.address1</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer address line 1 (max 255 characters)</td>\n<td><code>\"456 Oak Avenue\"</code></td>\n</tr>\n<tr>\n<td><code>customer.city</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer city (max 255 characters)</td>\n<td><code>\"Los Angeles\"</code></td>\n</tr>\n<tr>\n<td><code>customer.state</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer state (max 50 characters)</td>\n<td><code>\"CA\"</code></td>\n</tr>\n<tr>\n<td><code>customer.zipCode</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer ZIP code (max 20 characters)</td>\n<td><code>\"90001\"</code></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"optional-fields\">Optional Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>tax</code></td>\n<td>numeric</td>\n<td>No</td>\n<td>Tax/surcharge amount</td>\n<td><code>7.50</code></td>\n</tr>\n<tr>\n<td><code>SECCode</code></td>\n<td>string</td>\n<td>No</td>\n<td>SEC Code (default: <code>\"WEB\"</code>). Options: <code>\"WEB\"</code>, <code>\"PPD\"</code></td>\n<td><code>\"PPD\"</code></td>\n</tr>\n<tr>\n<td><code>checkNumber</code></td>\n<td>string</td>\n<td>No</td>\n<td>Check number</td>\n<td><code>\"1234\"</code></td>\n</tr>\n<tr>\n<td><code>traceNumber</code></td>\n<td>string</td>\n<td>No</td>\n<td>Trace number</td>\n<td><code>\"123456789\"</code></td>\n</tr>\n<tr>\n<td><code>transactionID</code></td>\n<td>string</td>\n<td>No</td>\n<td>Transaction ID</td>\n<td><code>\"txn_123\"</code></td>\n</tr>\n<tr>\n<td><code>memo</code></td>\n<td>string</td>\n<td>No</td>\n<td>Payment memo/note</td>\n<td><code>\"Monthly subscription payment\"</code></td>\n</tr>\n<tr>\n<td><code>customer.address2</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer address line 2</td>\n<td><code>\"Suite 200\"</code></td>\n</tr>\n<tr>\n<td><code>customer.sendReceipt</code></td>\n<td>string</td>\n<td>No</td>\n<td>Send receipt email: <code>\"Yes\"</code> or <code>\"No\"</code> (default: <code>\"No\"</code>)</td>\n<td><code>\"Yes\"</code></td>\n</tr>\n<tr>\n<td><code>customer.identifier</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer identifier</td>\n<td><code>\"CUST789\"</code></td>\n</tr>\n<tr>\n<td><code>recurring.id</code></td>\n<td>string</td>\n<td>No</td>\n<td>Recurring payment ID</td>\n<td><code>\"recurring_123\"</code></td>\n</tr>\n<tr>\n<td><code>verification.status</code></td>\n<td>string</td>\n<td>No</td>\n<td>Verification status (default: <code>\"Submitted\"</code>)</td>\n<td><code>\"Submitted\"</code></td>\n</tr>\n<tr>\n<td><code>verification.date</code></td>\n<td>string</td>\n<td>No</td>\n<td>Verification date (default: current date)</td>\n<td><code>\"2026-01-29\"</code></td>\n</tr>\n<tr>\n<td><code>source</code></td>\n<td>string</td>\n<td>No</td>\n<td>Payment source</td>\n<td><code>\"Web\"</code></td>\n</tr>\n<tr>\n<td><code>return.code</code></td>\n<td>string</td>\n<td>No</td>\n<td>Return code</td>\n<td><code>\"\"</code></td>\n</tr>\n<tr>\n<td><code>return.date</code></td>\n<td>string</td>\n<td>No</td>\n<td>Return date</td>\n<td><code>\"\"</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"error-response-401-unauthorized\">Error Response (401 Unauthorized)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"Authentication required.\"\n}\n\n</code></pre>\n<h4 id=\"error-response-404-not-found\">Error Response (404 Not Found)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"Merchant account not found for this user.\"\n}\n\n</code></pre>\n<h4 id=\"error-response-400-bad-request---dba-mismatch\">Error Response (400 Bad Request - DBA Mismatch)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"DBA ID does not match your merchant account.\"\n}\n\n</code></pre>\n<h4 id=\"error-response-422-unprocessable-entity---validation-failed\">Error Response (422 Unprocessable Entity - Validation Failed)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"Validation failed.\",\n    \"errors\": {\n        \"amount\": [\"The amount field is required.\"],\n        \"routingNumber\": [\"The routing number field is required.\"],\n        \"accountName\": [\"The account name field is required.\"],\n        \"accountNumber\": [\"The account number field is required.\"],\n        \"accountType\": [\"The account type must be Checking or Savings.\"],\n        \"transactionType\": [\"The transaction type must be Debit or Credit.\"],\n        \"dba.id\": [\"The dba.id field is required.\"],\n        \"customer.email\": [\"The customer.email field is required.\"],\n        \"customer.save\": [\"The customer.save field must be Yes.\"],\n        \"customer.firstName\": [\"The customer.firstName field is required.\"],\n        \"customer.lastName\": [\"The customer.lastName field is required.\"],\n        \"customer.phone\": [\"The customer.phone field is required.\"],\n        \"customer.address1\": [\"The customer.address1 field is required.\"],\n        \"customer.city\": [\"The customer.city field is required.\"],\n        \"customer.state\": [\"The customer.state field is required.\"],\n        \"customer.zipCode\": [\"The customer.zipCode field is required.\"]\n    }\n}\n\n</code></pre>\n<h4 id=\"error-response-422-unprocessable-entity---payment-failed\">Error Response (422 Unprocessable Entity - Payment Failed)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"ACH payment processing failed.\",\n    \"error\": {\n        \"error\": \"Invalid routing number\",\n        \"code\": \"INVALID_ROUTING\"\n    }\n}\n\n</code></pre>\n<h4 id=\"error-response-500-internal-server-error\">Error Response (500 Internal Server Error)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"An unexpected error occurred.\",\n    \"error\": \"Error details (only in debug mode)\"\n}\n\n</code></pre>\n<hr />\n","urlObject":{"protocol":"https","path":["api","payment","ach","process"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"a87c1ae8-a49f-489f-90dd-d56b4db6a353","name":"Create ACH & Save Customer","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 150.00,\r\n    \"tax\": 7.50,\r\n    \"routingNumber\": \"021000021\",\r\n    \"accountName\": \"Jane Smith\",\r\n    \"accountNumber\": \"9876543210\",\r\n    \"accountType\": \"Savings\",\r\n    \"transactionType\": \"Debit\",\r\n    \"dba\": {\r\n        \"id\": \"dba_123456\"\r\n    },\r\n    \"customer\": {\r\n        \"email\": \"jane.smith@example.com\",\r\n        \"save\": \"Yes\",\r\n        \"firstName\": \"Jane\",\r\n        \"lastName\": \"Smith\",\r\n        \"phone\": \"555-987-6543\",\r\n        \"address1\": \"456 Oak Avenue\",\r\n        \"address2\": \"Suite 200\",\r\n        \"city\": \"Los Angeles\",\r\n        \"state\": \"CA\",\r\n        \"zipCode\": \"90001\",\r\n        \"sendReceipt\": \"Yes\",\r\n        \"identifier\": \"CUST789\"\r\n    },\r\n    \"memo\": \"Monthly subscription payment\",\r\n    \"SECCode\": \"PPD\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/payment/ach/process"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n    \"status\": true,\r\n    \"message\": \"ACH payment processed and customer saved successfully.\",\r\n    \"data\": {\r\n        \"transaction_id\": 45455,\r\n        \"payment_status\": null,\r\n        \"payment_status_reason\": null,\r\n        \"amount\": 150,\r\n        \"payment_type\": \"ach\",\r\n        \"transaction_type\": \"Debit\",\r\n        \"ach_customer_id\": 2071,\r\n        \"created_on\": \"2026-01-29 05:54:15\",\r\n        \"updated_on\": \"2026-01-29 05:54:15\"\r\n    }\r\n}"}],"_postman_id":"86040eb6-e590-412d-9d45-38f3d6847a29"},{"name":"Create ACH for an existing Customer","id":"1ab4515a-e094-403e-90f6-5b409d0c9cd6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 75.50,\r\n    \"transactionType\": \"Debit\",\r\n    \"dba\": {\r\n        \"id\": \"330\"\r\n    },\r\n    \"customer\": {\r\n        \"id\": \"2071\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/payment/ach/process","description":"<p>Use this flow when processing a payment for a customer already stored in the vault who has only one saved account. This is the simplest and fastest payment flow, requiring minimal information.</p>\n<h3 id=\"required-fields\">Required Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>amount</code></td>\n<td>numeric</td>\n<td>Yes</td>\n<td>Payment amount</td>\n<td><code>75.50</code></td>\n</tr>\n<tr>\n<td><code>transactionType</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Transaction type: <code>\"Debit\"</code> or <code>\"Credit\"</code></td>\n<td><code>\"Debit\"</code></td>\n</tr>\n<tr>\n<td><code>dba</code></td>\n<td>object</td>\n<td>Yes</td>\n<td>DBA information</td>\n<td>See below</td>\n</tr>\n<tr>\n<td><code>dba.id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>DBA ID (must match merchant's DBA ID)</td>\n<td><code>\"dba_123456\"</code></td>\n</tr>\n<tr>\n<td><code>customer</code></td>\n<td>object</td>\n<td>Yes</td>\n<td>Customer information</td>\n<td>See below</td>\n</tr>\n<tr>\n<td><code>customer.id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer ID from vault (obtained from previous save operation)</td>\n<td><code>\"customer_987654\"</code></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"optional-fields\">Optional Fields</h3>\n<p>None - this flow uses the simplest possible request format.</p>\n<h4 id=\"error-response-401-unauthorized\">Error Response (401 Unauthorized)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"Authentication required.\"\n}\n</code></pre>\n<h4 id=\"error-response-404-not-found\">Error Response (404 Not Found)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"Merchant account not found for this user.\"\n}\n</code></pre>\n<h4 id=\"error-response-400-bad-request---dba-mismatch\">Error Response (400 Bad Request - DBA Mismatch)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"DBA ID does not match your merchant account.\"\n}\n</code></pre>\n<h4 id=\"error-response-422-unprocessable-entity---validation-failed\">Error Response (422 Unprocessable Entity - Validation Failed)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"Validation failed.\",\n    \"errors\": {\n        \"amount\": [\"The amount field is required.\"],\n        \"transactionType\": [\"The transaction type must be Debit or Credit.\"],\n        \"dba.id\": [\"The dba.id field is required.\"],\n        \"customer.id\": [\"The customer.id field is required.\"]\n    }\n}\n</code></pre>\n<h4 id=\"error-response-422-unprocessable-entity---payment-failed\">Error Response (422 Unprocessable Entity - Payment Failed)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"ACH payment processing failed.\",\n    \"error\": {\n        \"error\": \"Customer account not found\",\n        \"code\": \"ACCOUNT_NOT_FOUND\"\n    }\n}\n</code></pre>\n<hr />\n","urlObject":{"protocol":"https","path":["api","payment","ach","process"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"49adddf5-0217-4f17-b54a-8b1a228e6f79","name":"Create ACH for an existing Customer","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 75.50,\r\n    \"transactionType\": \"Debit\",\r\n    \"dba\": {\r\n        \"id\": \"330\"\r\n    },\r\n    \"customer\": {\r\n        \"id\": \"2071\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/payment/ach/process"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n    \"status\": true,\r\n    \"message\": \"ACH payment processed and customer saved successfully.\",\r\n    \"data\": {\r\n        \"transaction_id\": 45456,\r\n        \"payment_status\": null,\r\n        \"payment_status_reason\": null,\r\n        \"amount\": 75.5,\r\n        \"payment_type\": \"ach\",\r\n        \"transaction_type\": \"Debit\",\r\n        \"ach_customer_id\": 2071,\r\n        \"created_on\": \"2026-01-29 06:05:48\",\r\n        \"updated_on\": \"2026-01-29 06:05:48\"\r\n    }\r\n}"}],"_postman_id":"1ab4515a-e094-403e-90f6-5b409d0c9cd6"}],"id":"e2407a2f-bdb5-4078-b3af-cd790abbc895","_postman_id":"e2407a2f-bdb5-4078-b3af-cd790abbc895","description":""},{"name":"CustomerVault","item":[{"name":"Cards","item":[{"name":"List Cards","id":"ef11bd13-4034-4384-b596-48463f82d7e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://www.gateway.coastalpay.com/api/customer-vault/129/cards","description":"<p>Retrieve all saved cards for a specific customer from the vault.</p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>customer_id</td>\n<td>string</td>\n<td>✅</td>\n<td>Unique customer vault ID</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"path-parameters-1\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>customer_id</td>\n<td>string</td>\n<td>✅</td>\n<td>Unique customer vault ID</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"success-response--200\">Success Response – 200</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": true,\n  \"message\": \"Cards retrieved successfully.\",\n  \"data\": [\n    {\n      \"id\": \"card_123\",\n      \"last4\": \"4242\",\n      \"brand\": \"VISA\",\n      \"exp\": \"1226\"\n    }\n  ],\n  \"total\": 1\n}\n\n</code></pre>\n<h3 id=\"no-cards-found--200\"><strong>No Cards Found – 200</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": true,\n  \"message\": \"No cards found for this customer.\",\n  \"data\": [],\n  \"total\": 0\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","customer-vault","129","cards"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ef11bd13-4034-4384-b596-48463f82d7e1"},{"name":"View","id":"e5b44c9f-9165-4ce6-81db-eb58541765df","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://www.gateway.coastalpay.com/api/customer-vault/{customer_id}/card/{card_id}","description":"<p>Retrieve details of a specific card for a customer.</p>\n<h3 id=\"path-parameters\">Path Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>customer_id</td>\n<td>string</td>\n<td>✅</td>\n<td>Customer vault ID</td>\n</tr>\n<tr>\n<td>card_id</td>\n<td>string</td>\n<td>✅</td>\n<td>Card ID</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"success-response--200\">Success Response – 200</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": true,\n  \"message\": \"Card retrieved successfully.\",\n  \"data\": {\n    \"id\": \"card_123\",\n    \"last4\": \"4242\",\n    \"brand\": \"VISA\",\n    \"exp\": \"1226\"\n  }\n}\n\n\n</code></pre>\n<h3 id></h3>\n<p>Card Not Found – 404</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": false,\n  \"message\": \"Card not found.\"\n}\n\n\n</code></pre>\n<h3 id=\"-1\"></h3>\n<h3 id=\"-2\"></h3>\n","urlObject":{"protocol":"https","path":["api","customer-vault","{customer_id}","card","{card_id}"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e5b44c9f-9165-4ce6-81db-eb58541765df"},{"name":"Add Card","id":"ba960221-9762-4f77-a84d-2746754b46cc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"billing_id\": \"3301\",\r\n  \"terminal_id\": \"term_001\",\r\n  \"card_number\": \"4111111111111111\",\r\n  \"expiration\": \"12/30\",\r\n  \"cvv\": \"123\",\r\n  \"holderName\": \"Emmett\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/customer-vault/129/card","description":"<p>Add a new card to the customer vault.</p>\n<h3 id=\"path-parameters\"><strong>Path Parameters</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>customer_id</td>\n<td>string</td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-body\"><strong>Request Body</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>billing_id</td>\n<td>string</td>\n<td>✅</td>\n<td>Billing address ID</td>\n</tr>\n<tr>\n<td>terminal_id</td>\n<td>string</td>\n<td>✅</td>\n<td>Terminal ID</td>\n</tr>\n<tr>\n<td>card_number</td>\n<td>string</td>\n<td>✅</td>\n<td>Card number</td>\n</tr>\n<tr>\n<td>expiration</td>\n<td>string</td>\n<td>✅</td>\n<td>Expiry date (MMYY or MM/YYYY)</td>\n</tr>\n<tr>\n<td>cvv</td>\n<td>string</td>\n<td>✅</td>\n<td>Card CVV</td>\n</tr>\n<tr>\n<td>holderName</td>\n<td>string</td>\n<td>✅</td>\n<td>Card holder name</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","customer-vault","129","card"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"24e7b3c3-796d-412d-93d4-f8c991b0a243","name":"Add Card","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"billing_id\": \"bill_123\",\r\n  \"terminal_id\": \"term_001\",\r\n  \"card_number\": \"4111111111111111\",\r\n  \"expiration\": \"1226\",\r\n  \"cvv\": \"123\",\r\n  \"holderName\": \"John Doe\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/customer-vault/{customer_id}/card"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n  \"status\": true,\r\n  \"message\": \"Card added successfully.\",\r\n  \"data\": {\r\n    \"card_id\": \"card_123\",\r\n    \"card_token\": \"tok_abc123\",\r\n    \"card\": {\r\n      \"id\": \"card_123\",\r\n      \"last4\": \"1111\"\r\n    }\r\n  }\r\n}\r\n"}],"_postman_id":"ba960221-9762-4f77-a84d-2746754b46cc"},{"name":"Update Card Expiration Date","id":"641659a7-9df0-4e93-ae34-bfe030f90d56","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"expiration\": \"12/26\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/customer-vault/{customer_id}/card/{card_id}/exp-date","description":"<p>This endpoint allows you to update the expiration date of an existing card stored in a customer’s vault. By providing the customer ID, card ID, and a new expiration date in <code>MM/YY</code> format, the system securely updates the card details without requiring the card number or other sensitive information. This is useful for handling card renewals and preventing payment failures due to expired cards.</p>\n<h3 id></h3>\n<p>URL Parameters</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>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>customer_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the customer</td>\n</tr>\n<tr>\n<td><code>card_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the card</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-headers\">Request Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Content-Type: application/json\nAuthorization: Bearer {token} (if required)\n</code></pre><h3 id=\"request-body\">Request Body</h3>\n<h4 id=\"required-fields\">Required Fields</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>expiration</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>New card expiration date in MM/YY format</td>\n<td><code>\"12/26\"</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"error-response-422-unprocessable-entity\">Error Response (422 Unprocessable Entity)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"Validation failed.\",\n    \"errors\": {\n        \"expiration\": [\"The expiration field is required.\"]\n    }\n}\n</code></pre>\n<h4 id=\"error-response-404-not-found\">Error Response (404 Not Found)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"Merchant not found.\"\n}\n</code></pre>\n<hr />\n","urlObject":{"protocol":"https","path":["api","customer-vault","{customer_id}","card","{card_id}","exp-date"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"507f2c0a-1db2-4018-8d50-9dcf028b388a","name":"Update Card Expiration Date","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"expiration\": \"12/26\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/customer-vault/{customer_id}/card/{card_id}/exp-date"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n    \"status\": true,\r\n    \"message\": \"Card expiration date updated successfully.\",\r\n    \"data\": {\r\n        \"id\": \"card_123456\",\r\n        \"exp\": \"12/26\",\r\n        \"holderName\": \"John Doe\"\r\n    }\r\n}"}],"_postman_id":"641659a7-9df0-4e93-ae34-bfe030f90d56"},{"name":"Archive Card","id":"40cd3268-767e-41c6-b438-a9d3a34966bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/customer-vault/{customer_id}/card/{card_id}/archive","description":"<p>This endpoint archives an existing card in the customer vault, marking it as inactive while retaining its data for record-keeping and auditing purposes. Archived cards cannot be used for transactions but remain associated with the customer, allowing safe deactivation without permanent deletion.</p>\n<h3 id=\"url-parameters\">URL Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>customer_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the customer</td>\n</tr>\n<tr>\n<td><code>card_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the card</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-headers\">Request Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Content-Type: application/json\nAuthorization: Bearer {token} (if required)\n</code></pre><h3 id=\"request-body\">Request Body</h3>\n<p>No request body required.</p>\n<h3 id=\"response\">Response</h3>\n<h4 id=\"success-response-200-ok\">Success Response (200 OK)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": true,\n    \"message\": \"Card archived successfully.\",\n    \"data\": {\n        \"id\": \"card_123456\",\n        \"archived\": true\n    }\n}\n</code></pre>\n<h4 id=\"error-response-404-not-found\">Error Response (404 Not Found)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"Merchant not found.\"\n}\n</code></pre>\n<h4 id=\"error-response-422-unprocessable-entity\">Error Response (422 Unprocessable Entity)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"Failed to archive card.\"\n}\n</code></pre>\n<hr />\n","urlObject":{"protocol":"https","path":["api","customer-vault","{customer_id}","card","{card_id}","archive"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"40cd3268-767e-41c6-b438-a9d3a34966bf"},{"name":"Unarchive Card","id":"66952488-8a3f-4e6e-8bb0-3f409888a093","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/customer-vault/{customer_id}/card/{card_id}/unarchive","urlObject":{"protocol":"https","path":["api","customer-vault","{customer_id}","card","{card_id}","unarchive"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"66952488-8a3f-4e6e-8bb0-3f409888a093"},{"name":"Delete Card","id":"87fb4752-8df0-408b-9129-18cb9060cc89","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/customer-vault/{customer_id}/card/{card_id}","description":"<p>Permanently deletes a card from the customer vault.</p>\n<h3 id=\"url-parameters\">URL Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>customer_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the customer</td>\n</tr>\n<tr>\n<td><code>card_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the card</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-headers\">Request Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Content-Type: application/json\nAuthorization: Bearer {token} (if required)\n</code></pre><h3 id=\"request-body\">Request Body</h3>\n<p>No request body required.</p>\n<h3 id=\"response\">Response</h3>\n<h4 id=\"success-response-200-ok\">Success Response (200 OK)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": true,\n    \"message\": \"Card deleted successfully.\"\n}\n</code></pre>\n<h4 id=\"error-response-404-not-found\">Error Response (404 Not Found)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"Merchant not found.\"\n}\n</code></pre>\n<h4 id=\"error-response-500-internal-server-error\">Error Response (500 Internal Server Error)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": false,\n    \"message\": \"An unexpected error occurred.\",\n    \"error\": \"Error details (only in debug mode)\"\n}\n</code></pre>\n<h3 id=\"notes\">Notes</h3>\n<ul>\n<li>This action is permanent and cannot be undone</li>\n<li>This endpoint logs SOC2 audit information for compliance</li>\n</ul>\n<hr />\n<h2 id=\"common-error-codes\">Common Error Codes</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>Success</td>\n</tr>\n<tr>\n<td>201</td>\n<td>Created successfully</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Bad Request</td>\n</tr>\n<tr>\n<td>401</td>\n<td>Unauthorized</td>\n</tr>\n<tr>\n<td>404</td>\n<td>Resource not found</td>\n</tr>\n<tr>\n<td>422</td>\n<td>Validation error or unprocessable entity</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Internal server error</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n","urlObject":{"protocol":"https","path":["api","customer-vault","{customer_id}","card","{card_id}"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"87fb4752-8df0-408b-9129-18cb9060cc89"}],"id":"fed921a2-1447-41b9-aa82-58789fc2fc58","_postman_id":"fed921a2-1447-41b9-aa82-58789fc2fc58","description":""},{"name":"Billing Information","item":[{"name":"List","id":"31ccc2b4-75bf-4b26-88bd-6eefdc7b4984","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://www.gateway.coastalpay.com/api/customer-vault/129/billing-information","description":"<p>Retrieve all billing information records for a customer.  </p>\n<p><strong>URL Parameters:</strong></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>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>customer_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The user ID of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Example:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">GET /api/customer-vault/123/billing-information\nAuthorization: Bearer {token}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","customer-vault","129","billing-information"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"39bb0a24-753a-4bcc-8fdc-e26d92a9ef7b","name":"List","originalRequest":{"method":"GET","header":[],"url":"https://www.gateway.coastalpay.com/api/customer-vault/{customer_id}/billing-information"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n    \"status\": true,\r\n    \"message\": \"Billing information retrieved successfully.\",\r\n    \"data\": [\r\n        {\r\n            \"id\": \"12345\",\r\n            \"firstName\": \"John\",\r\n            \"lastName\": \"Doe\",\r\n            \"address\": \"123 Main St\",\r\n            \"city\": \"New York\",\r\n            \"state\": \"NY\",\r\n            \"zip\": \"10001\",\r\n            \"country\": \"US\",\r\n            \"customer\": {\r\n                \"id\": \"5060\"\r\n            },\r\n            \"dba\": {\r\n                \"id\": 13\r\n            }\r\n        }\r\n    ],\r\n    \"total\": 1\r\n}"}],"_postman_id":"31ccc2b4-75bf-4b26-88bd-6eefdc7b4984"},{"name":"View","id":"0328da5b-621b-4fbb-840b-5398966a4253","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://www.gateway.coastalpay.com/api/customer-vault/129/billing-information/3301","description":"<p>Retrieve a specific billing information record by ID.</p>\n<p><strong>URL Parameters:</strong></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>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>customer_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The user ID of the customer</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The billing information ID</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Request Example:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">GET /api/customer-vault/129/billing-information/12345\nAuthorization: Bearer {token}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","customer-vault","129","billing-information","3301"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"0bc525ab-ecfe-492e-a603-e4dff29cd08c","name":"View","originalRequest":{"method":"GET","header":[],"url":"https://www.gateway.coastalpay.com/api/customer-vault/{customer_id}/billing-information/{id}"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n    \"status\": true,\r\n    \"message\": \"Billing information retrieved successfully.\",\r\n    \"data\": {\r\n        \"id\": \"12345\",\r\n        \"firstName\": \"John\",\r\n        \"lastName\": \"Doe\",\r\n        \"address\": \"123 Main St\",\r\n        \"city\": \"New York\",\r\n        \"state\": \"NY\",\r\n        \"zip\": \"10001\",\r\n        \"country\": \"US\",\r\n        \"customer\": {\r\n            \"id\": \"5060\"\r\n        },\r\n        \"dba\": {\r\n            \"id\": 13\r\n        }\r\n    }\r\n}"}],"_postman_id":"0328da5b-621b-4fbb-840b-5398966a4253"},{"name":"Create","id":"2166d086-55fd-416a-ad4b-16e1122f0c3b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"firstName\": \"John\",\r\n    \"lastName\": \"Doe\",\r\n    \"address\": \"123 Main St\",\r\n    \"city\": \"New York\",\r\n    \"state\": \"NY\",\r\n    \"zip\": \"10001\",\r\n    \"country\": \"US\",\r\n    \"dba\": {\r\n        \"id\": 330\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/customer-vault/129/billing-information","description":"<p>Create a new billing information record for a customer.</p>\n<p><strong>URL Parameters:</strong></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>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>customer_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The user ID of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Required Fields:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field Name</th>\n<th>Type</th>\n<th>Constraints</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>firstName</code></td>\n<td>string</td>\n<td>max:255</td>\n<td>First name</td>\n</tr>\n<tr>\n<td><code>lastName</code></td>\n<td>string</td>\n<td>max:255</td>\n<td>Last name</td>\n</tr>\n<tr>\n<td><code>address</code></td>\n<td>string</td>\n<td>max:500</td>\n<td>Street address</td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>string</td>\n<td>max:255</td>\n<td>City</td>\n</tr>\n<tr>\n<td><code>state</code></td>\n<td>string</td>\n<td>max:255</td>\n<td>State/Province</td>\n</tr>\n<tr>\n<td><code>zip</code></td>\n<td>string</td>\n<td>max:20</td>\n<td>ZIP/Postal code</td>\n</tr>\n<tr>\n<td><code>country</code></td>\n<td>string</td>\n<td>max:255</td>\n<td>Country</td>\n</tr>\n<tr>\n<td><code>dba</code></td>\n<td>object</td>\n<td>required</td>\n<td>DBA information</td>\n</tr>\n<tr>\n<td><code>dba.id</code></td>\n<td>integer</td>\n<td>required</td>\n<td>DBA ID</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","customer-vault","129","billing-information"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"102bc6bf-bf5d-42ef-a0eb-47fd09f440ba","name":"Create","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"firstName\": \"John\",\r\n    \"lastName\": \"Doe\",\r\n    \"address\": \"123 Main St\",\r\n    \"city\": \"New York\",\r\n    \"state\": \"NY\",\r\n    \"zip\": \"10001\",\r\n    \"country\": \"US\",\r\n    \"dba\": {\r\n        \"id\": 330\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/customer-vault/{customer_id}/billing-information"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n    \"status\": true,\r\n    \"message\": \"Billing information created successfully.\",\r\n    \"data\": {\r\n        \"billing_id\": \"3301\",\r\n        \"billing_information\": {\r\n            \"id\": \"3301\",\r\n            \"firstName\": \"John\",\r\n            \"lastName\": \"Doe\",\r\n            \"address\": \"123 Main St\",\r\n            \"state\": \"New York\",\r\n            \"city\": \"New York\",\r\n            \"zip\": \"10001\",\r\n            \"country\": \"United States\",\r\n            \"archived\": \"No\",\r\n            \"createdOn\": \"2026-01-30 05:17:30\"\r\n        }\r\n    }\r\n}"}],"_postman_id":"2166d086-55fd-416a-ad4b-16e1122f0c3b"},{"name":"Update","id":"26df47bf-40d0-4635-869f-6efdc2235f7e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"firstName\": \"Emmett\",\r\n    \"lastName\": \"Brown\",\r\n    \"state\": \"CA\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/customer-vault/129/billing-information/3301","description":"<p>Update an existing billing information record. All fields are optional - only provided fields will be updated.</p>\n<p><strong>URL Parameters:</strong></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>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>customer_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The user ID of the customer</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The billing information ID</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Required Fields:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field Name</th>\n<th>Type</th>\n<th>Constraints</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>firstName</code></td>\n<td>string</td>\n<td>max:255</td>\n<td>First name</td>\n</tr>\n<tr>\n<td><code>lastName</code></td>\n<td>string</td>\n<td>max:255</td>\n<td>Last name</td>\n</tr>\n<tr>\n<td><code>address</code></td>\n<td>string</td>\n<td>max:500</td>\n<td>Street address</td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>string</td>\n<td>max:255</td>\n<td>City</td>\n</tr>\n<tr>\n<td><code>state</code></td>\n<td>string</td>\n<td>max:255</td>\n<td>State/Province</td>\n</tr>\n<tr>\n<td><code>zip</code></td>\n<td>string</td>\n<td>max:20</td>\n<td>ZIP/Postal code</td>\n</tr>\n<tr>\n<td><code>country</code></td>\n<td>string</td>\n<td>max:255</td>\n<td>Country</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","customer-vault","129","billing-information","3301"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"273ed0e5-ac56-4780-b1c6-455b3cce4a87","name":"Update","originalRequest":{"method":"PUT","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"firstName\": \"Emmett\",\r\n    \"lastName\": \"Brown\",\r\n    \"state\": \"CA\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/customer-vault/{customer_id}/billing-information/{id}"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n    \"status\": true,\r\n    \"message\": \"Billing information updated successfully.\",\r\n    \"data\": {\r\n        \"id\": \"12345\",\r\n        \"firstName\": \"John\",\r\n        \"lastName\": \"Doe\",\r\n        \"address\": \"123 Main St\",\r\n        \"city\": \"Los Angeles\",\r\n        \"state\": \"CA\",\r\n        \"zip\": \"90001\",\r\n        \"country\": \"US\",\r\n        \"customer\": {\r\n            \"id\": \"5060\"\r\n        },\r\n        \"dba\": {\r\n            \"id\": 13\r\n        }\r\n    }\r\n}"}],"_postman_id":"26df47bf-40d0-4635-869f-6efdc2235f7e"}],"id":"c6382fb5-2ff8-416f-848a-dff2d79662c4","description":"<p>You can use this endpoint for customer billing-related operations in the customer vault. You can create, update, delete, or archive customer billing information.</p>\n","_postman_id":"c6382fb5-2ff8-416f-848a-dff2d79662c4"}],"id":"656512b0-4376-4fb5-8719-a0515d20ad88","description":"<p>This API allows merchants to <strong>manage customer cards</strong> stored in the secure customer vault.  </p>\n<p>Supported operations include <strong>listing cards, viewing card details, adding new cards, updating expiration dates, archiving/unarchiving cards, and deleting cards</strong>.</p>\n","_postman_id":"656512b0-4376-4fb5-8719-a0515d20ad88"},{"name":"Recurring Payment","item":[{"name":"Card","item":[{"name":"Recurring Card Payment - New Customer","id":"1db6a66f-7bcb-4585-8925-ec2e81effcc9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"amount\": \"100.00\",\r\n    \"payment_amount\": \"105.00\",\r\n    \"frequency\": \"monthly\",\r\n    \"payment_type\": \"card\",\r\n    \"start_date\": \"2026-02-15\",\r\n    \"fund\": \"General Fund\",\r\n    \"valid\": {\r\n        \"from\": \"2026-02-01\",\r\n        \"to\": \"2027-01-31\"\r\n    },\r\n    \"payment\": {\r\n        \"max\": 12\r\n    },\r\n    \"customer\": {\r\n        \"first_name\": \"John\",\r\n        \"last_name\": \"Doe\",\r\n        \"email\": \"deveploment-test@example.com\",\r\n        \"phone\": \"8128222081\",\r\n        \"address\": \"123 Main Street\",\r\n        \"city\": \"New York\",\r\n        \"state\": \"NY\",\r\n        \"zipcode\": \"10001\",\r\n        \"country\": \"US\"\r\n    },\r\n    \"card\": {\r\n        \"card_number\": \"4111111111111111\",\r\n        \"expiration\": \"12/40\",\r\n        \"cvv\": \"123\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/payment/recurring/process","description":"<p>This API endpoint allows you to create a recurring card payment for a <strong>new customer</strong>. The system will automatically:</p>\n<ol>\n<li>Create a new customer account</li>\n<li>Create a customer vault entry</li>\n<li>Add billing information (if provided)</li>\n<li>Add the card to the customer vault</li>\n<li>Create a recurring payment schedule</li>\n<li>Generate a PDF invoice</li>\n<li>Send a payment receipt email with invoice attachment to the customer</li>\n</ol>\n<h2 id=\"authentication\">Authentication</h2>\n<p><strong>Required:</strong> Bearer Token Authentication</p>\n<p>The API requires authentication. Include your bearer token in the Authorization header:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer {your_token}\n\n</code></pre><h2 id=\"request-headers\">Request Headers</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Content-Type: application/json\nAuthorization: Bearer {your_token}\nAccept: application/json\n\n</code></pre><h3 id=\"required-fields\">Required Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>amount</code></td>\n<td>string</td>\n<td>Base amount (without fees)</td>\n</tr>\n<tr>\n<td><code>payment_amount</code></td>\n<td>string</td>\n<td>Total amount including fees</td>\n</tr>\n<tr>\n<td><code>frequency</code></td>\n<td>string</td>\n<td>Payment frequency: <code>every_week</code>, <code>every_2_week</code>, or <code>monthly</code></td>\n</tr>\n<tr>\n<td><code>payment_type</code></td>\n<td>string</td>\n<td>Must be <code>\"card\"</code></td>\n</tr>\n<tr>\n<td><code>customer.first_name</code></td>\n<td>string</td>\n<td>Customer's first name (max 255 characters)</td>\n</tr>\n<tr>\n<td><code>customer.last_name</code></td>\n<td>string</td>\n<td>Customer's last name (max 255 characters)</td>\n</tr>\n<tr>\n<td><code>customer.email</code></td>\n<td>string</td>\n<td>Customer's email address (must be unique, max 255 characters)</td>\n</tr>\n<tr>\n<td><code>card.card_number</code></td>\n<td>string</td>\n<td>Credit card number (required if <code>card_id</code> not provided)</td>\n</tr>\n<tr>\n<td><code>card.expiration</code></td>\n<td>string</td>\n<td>Card expiration date in MM/YY format</td>\n</tr>\n<tr>\n<td><code>card.cvv</code></td>\n<td>string</td>\n<td>Card CVV code (required if <code>card_id</code> not provided)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"optional-fields\">Optional Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_date</code></td>\n<td>string</td>\n<td>Start date for recurring payment (YYYY-MM-DD format). Defaults to today if not provided</td>\n</tr>\n<tr>\n<td><code>fund</code></td>\n<td>string</td>\n<td>Fund name/designation</td>\n</tr>\n<tr>\n<td><code>surcharge</code></td>\n<td>string</td>\n<td>Surcharge amount</td>\n</tr>\n<tr>\n<td><code>customer.phone</code></td>\n<td>string</td>\n<td>Customer's phone number (max 20 characters)</td>\n</tr>\n<tr>\n<td><code>customer.address</code></td>\n<td>string</td>\n<td>Customer's street address (max 255 characters)</td>\n</tr>\n<tr>\n<td><code>customer.city</code></td>\n<td>string</td>\n<td>Customer's city (max 255 characters)</td>\n</tr>\n<tr>\n<td><code>customer.state</code></td>\n<td>string</td>\n<td>Customer's state code (max 255 characters)</td>\n</tr>\n<tr>\n<td><code>customer.zipcode</code></td>\n<td>string</td>\n<td>Customer's zip code (max 20 characters)</td>\n</tr>\n<tr>\n<td><code>customer.country</code></td>\n<td>string</td>\n<td>Customer's country code (2 letters, e.g., \"US\")</td>\n</tr>\n<tr>\n<td><code>card_id</code></td>\n<td>string</td>\n<td>Existing card ID from vault (if provided, card object fields not required)</td>\n</tr>\n<tr>\n<td><code>valid.from</code></td>\n<td>string</td>\n<td>Valid from date (YYYY-MM-DD format). Defaults to start_date if not provided</td>\n</tr>\n<tr>\n<td><code>valid.to</code></td>\n<td>string</td>\n<td>Valid to date (YYYY-MM-DD format). Defaults to 1 year from start_date if not provided</td>\n</tr>\n<tr>\n<td><code>payment.max</code></td>\n<td>integer</td>\n<td>Maximum number of payments (minimum 1). Defaults to 12 if not provided</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","payment","recurring","process"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"1db6a66f-7bcb-4585-8925-ec2e81effcc9"},{"name":"Recurring Card Payment - Existing Customer","id":"43eacdbc-0d30-4df4-a6bd-f1bb1df82d0a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"amount\": \"75.00\",\r\n    \"payment_amount\": \"78.75\",\r\n    \"frequency\": \"every_week\",\r\n    \"payment_type\": \"card\",\r\n    \"customer_id\":\"129\",\r\n    \"card_id\": \"3011\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/payment/recurring/process","description":"<h2 id=\"recurring-card-payment---existing-customer\">Recurring Card Payment - Existing Customer</h2>\n<p>This API endpoint allows you to create a recurring card payment for an <strong>existing customer</strong>. The system will automatically:</p>\n<ol>\n<li><p>Find the existing customer by user ID</p>\n</li>\n<li><p>Extract customer vault ID from merchant_data</p>\n</li>\n<li><p>Use existing customer information from vault</p>\n</li>\n<li><p>Add card to customer vault (if new card provided)</p>\n</li>\n<li><p>Create a recurring payment schedule</p>\n</li>\n<li><p>Generate a PDF invoice</p>\n</li>\n<li><p>Send a payment receipt email with invoice attachment to the customer</p>\n</li>\n</ol>\n<h3 id=\"required-fields\">Required Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>amount</code></td>\n<td>string</td>\n<td>Base amount (without fees)</td>\n</tr>\n<tr>\n<td><code>payment_amount</code></td>\n<td>string</td>\n<td>Total amount including fees</td>\n</tr>\n<tr>\n<td><code>frequency</code></td>\n<td>string</td>\n<td>Payment frequency: <code>every_week</code>, <code>every_2_week</code>, or <code>monthly</code></td>\n</tr>\n<tr>\n<td><code>payment_type</code></td>\n<td>string</td>\n<td>Must be <code>\"card\"</code></td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>string</td>\n<td><strong>User ID</strong> from users table (not vault customer ID)</td>\n</tr>\n<tr>\n<td><code>card.card_number</code></td>\n<td>string</td>\n<td>Credit card number (required if <code>card_id</code> not provided)</td>\n</tr>\n<tr>\n<td><code>card.expiration</code></td>\n<td>string</td>\n<td>Card expiration date in MM/YY format</td>\n</tr>\n<tr>\n<td><code>card.cvv</code></td>\n<td>string</td>\n<td>Card CVV code (required if <code>card_id</code> not provided)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"optional-fields\">Optional Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_date</code></td>\n<td>string</td>\n<td>Start date for recurring payment (YYYY-MM-DD format). Defaults to today if not provided</td>\n</tr>\n<tr>\n<td><code>fund</code></td>\n<td>string</td>\n<td>Fund name/designation</td>\n</tr>\n<tr>\n<td><code>surcharge</code></td>\n<td>string</td>\n<td>Surcharge amount</td>\n</tr>\n<tr>\n<td><code>card_id</code></td>\n<td>string</td>\n<td>Existing card ID from vault (if provided, card object fields not required)</td>\n</tr>\n<tr>\n<td><code>valid.from</code></td>\n<td>string</td>\n<td>Valid from date (YYYY-MM-DD format). Defaults to start_date if not provided</td>\n</tr>\n<tr>\n<td><code>valid.to</code></td>\n<td>string</td>\n<td>Valid to date (YYYY-MM-DD format). Defaults to 1 year from start_date if not provided</td>\n</tr>\n<tr>\n<td><code>payment.max</code></td>\n<td>integer</td>\n<td>Maximum number of payments (minimum 1). Defaults to 12 if not provided</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","payment","recurring","process"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"43eacdbc-0d30-4df4-a6bd-f1bb1df82d0a"}],"id":"f453a97b-ef85-4f49-9d62-c639b0608020","_postman_id":"f453a97b-ef85-4f49-9d62-c639b0608020","description":""},{"name":"ACH","item":[{"name":"Recurring ACH Payment - New Customer","id":"4dd2497a-330e-49ca-997a-c99103b0f9ad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"amount\": \"100.00\",\r\n    \"payment_amount\": \"105.00\",\r\n    \"frequency\": \"monthly\",\r\n    \"payment_type\": \"ach\",\r\n    \"start_date\": \"2026-01-30\",\r\n    \"fund\": \"General Fund\",\r\n    \"valid\": {\r\n        \"from\": \"2026-01-01\",\r\n        \"to\": \"2026-12-31\"\r\n    },\r\n    \"payment\": {\r\n        \"max\": 12\r\n    },\r\n    \"customer\": {\r\n        \"first_name\": \"Jane\",\r\n        \"last_name\": \"Smith\",\r\n        \"email\": \"jane.smith1w@example.com\",\r\n        \"password\": \"SecurePass123\",\r\n        \"confirm_password\": \"SecurePass123\",\r\n        \"phone\": \"8128222081\",\r\n        \"address\": \"456 Oak Avenue\",\r\n        \"city\": \"Los Angeles\",\r\n        \"state\": \"CA\",\r\n        \"zipcode\": \"90001\",\r\n        \"country\": \"US\"\r\n    },\r\n    \"account_type\": \"checking\",\r\n    \"account_number\": \"1234567890\",\r\n    \"routing_number\": \"021000021\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/payment/recurring/process","description":"<p>Use this flow when creating a recurring ACH payment subscription for a new customer. The system will create a user account, ACH customer in vault, and then create the recurring payment.</p>\n<p><strong>Key Features:</strong></p>\n<ul>\n<li><p>Creates new user account</p>\n</li>\n<li><p>Creates ACH customer in vault</p>\n</li>\n<li><p>Creates recurring ACH payment subscription</p>\n</li>\n<li><p>Generates invoice PDF</p>\n</li>\n<li><p>Sends email</p>\n</li>\n</ul>\n<h3 id=\"required-fields\">Required Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>amount</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Base payment amount (before tax/surcharge)</td>\n<td><code>\"100.00\"</code></td>\n</tr>\n<tr>\n<td><code>payment_amount</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Total payment amount (including tax/surcharge)</td>\n<td><code>\"105.00\"</code></td>\n</tr>\n<tr>\n<td><code>frequency</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Payment frequency: <code>\"every_week\"</code>, <code>\"every_2_week\"</code>, or <code>\"monthly\"</code></td>\n<td><code>\"monthly\"</code></td>\n</tr>\n<tr>\n<td><code>payment_type</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Payment type: <code>\"ach\"</code></td>\n<td><code>\"ach\"</code></td>\n</tr>\n<tr>\n<td><code>first_name</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer first name (max 255 characters)</td>\n<td><code>\"Jane\"</code></td>\n</tr>\n<tr>\n<td><code>last_name</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer last name (max 255 characters)</td>\n<td><code>\"Smith\"</code></td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer email address (must be unique, max 255 characters)</td>\n<td><code>\"jane.smith@example.com\"</code></td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer password (8-20 characters)</td>\n<td><code>\"SecurePass123\"</code></td>\n</tr>\n<tr>\n<td><code>confirm_password</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Password confirmation (must match password)</td>\n<td><code>\"SecurePass123\"</code></td>\n</tr>\n<tr>\n<td><code>account_type</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Account type: <code>\"checking\"</code> or <code>\"savings\"</code></td>\n<td><code>\"checking\"</code></td>\n</tr>\n<tr>\n<td><code>account_number</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Bank account number</td>\n<td><code>\"1234567890\"</code></td>\n</tr>\n<tr>\n<td><code>routing_number</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Bank routing number (9 digits)</td>\n<td><code>\"021000021\"</code></td>\n</tr>\n<tr>\n<td><code>dba_id_ach</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>DBA ID for ACH payments (must match merchant's DBA ID)</td>\n<td><code>\"dba_ach_123\"</code></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"optional-fields\">Optional Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_date</code></td>\n<td>date</td>\n<td>No</td>\n<td>Start date for recurring payments (default: today)</td>\n<td><code>\"2026-02-01\"</code></td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer phone number (max 20 characters)</td>\n<td><code>\"555-987-6543\"</code></td>\n</tr>\n<tr>\n<td><code>address</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer address</td>\n<td><code>\"456 Oak Avenue\"</code></td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer city</td>\n<td><code>\"Los Angeles\"</code></td>\n</tr>\n<tr>\n<td><code>state</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer state</td>\n<td><code>\"CA\"</code></td>\n</tr>\n<tr>\n<td><code>zipcode</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer ZIP code</td>\n<td><code>\"90001\"</code></td>\n</tr>\n<tr>\n<td><code>country</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer country</td>\n<td><code>\"US\"</code></td>\n</tr>\n<tr>\n<td><code>fund</code></td>\n<td>string</td>\n<td>No</td>\n<td>Fund identifier</td>\n<td><code>\"General Fund\"</code></td>\n</tr>\n<tr>\n<td><code>surcharge</code></td>\n<td>string</td>\n<td>No</td>\n<td>Surcharge amount</td>\n<td><code>\"5.00\"</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","payment","recurring","process"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4dd2497a-330e-49ca-997a-c99103b0f9ad"},{"name":"Recurring ACH Payment - Existing Customer","id":"bfffab36-0669-4d87-a656-fd9c6acd320e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"amount\": \"100.00\",\r\n    \"payment_amount\": \"105.00\",\r\n    \"frequency\": \"every_week\",\r\n    \"payment_type\": \"ach\",\r\n    \"start_date\": \"2026-02-15\",\r\n    \"fund\": \"General Fund\",\r\n    \"valid\": {\r\n        \"from\": \"2026-02-01\",\r\n        \"to\": \"2027-01-31\"\r\n    },\r\n    \"payment\": {\r\n        \"max\": 12\r\n    },\r\n    \"customer_id\": \"165\",\r\n    \"account_type\": \"savings\",\r\n    \"account_number\": \"9876543210\",\r\n    \"routing_number\": \"021000021\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://www.gateway.coastalpay.com/api/payment/recurring/process","description":"<p>Use this flow when creating a recurring ACH payment subscription for an existing customer who already has an ACH customer ID in the vault.</p>\n<p><strong>Key Features:</strong></p>\n<ul>\n<li><p>Uses existing customer account</p>\n</li>\n<li><p>Uses existing ACH customer ID</p>\n</li>\n<li><p>Creates recurring ACH payment subscription</p>\n</li>\n<li><p>Generates invoice PDF</p>\n</li>\n<li><p>Sends email</p>\n</li>\n</ul>\n<h3 id=\"required-fields\">Required Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>amount</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Base payment amount (before tax/surcharge)</td>\n<td><code>\"100.00\"</code></td>\n</tr>\n<tr>\n<td><code>payment_amount</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Total payment amount (including tax/surcharge)</td>\n<td><code>\"105.00\"</code></td>\n</tr>\n<tr>\n<td><code>frequency</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Payment frequency: <code>\"every_week\"</code>, <code>\"every_2_week\"</code>, or <code>\"monthly\"</code></td>\n<td><code>\"monthly\"</code></td>\n</tr>\n<tr>\n<td><code>payment_type</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Payment type: <code>\"ach\"</code></td>\n<td><code>\"ach\"</code></td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Existing customer ID from vault</td>\n<td><code>\"customer_987654\"</code></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"optional-fields\">Optional Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_date</code></td>\n<td>date</td>\n<td>No</td>\n<td>Start date for recurring payments (default: today)</td>\n<td><code>\"2026-02-01\"</code></td>\n</tr>\n<tr>\n<td><code>address</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer address (updates user profile)</td>\n<td><code>\"456 Oak Avenue\"</code></td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer city (updates user profile)</td>\n<td><code>\"Los Angeles\"</code></td>\n</tr>\n<tr>\n<td><code>state</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer state (updates user profile)</td>\n<td><code>\"CA\"</code></td>\n</tr>\n<tr>\n<td><code>zipcode</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer ZIP code (updates user profile)</td>\n<td><code>\"90001\"</code></td>\n</tr>\n<tr>\n<td><code>country</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer country (updates user profile)</td>\n<td><code>\"US\"</code></td>\n</tr>\n<tr>\n<td><code>fund</code></td>\n<td>string</td>\n<td>No</td>\n<td>Fund identifier</td>\n<td><code>\"General Fund\"</code></td>\n</tr>\n<tr>\n<td><code>surcharge</code></td>\n<td>string</td>\n<td>No</td>\n<td>Surcharge amount</td>\n<td><code>\"5.00\"</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","payment","recurring","process"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"bfffab36-0669-4d87-a656-fd9c6acd320e"}],"id":"5d1bd085-9e46-4599-8b37-75b6f18762e3","_postman_id":"5d1bd085-9e46-4599-8b37-75b6f18762e3","description":""},{"name":"List","id":"abc661bb-4aa3-45c3-bcd5-b876a1cdbe7e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"https://www.gateway.coastalpay.com/api/payment/recurring/list/5422","description":"<p>Retrieves a list of all recurring payment subscriptions for a specific customer.</p>\n<h3 id=\"request-headers\">Request Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Content-Type: application/json\nAuthorization: Bearer {token}\n\n</code></pre><h3 id=\"url-parameters\">URL Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>customer_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer ID from vault</td>\n<td><code>\"123\"</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","payment","recurring","list","5422"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"abc661bb-4aa3-45c3-bcd5-b876a1cdbe7e"},{"name":"View","id":"0d53f3fe-2479-4a7a-802d-ea2f6f90535d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://www.gateway.coastalpay.com/api/payment/recurring/view/5422/84","description":"<p>Retrieves detailed information about a specific recurring payment subscription.</p>\n<h3 id=\"authentication\">Authentication</h3>\n<p>This endpoint requires authentication. Include a Bearer token in the Authorization header.</p>\n<h3 id=\"request-headers\">Request Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Content-Type: application/json\nAuthorization: Bearer {token}\n</code></pre><h3 id=\"url-parameters\">URL Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>customer_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer ID from vault</td>\n<td><code>\"123\"</code></td>\n</tr>\n<tr>\n<td><code>recurring_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Recurring payment ID</td>\n<td><code>\"1\"</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","payment","recurring","view","5422","84"],"host":["www","gateway","coastalpay","com"],"query":[],"variable":[]}},"response":[{"id":"c0956179-1904-4a49-b132-91804ca2e77a","name":"View","originalRequest":{"method":"GET","header":[],"url":"https://www.gateway.coastalpay.com/api/payment/recurring/view/123/3"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n    \"status\": true,\r\n    \"message\": \"Recurring payment retrieved successfully.\",\r\n    \"data\": {\r\n        \"id\": 1158,\r\n        \"name\": \"Monthly subscription\",\r\n        \"description\": \"Monthly subscription\",\r\n        \"amount\": \"99.00\",\r\n        \"execute\": {\r\n            \"frequency\": 1,\r\n            \"period\": \"month\"\r\n        },\r\n        \"valid\": {\r\n            \"from\": \"2026-01-01\",\r\n            \"to\": \"2027-01-01\"\r\n        },\r\n        \"payment\": {\r\n            \"next\": \"2026-02-01\",\r\n            \"last\": null,\r\n            \"max\": 12,\r\n            \"attempt\": {\r\n                \"date\": null,\r\n                \"retries\": 0\r\n            }\r\n        },\r\n        \"terminal\": {\r\n            \"id\": 309\r\n        },\r\n        \"customer\": {\r\n            \"id\": 123,\r\n            \"card\": {\r\n                \"id\": 3003,\r\n                \"number\": 1111,\r\n                \"token\": \"SDAtngMXzdjd1111\",\r\n                \"exp\": \"2040-12-31\",\r\n                \"order\": 50,\r\n                \"status\": \"Active\"\r\n            }\r\n        },\r\n        \"status\": \"Active\",\r\n        \"archived\": \"No\"\r\n    }\r\n}"}],"_postman_id":"0d53f3fe-2479-4a7a-802d-ea2f6f90535d"}],"id":"562d2cb2-a45a-4139-a232-0cab4b886118","_postman_id":"562d2cb2-a45a-4139-a232-0cab4b886118","description":""},{"name":"Gateway Test Cards","item":[],"id":"90e2e97e-f8ec-4528-8944-33dd83bb68c2","description":"<p>We provide test card details for the sandbox environment to help you validate your integration before processing real card data.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Card Number</th>\n<th>Network</th>\n<th>Expiration Date</th>\n<th>CVV</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>4539225011794489</td>\n<td>VISA</td>\n<td>12/30</td>\n<td>999</td>\n</tr>\n<tr>\n<td>4957587837877027</td>\n<td>VISA</td>\n<td>12/30</td>\n<td>999</td>\n</tr>\n<tr>\n<td>4632633008802809</td>\n<td>VISA</td>\n<td>12/30</td>\n<td>999</td>\n</tr>\n<tr>\n<td>4539225011794430</td>\n<td>VISA</td>\n<td>12/30</td>\n<td>999</td>\n</tr>\n<tr>\n<td>5296345017707556</td>\n<td>MASTERCARD</td>\n<td>12/30</td>\n<td>998</td>\n</tr>\n<tr>\n<td>5309572686772257</td>\n<td>MASTERCARD</td>\n<td>12/30</td>\n<td>998</td>\n</tr>\n<tr>\n<td>601142181265456</td>\n<td>DISCOVER</td>\n<td>12/30</td>\n<td>996</td>\n</tr>\n<tr>\n<td>6011891662320957</td>\n<td>DISCOVER</td>\n<td>12/30</td>\n<td>996</td>\n</tr>\n<tr>\n<td>340200784265287</td>\n<td>AMEX</td>\n<td>12/30</td>\n<td>9997</td>\n</tr>\n<tr>\n<td>371632530176123</td>\n<td>AMEX</td>\n<td>12/30</td>\n<td>9997</td>\n</tr>\n<tr>\n<td>4111111111111111</td>\n<td>VISA</td>\n<td>12/30</td>\n<td>999</td>\n</tr>\n<tr>\n<td>4000111111111115</td>\n<td>VISA</td>\n<td>12/30</td>\n<td>999</td>\n</tr>\n<tr>\n<td>4916909992637469</td>\n<td>VISA</td>\n<td>12/30</td>\n<td>999</td>\n</tr>\n<tr>\n<td>4000008500910067</td>\n<td>VISA</td>\n<td>12/30</td>\n<td>999</td>\n</tr>\n<tr>\n<td>5555555555554444</td>\n<td>MASTERCARD</td>\n<td>12/30</td>\n<td>998</td>\n</tr>\n<tr>\n<td>5105105105105100</td>\n<td>MASTERCARD</td>\n<td>12/30</td>\n<td>998</td>\n</tr>\n<tr>\n<td>5339978447172907</td>\n<td>MASTERCARD</td>\n<td>12/30</td>\n<td>998</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"partial-approval\">Partial Approval</h2>\n<p>There are cases where you will encounter partial approvals, such as gift cards etc. To test this use the following:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Card Number</th>\n<th>Network</th>\n<th>Expiration Date</th>\n<th>CVV</th>\n<th>Amount</th>\n<th>Approved Amount</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>2223000048400011</td>\n<td>MASTERCARD</td>\n<td>12/25</td>\n<td>998</td>\n<td>11.10</td>\n<td>5.55</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"90e2e97e-f8ec-4528-8944-33dd83bb68c2"}],"id":"3f5db1e7-6ffb-4850-9549-ef7482b85dc8","_postman_id":"3f5db1e7-6ffb-4850-9549-ef7482b85dc8","description":""}]}