{ "openapi": "3.1.1", "info": { "title": "HitPay API", "description": "Accept PayNow, FPX, QRIS, GrabPay, cards, and 40+ payment methods with a single API. Production base URL: https://api.hit-pay.com, Sandbox: https://api.sandbox.hit-pay.com", "version": "1.0" }, "servers": [ { "url": "https://api.hit-pay.com", "description": "Production" }, { "url": "https://api.sandbox.hit-pay.com", "description": "Sandbox" } ], "paths": { "/v1/account-status": { "get": { "summary": "Get Account Status", "description": "Get the account status", "operationId": "get-account-status", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "bank_account_status": "completed", "verification": { "overall_status": "completed", "owner_verification": "not_required", "business_verification": "completed" }, "payment_providers": { "airwallex_sg": { "setup_status": "completed" }, "atome_sg": { "setup_status": "completed" }, "dbs_sg": { "setup_status": "pending" }, "fave_sg": { "setup_status": "completed" }, "shopback_sg": { "setup_status": "completed" }, "shopee_pay": { "setup_status": "completed" }, "stripe_sg": { "setup_status": "completed", "payment_enabled": true, "payout_enabled": true } } } } }, "schema": { "type": "object", "properties": { "bank_account_status": { "type": "string" }, "verification": { "type": "object", "properties": { "overall_status": { "type": "string" }, "owner_verification": { "type": "string" }, "business_verification": { "type": "string" } }, "required": [ "overall_status", "owner_verification", "business_verification" ] }, "payment_providers": { "type": "object", "properties": {} } } } } } } }, "deprecated": false } }, "/v1/staffs": { "get": { "summary": "Get All Staffs", "description": "Get All Staffs", "operationId": "get-all-staffs", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": [ { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "name": "TestingSG", "role": { "id": "93a00e56-c832-490e-b5b8-7f08149548c7", "title": "Owner" } }, { "id": "98888a24-d6b2-430d-9063-d2be76d443cd", "name": "SG11", "role": { "id": "93a00e56-d9d8-46f7-aa41-da868820f899", "title": "Manager" } }, { "id": "98888a69-2d7a-4695-811d-6df8cee30264", "name": "SG", "role": { "id": "93a00e56-d9d8-46f7-aa41-da868820f899", "title": "Manager" } }, { "id": "98888a7a-8d02-48bd-ba00-9ea91ad30ecb", "name": "Cashier 01", "role": { "id": "93a00e56-dbea-4387-8972-e04777d9afce", "title": "Cashier" } }, { "id": "98889105-0aa7-4480-989c-41f38172b4e6", "name": "Cashier 02", "role": { "id": "93a00e56-dbea-4387-8972-e04777d9afce", "title": "Cashier" } }, { "id": "9888918e-246b-44c6-a602-d8bcfd726345", "name": "Admin 01", "role": { "id": "93a00e56-d68c-4025-9cea-2b08cd50572e", "title": "Admin" } }, { "id": "9bf2c210-9516-4525-9a8f-52cb671e7b02", "name": "Manager 01", "role": { "id": "93a00e56-d9d8-46f7-aa41-da868820f899", "title": "Manager" } } ] } }, "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "role": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" } }, "required": [ "id", "title" ] } }, "required": [ "id", "name", "role" ] } } } } } }, "deprecated": false } }, "/v1/staffs/{staff_id}": { "get": { "summary": "Get Staff Detail", "description": "Get Staff Detail", "operationId": "get-staff-detail", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "staff_id", "in": "path", "schema": { "type": "string", "format": "uuid", "example": "98888a69-2d7a-4695-811d-6df8cee30264" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "name": "Testing ABC", "role": { "id": "93a00e56-c832-490e-b5b8-7f08149548c7", "title": "Owner" }, "email": "abcd@gmail.com", "invited_at": "2023-01-29T05:29:24.000000Z", "locations": [] } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "role": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" } }, "required": [ "id", "title" ] }, "email": { "type": "string" }, "invited_at": { "type": "string" }, "locations": { "type": "array", "items": {} } }, "required": [ "id", "name", "role", "email", "invited_at", "locations" ] } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": { "message": "The staff cannot be found." } } }, "schema": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ] } } } } }, "deprecated": false } }, "/v1/refund": { "post": { "summary": "Refund", "description": "The API to refund the charge", "operationId": "refund", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "amount", "payment_id" ], "properties": { "amount": { "type": "number", "description": "The remaining amount to be refunded.", "example": 100.99 }, "payment_id": { "type": "string", "format": "uuid", "example": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "description": "Payment ID for the successful payment request" }, "webhook": { "type": "string", "format": "uri", "description": "The webhook URL", "example": "https://www.google.com" }, "send_email": { "type": "string", "enum": [ "true", "false" ] }, "email": { "type": "string", "format": "email", "example": "test@gmail.com" } } } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9ef6957e-6b1b-4e08-8cde-d5f5c908418d", "refunded_by": "QA SG", "payment_id": "9a934d94-a41f-46c7-a934-c1ebf2436008", "amount_refunded": 1, "total_amount": 96.49, "currency": "sgd", "status": "succeeded", "payment_method": "card", "provider_fee": null, "provider_fee_currency": null, "refunded_at": "2025-05-21T09:17:52.000000Z", "created_at": "2025-05-21T17:17:52" } } }, "schema": { "type": "object", "properties": { "id": { "type": "string", "examples": [ "9858acaf-edc8-427d-b0e5-c32e1b1543db" ] }, "refunded_by": { "type": "string", "example": "Test QA" }, "payment_id": { "type": "string", "example": "984e6b86-f0e2-4283-991c-d8236f67567e" }, "amount_refunded": { "type": "integer", "example": 13, "default": 0 }, "total_amount": { "type": "number", "example": 99.99, "default": 0 }, "currency": { "type": "string", "example": "usd" }, "status": { "type": "string", "default": "succeeded" }, "payment_method": { "type": "string", "example": "card" }, "provider_fee": { "type": "integer", "example": 1.1 }, "provider_fee_currency": { "type": "string", "example": "SGD" }, "refunded_at": { "type": "string", "example": "2025-05-21T09:17:52.000000Z" }, "created_at": { "type": "string", "example": "2023-01-30T16:10:17" } } } } } } }, "deprecated": false, "security": [], "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request POST 'https://api.sandbox.hit-pay.com/v1/refund' \\\n--header 'X-BUSINESS-API-KEY: meowmeowmeow' \\\n--header 'X-Requested-With: XMLHttpRequest' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n--data-urlencode 'amount=13444' \\\n--data-urlencode 'payment_id=984e6b86-f0e2-4283-991c-d8236f67567e' \\\n--data-urlencode 'webhook=https://webhook.site/64da3fed-cd82-49cc-a368-a9ede02441aa' \\\n--data-urlencode 'send_email=true ' \\\n--data-urlencode 'email=raymond@hit-pay.com'\n", "name": "cURL" } ], "samples-languages": [ "curl" ] } } }, "/v1/refund/{refund_id}": { "get": { "summary": "Get Refund Details", "description": "Get the refund detail.", "operationId": "get-refund", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "refund_id", "in": "path", "description": "The refund id", "schema": { "type": "string", "format": "uuid" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "a1feb98d-f31d-4378-9382-1a373853f7eb", "refunded_by": null, "payment_id": "a1feb5cb-fff3-4cd7-a5a1-a4e91307353d", "amount_refunded": 10, "total_amount": 110, "currency": "sgd", "status": "succeeded", "payment_method": "card", "provider_fee": null, "provider_fee_currency": null, "refunded_at": "2026-06-11T05:01:08.000000Z", "created_at": "2026-06-11T05:01:08.000000Z" } } }, "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "example": "a1feb98d-f31d-4378-9382-1a373853f7eb" }, "refunded_by": { "type": "string", "nullable": true, "example": null }, "payment_id": { "type": "string", "format": "uuid", "example": "a1feb5cb-fff3-4cd7-a5a1-a4e91307353d" }, "amount_refunded": { "type": "number", "example": 10 }, "total_amount": { "type": "number", "example": 110 }, "currency": { "type": "string", "example": "sgd" }, "status": { "type": "string", "example": "succeeded" }, "payment_method": { "type": "string", "example": "card" }, "provider_fee": { "type": "number", "nullable": true, "example": null }, "provider_fee_currency": { "type": "string", "nullable": true, "example": null }, "refunded_at": { "type": "string", "format": "date-time", "example": "2026-06-11T05:01:08.000000Z" }, "created_at": { "type": "string", "format": "date-time", "example": "2026-06-11T05:01:08.000000Z" } } } } } } }, "deprecated": false, "security": [], "x-readme": { "code-samples": [ { "lang": "shell", "source": "curl -X GET \"https://api.sandbox.hit-pay.com/v1/refund/{refund_id}\" -H \"X-BUSINESS-API-KEY: b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d\"" } ], "samples-languages": [ "curl" ] } } }, "/v1/subscription-plan": { "get": { "summary": "Get All Subscription Plan", "description": "Use this API to get all subscription plans details.", "operationId": "get-all-subscription-plan", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "per_page", "in": "query", "description": "The number of per page", "schema": { "type": "number", "default": 20 } }, { "name": "page", "in": "query", "description": "The page index", "schema": { "type": "number", "default": 1 } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"data\": [\n {\n \"id\": \"975b1909-38f6-44f3-a0b1-c198b7478978\",\n \"name\": \"subscription-plan_new_1664175178\",\n \"description\": \"New_Description_1664175178\",\n \"cycle\": \"custom\",\n \"cycle_repeat\": 1,\n \"cycle_frequency\": \"day\",\n \"currency\": \"sgd\",\n \"price\": 123.45,\n \"amount\": 123.45,\n \"reference\": null,\n \"created_at\": \"2022-09-26T14:52:58\",\n \"updated_at\": \"2022-09-26T14:52:58\"\n },\n {\n \"id\": \"97533e84-4f48-4625-83de-1d2b3e3ae17b\",\n \"name\": \"subscription-plan_new_1663837869\",\n \"description\": \"New_Description_1663837869\",\n \"cycle\": \"custom\",\n \"cycle_repeat\": 1,\n \"cycle_frequency\": \"day\",\n \"currency\": \"sgd\",\n \"price\": 9999999.99,\n \"amount\": 9999999.99,\n \"reference\": null,\n \"created_at\": \"2022-09-22T17:11:09\",\n \"updated_at\": \"2022-09-22T17:11:09\"\n }\n ],\n \"links\": {\n \"first\": \"https://api.sandbox.hit-pay.com/v1/subscription-plan?page=1\",\n \"last\": \"https://api.sandbox.hit-pay.com/v1/subscription-plan?page=1\",\n \"prev\": null,\n \"next\": null\n },\n \"meta\": {\n \"current_page\": 1,\n \"from\": 1,\n \"last_page\": 1,\n \"links\": [\n {\n \"url\": null,\n \"label\": \"« Previous\",\n \"active\": false\n },\n {\n \"url\": \"https://api.sandbox.hit-pay.com/v1/subscription-plan?page=1\",\n \"label\": \"1\",\n \"active\": true\n },\n {\n \"url\": null,\n \"label\": \"Next »\",\n \"active\": false\n }\n ],\n \"path\": \"https://api.sandbox.hit-pay.com/v1/subscription-plan\",\n \"per_page\": 25,\n \"to\": 2,\n \"total\": 2\n }\n}" } }, "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "examples": [ "975b1909-38f6-44f3-a0b1-c198b7478978" ] }, "name": { "type": "string", "examples": [ "subscription-plan_new_1664175178" ] }, "description": { "type": "string", "examples": [ "New_Description_1664175178" ] }, "cycle": { "type": "string", "examples": [ "custom" ] }, "cycle_repeat": { "type": "integer", "examples": [ 1 ], "default": 0 }, "cycle_frequency": { "type": "string", "examples": [ "day" ] }, "currency": { "type": "string", "examples": [ "sgd" ] }, "price": { "type": "number", "examples": [ 123.45 ], "default": 0 }, "amount": { "type": "number", "examples": [ 123.45 ], "default": 0 }, "reference": {}, "created_at": { "type": "string", "examples": [ "2022-09-26T14:52:58" ] }, "updated_at": { "type": "string", "examples": [ "2022-09-26T14:52:58" ] } } } }, "links": { "type": "object", "properties": { "first": { "type": "string", "examples": [ "https://api.sandbox.hit-pay.com/v1/subscription-plan?page=1" ] }, "last": { "type": "string", "examples": [ "https://api.sandbox.hit-pay.com/v1/subscription-plan?page=1" ] }, "prev": {}, "next": {} } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer", "examples": [ 1 ], "default": 0 }, "from": { "type": "integer", "examples": [ 1 ], "default": 0 }, "last_page": { "type": "integer", "examples": [ 1 ], "default": 0 }, "links": { "type": "array", "items": { "type": "object", "properties": { "url": {}, "label": { "type": "string", "examples": [ "« Previous" ] }, "active": { "type": "boolean", "examples": [ false ], "default": true } } } }, "path": { "type": "string", "examples": [ "https://api.sandbox.hit-pay.com/v1/subscription-plan" ] }, "per_page": { "type": "integer", "examples": [ 25 ], "default": 0 }, "to": { "type": "integer", "examples": [ 2 ], "default": 0 }, "total": { "type": "integer", "examples": [ 2 ], "default": 0 } } } } } } } } }, "deprecated": false, "security": [], "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request GET 'https://api.sandbox.hit-pay.com/v1/subscription-plan' \\\n--header 'X-BUSINESS-API-KEY: meowmeowmeow' \\\n--header 'X-Requested-With: XMLHttpRequest' \\\n--header 'Content-Type: application/x-www-form-urlencoded'" } ], "samples-languages": [ "curl" ] } }, "post": { "summary": "Create a Subscription Plan", "description": "A subscription plan consists of basic information like plan name, amount, and frequency. An example of a subscription plan could be “Spotify Premium Membership” which is SGD 9.90 monthly.", "operationId": "create-subscription-plan", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "name", "cycle", "amount" ], "properties": { "name": { "type": "string", "description": "Plan name. It's required field" }, "description": { "type": "string", "description": "The description of subscription plan" }, "cycle": { "type": "string", "description": "Billing frequency (weekly / monthly / yearly / custom). If cycle = custom then the user has to send the fields cycle_repeat and cycle_frequency", "enum": [ "weekly", "monthly", "yearly", "custom" ], "default": "monthly" }, "cycle_frequency": { "type": "string", "description": "[This field is only applicable when cycle = custom] It's the frequency of the cycle [day / week / month / year]", "enum": [ "day", "week", "month", "year" ] }, "cycle_repeat": { "type": "integer", "description": "[This field is only applicable when cycle = custom] It's the number of times the cycle will repeat.", "format": "int32" }, "currency": { "type": "string", "example": "SGD" }, "amount": { "type": "integer", "description": "Min: Depend on the currency, Max: 999999.99. It's required field", "maximum": 999999.99, "format": "int32" }, "reference": { "type": "string", "maxLength": 255, "description": "Arbitrary reference number that you can map to your internal reference number. This value cannot be edited by the customer" }, "redirect_url": { "type": "string", "description": "The redirected URL after the payment" }, "start_date_method": { "type": "string", "enum": [ "sign_up_date", "customer_select_date", "fixed_date" ] }, "fixed_date": { "type": "number", "minimum": 1, "maximum": 28, "description": "it's required if start_date_method = fixed_date" }, "times_to_be_charged": { "type": "number", "default": 1, "minimum": 1, "maximum": 100 } } } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"id\": \"973ee344-6737-4897-9929-edbc9d7bf433\",\n \"name\": \"Spotify Premium\",\n \"description\": \"Spotify Monthly Subscription\",\n \"cycle\": \"monthly\",\n \"cycle_repeat\": null,\n \"cycle_frequency\": null,\n \"currency\": \"sgd\",\n \"amount\": 9.90,\n \"reference\": \"spotify_premium_2022\",\n \"created_at\": \"2022-09-12T14:19:26\",\n \"updated_at\": \"2022-09-12T14:19:26\"\n}" } }, "schema": { "type": "object", "properties": { "id": { "type": "string", "examples": [ "973ee344-6737-4897-9929-edbc9d7bf433" ] }, "name": { "type": "string", "examples": [ "Spotify Premium" ] }, "description": { "type": "string", "examples": [ "Spotify Monthly Subscription" ] }, "cycle": { "type": "string", "examples": [ "monthly" ] }, "cycle_repeat": {}, "cycle_frequency": {}, "currency": { "type": "string", "examples": [ "sgd" ] }, "amount": { "type": "number", "examples": [ 9.9 ], "default": 0 }, "reference": { "type": "string", "examples": [ "spotify_premium_2022" ] }, "created_at": { "type": "string", "examples": [ "2022-09-12T14:19:26" ] }, "updated_at": { "type": "string", "examples": [ "2022-09-12T14:19:26" ] } } } } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"The given data was invalid.\",\n \"errors\": {\n \"name\": [\n \"The name field is required.\"\n ],\n \"amount\": [\n \"The amount field is required.\"\n ],\n \"cycle\": [\n \"The cycle field is required.\"\n ]\n }\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "The given data was invalid." ] }, "errors": { "type": "object", "properties": { "name": { "type": "array", "items": { "type": "string", "examples": [ "The name field is required." ] } }, "amount": { "type": "array", "items": { "type": "string", "examples": [ "The amount field is required." ] } }, "cycle": { "type": "array", "items": { "type": "string", "examples": [ "The cycle field is required." ] } } } } } } } } } }, "deprecated": false, "security": [], "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request POST 'https://api.sandbox.hit-pay.com/v1/subscription-plan' \\\n--header 'X-BUSINESS-API-KEY: meowmeowmeow' \\\n--header 'X-Requested-With: XMLHttpRequest' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n--data-urlencode 'name=Spotify Premium' \\\n--data-urlencode 'description=Spotify Monthly Subscription' \\\n--data-urlencode 'currency=SGD' \\\n--data-urlencode 'amount=9.90'\n--data-urlencode 'cycle=monthly' \\\n--data-urlencode 'reference=spotify_premium_2022' \\" } ], "samples-languages": [ "curl" ] } } }, "/v1/subscription-plan/{plan_id}": { "get": { "summary": "Get Subscription Plan Details", "description": "Use this API to get the subscription plan details, if you need to make any changes use the Update a Subscription Plan API", "operationId": "get-a-subscription-plan-detail", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "plan_id", "in": "path", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"id\": \"973ee344-6737-4897-9929-edbc9d7bf433\",\n \"name\": \"Spotify Premium\",\n \"description\": \"Spotify Monthly Subscription\",\n \"cycle\": \"monthly\",\n \"cycle_repeat\": null,\n \"cycle_frequency\": null,\n \"currency\": \"sgd\",\n \"amount\": 9.9,\n \"reference\": \"spotify_premium_2022\",\n \"created_at\": \"2022-09-12T14:22:26\",\n \"updated_at\": \"2022-09-12T14:22:26\"\n}" } }, "schema": { "type": "object", "properties": { "id": { "type": "string", "examples": [ "973ee344-6737-4897-9929-edbc9d7bf433" ] }, "name": { "type": "string", "examples": [ "Spotify Premium" ] }, "description": { "type": "string", "examples": [ "Spotify Monthly Subscription" ] }, "cycle": { "type": "string", "examples": [ "monthly" ] }, "cycle_repeat": {}, "cycle_frequency": {}, "currency": { "type": "string", "examples": [ "sgd" ] }, "amount": { "type": "number", "examples": [ 9.9 ], "default": 0 }, "reference": { "type": "string", "examples": [ "spotify_premium_2022" ] }, "created_at": { "type": "string", "examples": [ "2022-09-12T14:22:26" ] }, "updated_at": { "type": "string", "examples": [ "2022-09-12T14:22:26" ] } } } } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\SubscriptionPlan] 973ee456-d28f-4418-93c5-d37e4b311685\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\SubscriptionPlan] 973ee456-d28f-4418-93c5-d37e4b311685" ] } } } } } } }, "deprecated": false, "security": [], "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request GET 'https://api.sandbox.hit-pay.com/v1/subscription-plan/{plan_id}' \\\n--header 'X-BUSINESS-API-KEY: meowmeowmeow' \\\n--header 'X-Requested-With: XMLHttpRequest' \\\n--header 'Content-Type: application/x-www-form-urlencoded'" } ], "samples-languages": [ "curl" ] } }, "put": { "summary": "Update Subscription Plan", "description": "Use this API to update the subscription plan, changes made to the plan will not affect current subscription. If you would like to make changes to the current subscriptions use the Update Recurring Billing API.", "operationId": "update-recurring-billing-plan", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "plan_id", "in": "path", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "name", "cycle", "amount" ], "properties": { "name": { "type": "string", "description": "Plan name. It's required field" }, "amount": { "type": "integer", "description": "Min: Depend on the currency, Max: 999999.99. It's required field", "maximum": 999999.99, "format": "int32" }, "description": { "type": "string", "description": "The description of subscription plan" }, "cycle": { "type": "string", "description": "Billing frequency (weekly / monthly / yearly / custom / save_card). If cycle = custom then the user has to send the fields cycle_repeat and cycle_frequency", "enum": [ "weekly", "monthly", "yearly", "custom", "save_card" ], "default": "monthly" }, "cycle_frequency": { "type": "string", "description": "[This field is only applicable when cycle = custom] It's the frequency of the cycle [day / week / month / year]", "enum": [ "day", "week", "month", "year" ] }, "cycle_repeat": { "type": "integer", "description": "[This field is only applicable when cycle = custom] It's the number of times the cycle will repeat.", "format": "int32" }, "currency": { "type": "string", "example": "SGD" }, "reference": { "type": "string", "maxLength": 255, "description": "Arbitrary reference number that you can map to your internal reference number. This value cannot be edited by the customer" }, "redirect_url": { "type": "string", "description": "The redirected URL after the payment" }, "start_date_method": { "type": "string", "enum": [ "sign_up_date", "customer_select_date", "fixed_date" ] }, "fixed_date": { "type": "number", "minimum": 1, "maximum": 28, "description": "it's required if start_date_method = fixed_date" }, "times_to_be_charged": { "type": "number", "minimum": 1, "maximum": 100 } } } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"id\": \"973ee344-6737-4897-9929-edbc9d7bf433\",\n \"name\": \"Spotify Premium\",\n \"description\": \"Spotify Monthly Subscription\",\n \"cycle\": \"monthly\",\n \"cycle_repeat\": null,\n \"cycle_frequency\": null,\n \"currency\": \"sgd\",\n \"amount\": 12.9,\n \"reference\": \"spotify_premium_2022\",\n \"created_at\": \"2022-09-13T12:34:13\",\n \"updated_at\": \"2022-09-13T12:34:13\"\n}" } }, "schema": { "type": "object", "properties": { "id": { "type": "string", "examples": [ "973ee344-6737-4897-9929-edbc9d7bf433" ] }, "name": { "type": "string", "examples": [ "Spotify Premium" ] }, "description": { "type": "string", "examples": [ "Spotify Monthly Subscription" ] }, "cycle": { "type": "string", "examples": [ "monthly" ] }, "cycle_repeat": {}, "cycle_frequency": {}, "currency": { "type": "string", "examples": [ "sgd" ] }, "amount": { "type": "number", "examples": [ 12.9 ], "default": 0 }, "reference": { "type": "string", "examples": [ "spotify_premium_2022" ] }, "created_at": { "type": "string", "examples": [ "2022-09-13T12:34:13" ] }, "updated_at": { "type": "string", "examples": [ "2022-09-13T12:34:13" ] } } } } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"The given data was invalid.\",\n \"errors\": {\n \"name\": [\n \"The name may not be greater than 128 characters.\"\n ]\n }\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "The given data was invalid." ] }, "errors": { "type": "object", "properties": { "name": { "type": "array", "items": { "type": "string", "examples": [ "The name may not be greater than 128 characters." ] } } } } } } }, "text/plain": { "examples": { "Result": { "value": "{\n \"message\": \"The given data was invalid.\",\n \"errors\": {\n \"cycle_repeat\": [\n \"The cycle repeat field is required when cycle is custom.\"\n ],\n \"cycle_frequency\": [\n \"The cycle frequency field is required when cycle is custom.\"\n ]\n }\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "The given data was invalid." ] }, "errors": { "type": "object", "properties": { "cycle_repeat": { "type": "array", "items": { "type": "string", "examples": [ "The cycle repeat field is required when cycle is custom." ] } }, "cycle_frequency": { "type": "array", "items": { "type": "string", "examples": [ "The cycle frequency field is required when cycle is custom." ] } } } } } } } } } }, "deprecated": false, "security": [], "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request PUT 'https://api.sandbox.hit-pay.com/v1/subscription-plan/{plan_id}' \\\n--header 'X-BUSINESS-API-KEY: meowmeowmeow' \\\n--header 'X-Requested-With: XMLHttpRequest' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n--data-urlencode 'amount=12.90'" } ], "samples-languages": [ "curl" ] } }, "delete": { "summary": "Delete Subscription Plan", "description": "Delete the Subscription plan", "operationId": "delete-subscription", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "plan_id", "in": "path", "description": "The subscription id", "schema": { "type": "string" }, "required": true } ], "responses": { "204": { "description": "204", "content": { "application/json": { "examples": { "Result": { "value": "1" } }, "schema": { "type": "integer", "example": 1 } } } } }, "deprecated": false, "security": [], "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request DELETE 'https://api.sandbox.hit-pay.com/v1/subscription-plan/99e64cc6-2860-4c54-a92d-1509aa9e2362' \\\n--header 'X-BUSINESS-API-KEY: meowmeowmeow' \\\n--header 'X-Requested-With: XMLHttpRequest' \\\n--header 'Content-Type: application/x-www-form-urlencoded'", "name": "Example" } ], "samples-languages": [ "curl" ] } } }, "/v1/recurring-billing": { "post": { "summary": "Create Recurring Billing", "description": "Once your customer has decided to start the subscription this endpoint will create the recurring billing request.\nSince this is a server-to-server communication, if you have a mobile or Web client that communicates with your REST API, you must have a new endpoint E.g. /create-subscription or reuse an existing endpoint. This endpoint will be responsible for making the recurring billing API call to HitPay.", "operationId": "create-a-recurring-billing", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "customer_email" ], "properties": { "plan_id": { "type": "string", "format": "uuid", "description": "Subscription plan id created from Create a Subscription Plan API. If you would like to create a subscription without a plan, plan_id should be null" }, "save_card": { "type": "string", "default": "false", "enum": [ "true", "false" ], "description": "Only set the value “true” if you wish to save the card and charge the customer later on. More details in “Save Card” section" }, "save_payment_method": { "type": "string", "default": "false", "enum": [ "true", "false" ], "description": "It's new field that will replace save_card field in the future. Only set the value “true” if you wish to save the payment method and charge the customer later on. More details in “Save Payment Method” section" }, "start_date_method": { "type": "string", "default": null, "enum": [ "sign_up_date", "no_initial_charge" ], "description": "It's an optional field and only applicable when save_payment_method is true. By default, the start_date_method is null. Options are sign_up_date or no_initial_charge" }, "name": { "type": "string", "maxLength": 255, "description": "It's is required when save card = true or plan_id = null. By default, the name from the subscription plan will be used.", "example": "Spotify Premium" }, "amount": { "type": "integer", "format": "double", "maximum": 999999.99, "example": 9.9, "description": "Required when save_card = true and plan_id = null for cards. By default, the amount from the subscription plan will be used. Optional when payment_methods contains only APMs (zalopay, shopee_pay, grabpay_direct, touch_n_go) and save_payment_method is true. Min: It depends on the currency, Max: 999999.99." }, "cycle": { "type": "string", "enum": [ "weekly", "monthly", "yearly", "custom" ], "description": "It's is required when plan_id = null. By default, the cycle from the subscription plan will be used. Billing frequency (weekly / monthly / yearly / custom)" }, "cycle_repeat": { "type": "integer", "description": "It is required field when cycle is custom. New cycle will only be affective at the end of the current cycle", "minimum": 1, "maximum": 999 }, "cycle_frequency": { "type": "string", "enum": [ "day", "week", "month", "year" ], "description": "It is required field when the cycle is custom. For cycle = custom, set the frequency for cycle repeat field options [day, week, month, year]" }, "customer_email": { "type": "string", "format": "email", "description": "Customer's email.", "example": "abc@gmail.com" }, "customer_name": { "type": "string", "description": "Customer's name.", "maxLength": 255, "example": "Paul" }, "start_date": { "type": "string", "description": "Required when save_card is not true. Billing start date (YYYY-MM-DD) in SGT. Must be today or a future date.", "example": "2025-12-31" }, "redirect_url": { "type": "string", "description": "URL where HitPay redirects the user after the users enters the card details and the subscription is active. Query arguments reference (subscription id) and status are sent along" }, "reference": { "type": "string", "maxLength": 255 }, "payment_methods": { "type": "array", "items": { "type": "string", "enum": [ "card", "giro", "shopee_recurring" ] }, "example": [ "card" ], "description": "The active Payment methods to be used for the subscription: card, giro, shopee_recurring." }, "send_email": { "type": "string", "default": "false", "enum": [ "true", "false" ], "description": "HitPay to send email receipts to the customer. Default value is false" }, "times_to_be_charged": { "type": "number", "description": "It's time to be charged. Default value is 1", "default": 1, "minimum": 1, "maximum": 100, "example": 1 } } } } } }, "responses": { "200": { "description": "200", "content": {} }, "422": { "description": "422", "content": {} } }, "deprecated": false, "security": [], "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request POST 'https://api.sandbox.hit-pay.com/v1/recurring-billing' \\\n--header 'X-BUSINESS-API-KEY: meowmeowmeow' \\\n--header 'X-Requested-With: XMLHttpRequest' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n--data-urlencode 'plan_id=973ee344-6737-4897-9929-edbc9d7bf433' \\\n--data-urlencode 'amount=9.90' \\\n--data-urlencode 'customer_email=paul@hitpayapp.com' \\\n--data-urlencode 'customer_name=Paul' \\\n--data-urlencode 'start_date=2022-11-11' \\\n--data-urlencode 'redirect_url=https://spotify.com/subscription-completed' \\\n--data-urlencode 'reference=cust_id_123' \\\n--data-urlencode 'payment_methods[]=giro' \\\n--data-urlencode 'payment_methods[]=card' \\\n--data-urlencode 'webhook=https://webhoo.site/test' \\\n--data-urlencode 'save_card=false' \\\n--data-urlencode 'send_email=false' \\\n--data-urlencode 'times_to_be_charged=3'" } ], "samples-languages": [ "curl" ] } }, "get": { "summary": "Get All Recurring Billing", "description": "Use this API to get the a list of all recurring billings", "operationId": "get-all-recurring-billing", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "customer_email", "in": "query", "description": "Customer Email", "schema": { "type": "string" } }, { "name": "reference", "in": "query", "description": "Reference number", "schema": { "type": "string" } }, { "name": "business_recurring_plans_id", "in": "query", "description": "Recurring Plan ID", "schema": { "type": "string", "format": "uuid" } }, { "name": "status", "in": "query", "description": "Recurring billing status, options [active, scheduled, retrying, inactive, canceled]", "schema": { "type": "string", "default": "active", "enum": [ "active", "scheduled", "retrying", "inactive", "canceled" ] } } ], "responses": { "200": { "description": "200", "content": {} } }, "deprecated": false, "security": [], "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request GET 'https://api.sandbox.hit-pay.com/v1/recurring-billing' \\\n--header 'X-BUSINESS-API-KEY: meowmeowmeow' \\\n--header 'X-Requested-With: XMLHttpRequest' \\\n--header 'Content-Type: application/x-www-form-urlencoded'" } ], "samples-languages": [ "curl" ] } } }, "/v1/recurring-billing/{recurring_billing_id}": { "get": { "summary": "Get saved card details", "description": "Use this API to get the detail of recurring billing with a saved card. If the card is saved the response will have the card details (The last 4 digits and card brand). You can use the card details to display it to the users so they are aware of which card is saved and give them the option to change the card by navigating to the “url”", "operationId": "get-saved-card-details", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "recurring_billing_id", "in": "path", "schema": { "type": "string", "format:": "uuid" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9ad461a8-47ec-4f95-aeb3-1a3d16fec521", "business_recurring_plans_id": null, "customer_name": "API_Save_Card_1702369621", "customer_email": "test@gmail.com", "customer_phone_number": null, "customer_phone_number_country_code": null, "name": "API_Save_Card_New_1702369621", "description": "description_1702369621", "reference": "cust_id_123", "cycle": "save_card", "cycle_repeat": null, "cycle_frequency": null, "currency": "usd", "price": 94.27, "amount": 94.27, "times_to_be_charged": null, "times_charged": null, "status": "canceled", "send_email": 1, "save_card": 1, "redirect_url": "https://www.google.com/", "payment_methods": [ "giro", "card" ], "payment_provider_charge_method": "card", "created_at": "2023-12-12T16:27:01", "updated_at": "2023-12-13T09:33:02", "pause_from": null, "pause_until": null, "expires_at": null, "url": "https://securecheckout.staging.hit-pay.com/98567029-f559-49f9-916b-042a4255b32a/recurring-plan/9ad461a8-47ec-4f95-aeb3-1a3d16fec521", "dbs_dda_reference": "RP94OH2LYZY", "total_charge": 0, "payment_method": { "card": { "brand": "visa", "last4": "4242" } } } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "business_recurring_plans_id": {}, "customer_name": { "type": "string" }, "customer_email": { "type": "string" }, "customer_phone_number": {}, "customer_phone_number_country_code": {}, "name": { "type": "string" }, "description": { "type": "string" }, "reference": { "type": "string" }, "cycle": { "type": "string" }, "cycle_repeat": {}, "cycle_frequency": {}, "currency": { "type": "string" }, "price": { "type": "number" }, "amount": { "type": "number" }, "times_to_be_charged": {}, "times_charged": {}, "status": { "type": "string" }, "send_email": { "type": "number" }, "save_card": { "type": "number" }, "redirect_url": { "type": "string" }, "payment_methods": { "type": "array", "items": { "type": "string" } }, "payment_provider_charge_method": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" }, "pause_from": {}, "pause_until": {}, "expires_at": {}, "url": { "type": "string" }, "total_charge": { "type": "number" }, "payment_method": { "type": "object", "properties": { "card": { "type": "object", "properties": { "brand": { "type": "string" }, "last4": { "type": "string" } }, "required": [ "brand", "last4" ] } }, "required": [ "card" ] } } } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\SubscriptionPlan] 973ee456-d28f-4418-93c5-d37e4b311685\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\SubscriptionPlan] 973ee456-d28f-4418-93c5-d37e4b311685" ] } } } } } } }, "deprecated": false, "security": [], "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request GET 'https://api.sandbox.hit-pay.com/v1/recurring-billing/{recurring_billing_id}' \\\n--header 'X-BUSINESS-API-KEY: meowmeowmeow' \\\n--header 'X-Requested-With: XMLHttpRequest' \\\n--header 'Content-Type: application/x-www-form-urlencoded'" } ], "samples-languages": [ "curl" ] } }, "put": { "summary": "Update Recurring Billing", "description": "Use this API to update the recurring billing, any changes made to the cycle will only be effective at the end of the current cycle.", "operationId": "update-recurring-billing", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "recurring_billing_id", "in": "path", "description": "id value from the create recurring billing API", "schema": { "type": "string", "format": "uuid" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "plan_id": { "type": "string", "format": "uuid", "description": "The plan ID, if plan_id is not null it will update [cycle, cycle_repeat, cycle_frequency and amount] with the values from Subscription plan. if plan_id is null you can update each field individually. When save_card is true, you disallow to set plan_id", "example": "973ee344-6737-4897-9929-edbc9d7bf433" }, "name": { "type": "string", "maxLength": 255, "description": "Plan name", "example": "Spotify Premium" }, "description": { "type": "string", "description": "The description of subscription plan", "example": "Spotify Monthly Subscription" }, "payment_methods": { "type": "array", "items": { "type": "string", "enum": [ "card", "giro", "shopee_recurring" ] }, "example": [ "card" ], "description": "The active Payment methods to be used for the subscription: card, giro, shopee_recurring." }, "cycle": { "type": "string", "enum": [ "weekly", "monthly", "yearly", "custom" ], "description": "Billing frequency (weekly / monthly / yearly / custom)" }, "cycle_repeat": { "type": "integer", "description": "It is required field when cycle is custom. New cycle will only be affective at the end of the current cycle", "minimum": 1, "maximum": 999 }, "cycle_frequency": { "type": "string", "enum": [ "day", "week", "month", "year" ], "description": "It is required field when the cycle is custom. For cycle = custom, set the frequency for cycle repeat field options [day, week, month, year]" }, "save_card": { "type": "string", "enum": [ "true", "false" ], "description": "Only set the value “true” if you wish to save the card and charge the customer later on. More details in “Save Card” section" }, "save_payment_method": { "type": "string", "default": "false", "enum": [ "true", "false" ], "description": "It's new field that will replace save_card field in the future. Only set the value “true” if you wish to save the payment method and charge the customer later on. More details in “Save Payment Method” section" }, "start_date_method": { "type": "string", "default": null, "enum": [ "sign_up_date", "no_initial_charge" ], "description": "It's an optional field and only applicable when save_payment_method is true. By default, the start_date_method is null. Options are sign_up_date or no_initial_charge" }, "customer_email": { "type": "string", "format": "email", "example": "abc@gmail.com", "description": "Customer's email." }, "customer_name": { "type": "string", "maxLength": 255, "example": "Paul", "description": "Customer's name." }, "start_date": { "type": "string", "description": "The start date must be a date after or equal to today and Billing start date (YYYY-MM-DD) in SGT, only possible to change start date for recurring billing ID with status = scheduled or active", "example": "2025-12-31" }, "redirect_url": { "type": "string", "format": "url", "description": "URL where HitPay redirects the user after the users enters the card details and the subscription is active. Query arguments reference (subscription id) and status are sent along" }, "reference": { "type": "string", "maxLength": 255, "description": "Arbitrary reference number that you can map to your internal reference number. This value cannot be edited by the customer" }, "amount": { "type": "number", "description": "New amount, customer will be charged the new amount on the next cycle. Min: It depends on the currency, Max 999999.99", "format": "double", "maximum": 999999.9 }, "send_email": { "type": "string", "enum": [ "true", "false" ], "description": "Send the email", "default": "false" } } } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"id\": \"9741164c-06a1-4dd7-a649-72cca8f9603a\",\n \"business_recurring_plans_id\": \"973ee344-6737-4897-9929-edbc9d7bf433\",\n \"customer_name\": \"Paul\",\n \"customer_email\": \"paul@newemail.com\",\n \"name\": \"Spotify Premium\",\n \"description\": \"Spotify Monthly Subscription\",\n \"reference\": \"cust_id_123\",\n \"cycle\": \"monthly\",\n \"cycle_repeat\": null,\n \"cycle_frequency\": null,\n \"currency\": \"sgd\",\n \"amount\": 12.9,\n \"times_to_be_charged\": 9,\n \"times_charged\": 2,\n \"status\": \"active\",\n \"send_email\": 0,\n \"save_card\": 0,\n \"redirect_url\": \"https://newexamaple.com/completed\",\n \"payment_methods\": [\n \"giro\",\n \"card\"\n ],\n \"created_at\": \"2022-09-13T21:32:00\",\n \"updated_at\": \"2022-09-13T21:32:00\",\n \"expires_at\": null,\n \"url\": \"https://securecheckout.sandbox.hit-pay.com/973ee344-6737-4897-9929-edbc9d7bf433/recurring-plan/9741164c-06a1-4dd7-a649-72cca8f9603a\"\n}" } }, "schema": { "type": "object", "properties": { "id": { "type": "string", "examples": [ "9741164c-06a1-4dd7-a649-72cca8f9603a" ] }, "business_recurring_plans_id": { "type": "string", "examples": [ "973ee344-6737-4897-9929-edbc9d7bf433" ] }, "customer_name": { "type": "string", "examples": [ "Paul" ] }, "customer_email": { "type": "string", "examples": [ "paul@newemail.com" ] }, "name": { "type": "string", "examples": [ "Spotify Premium" ] }, "description": { "type": "string", "examples": [ "Spotify Monthly Subscription" ] }, "reference": { "type": "string", "examples": [ "cust_id_123" ] }, "cycle": { "type": "string", "examples": [ "monthly" ] }, "cycle_repeat": {}, "cycle_frequency": {}, "currency": { "type": "string", "examples": [ "sgd" ] }, "amount": { "type": "number", "examples": [ 12.9 ], "default": 0 }, "times_to_be_charged": { "type": "integer", "examples": [ 9 ], "default": 0 }, "times_charged": { "type": "integer", "examples": [ 2 ], "default": 0 }, "status": { "type": "string", "examples": [ "active" ] }, "send_email": { "type": "integer", "examples": [ 0 ], "default": 0 }, "save_card": { "type": "integer", "examples": [ 0 ], "default": 0 }, "redirect_url": { "type": "string", "examples": [ "https://newexamaple.com/completed" ] }, "payment_methods": { "type": "array", "items": { "type": "string", "examples": [ "giro" ] } }, "created_at": { "type": "string", "examples": [ "2022-09-13T21:32:00" ] }, "updated_at": { "type": "string", "examples": [ "2022-09-13T21:32:00" ] }, "expires_at": {}, "url": { "type": "string", "examples": [ "https://securecheckout.sandbox.hit-pay.com/973ee344-6737-4897-9929-edbc9d7bf433/recurring-plan/9741164c-06a1-4dd7-a649-72cca8f9603a" ] } } } } } }, "422": { "description": "422", "content": { "text/plain": { "examples": { "Result": { "value": "{\n \"message\": \"The given data was invalid.\",\n \"errors\": {\n \"save_card\": [\n \"When save_card true, you disallow to set plan_id.\"\n ]\n }\n}" } }, "schema": { "oneOf": [ { "type": "object", "properties": { "message": { "type": "string", "examples": [ "The given data was invalid." ] }, "errors": { "type": "object", "properties": { "cycle_repeat": { "type": "array", "items": { "type": "string", "examples": [ "The cycle repeat field is required when cycle is custom." ] } }, "cycle_frequency": { "type": "array", "items": { "type": "string", "examples": [ "The cycle frequency field is required when cycle is custom." ] } } } } } }, { "type": "object", "properties": { "message": { "type": "string", "examples": [ "The given data was invalid." ] }, "errors": { "type": "object", "properties": { "save_card": { "type": "array", "items": { "type": "string", "examples": [ "When save_card true, you disallow to set plan_id." ] } } } } } } ] } } } } }, "deprecated": false, "security": [], "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request PUT 'https://api.sandbox.hit-pay.com/v1/recurring-billing/{recurring_billing_id}' \\\n--header 'X-BUSINESS-API-KEY: meowmeowmeow' \\\n--header 'X-Requested-With: XMLHttpRequest' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n--data-urlencode 'plan_id=9741164c-06a1-4dd7-a649-72cca8f9603a' \\\n--data-urlencode 'name=Spotify Premium' \\\n--data-urlencode 'description=Spotify Monthly Subscription' \\\n--data-urlencode 'cycle=monthly' \\\n--data-urlencode 'customer_email=paul@newemail.com' \\\n--data-urlencode 'customer_name=Paul' \\\n--data-urlencode 'redirect_url=https://newexamaple.com/completed' \\\n--data-urlencode 'reference=cust_id_123' \\\n--data-urlencode 'amount=12.90' \\\n--data-urlencode 'webhook=http://newwebhoo.site/test ' \\\n--data-urlencode 'send_email=false'" } ], "samples-languages": [ "curl" ] } }, "delete": { "summary": "Delete Recurring Billing", "description": "Use this API to cancel the recurring billing subscription", "operationId": "delete-a-recurring-billing-detail", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "recurring_billing_id", "in": "path", "schema": { "type": "string", "format": "uuid" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"id\": \"9741164c-06a1-4dd7-a649-72cca8f9603a\",\n \"business_recurring_plans_id\": \"973ee344-6737-4897-9929-edbc9d7bf433\",\n \"customer_name\": \"Paul\",\n \"customer_email\": \"paul@hitpayapp.com\",\n \"name\": \"Spotify Premium\",\n \"description\": \"Spotify Monthly Subscription\",\n \"reference\": \"cust_id_123\",\n \"cycle\": \"monthly\",\n \"cycle_repeat\": null,\n \"cycle_frequency\": null,\n \"currency\": \"sgd\",\n \"amount\": 9.90,\n \"times_to_be_charged\": 3,\n \"times_charged\": 0,\n \"status\": \"canceled\",\n \"send_email\": false,\n \"save_card\": 0,\n \"redirect_url\": \"https://github.com/\",\n \"payment_methods\": [\n \"giro\",\n \"card\"\n ],\n \"created_at\": \"2022-09-13T16:33:47\",\n \"updated_at\": \"2022-09-13T16:33:47\",\n \"expires_at\": \"2022-11-11T23:59:59\",\n \"url\": \"https://securecheckout.sandbox.hit-pay.com/973ee344-6737-4897-9929-edbc9d7bf433/recurring-plan/9741164c-06a1-4dd7-a649-72cca8f9603a\"\n}" } }, "schema": { "type": "object", "properties": { "id": { "type": "string", "examples": [ "9741164c-06a1-4dd7-a649-72cca8f9603a" ] }, "business_recurring_plans_id": { "type": "string", "examples": [ "973ee344-6737-4897-9929-edbc9d7bf433" ] }, "customer_name": { "type": "string", "examples": [ "Paul" ] }, "customer_email": { "type": "string", "examples": [ "paul@hitpayapp.com" ] }, "name": { "type": "string", "examples": [ "Spotify Premium" ] }, "description": { "type": "string", "examples": [ "Spotify Monthly Subscription" ] }, "reference": { "type": "string", "examples": [ "cust_id_123" ] }, "cycle": { "type": "string", "examples": [ "monthly" ] }, "cycle_repeat": {}, "cycle_frequency": {}, "currency": { "type": "string", "examples": [ "sgd" ] }, "amount": { "type": "number", "examples": [ 9.9 ], "default": 0 }, "times_to_be_charged": { "type": "integer", "examples": [ 3 ], "default": 0 }, "times_charged": { "type": "integer", "examples": [ 0 ], "default": 0 }, "status": { "type": "string", "examples": [ "canceled" ] }, "send_email": { "type": "boolean", "examples": [ false ], "default": true }, "save_card": { "type": "integer", "examples": [ 0 ], "default": 0 }, "redirect_url": { "type": "string", "examples": [ "https://github.com/" ] }, "payment_methods": { "type": "array", "items": { "type": "string", "examples": [ "giro" ] } }, "created_at": { "type": "string", "examples": [ "2022-09-13T16:33:47" ] }, "updated_at": { "type": "string", "examples": [ "2022-09-13T16:33:47" ] }, "expires_at": { "type": "string", "examples": [ "2022-11-11T23:59:59" ] }, "url": { "type": "string", "examples": [ "https://securecheckout.sandbox.hit-pay.com/973ee344-6737-4897-9929-edbc9d7bf433/recurring-plan/9741164c-06a1-4dd7-a649-72cca8f9603a" ] } } } } } }, "404": { "description": "404", "content": { "text/plain": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\RecurringBilling] 97414c99-01ca-464d-a57b-81851b307e09\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\RecurringBilling] 97414c99-01ca-464d-a57b-81851b307e09" ] } } } } } } }, "deprecated": false, "security": [], "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request DELETE 'https://api.sandbox.hit-pay.com/v1/recurring-billing/{recurring_billing_id}' \\\n--header 'X-BUSINESS-API-KEY: meowmeowmeow' \\\n--header 'X-Requested-With: XMLHttpRequest' \\\n--header 'Content-Type: application/x-www-form-urlencoded'" } ], "samples-languages": [ "curl" ] } } }, "/v1/charge/recurring-billing/{recurring_billing_id}": { "post": { "summary": "Charge the saved card", "description": "Once the card is saved you can charged the card anytime using the charge API", "operationId": "charge-the-saved-card", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "recurring_billing_id", "in": "path", "description": "id value from the create recurring billing API", "schema": { "type": "string", "format": "uuid" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "amount", "currency" ], "properties": { "amount": { "type": "integer", "maximum": 9999999.99, "description": "Amount to charge the card. Minimum value: it depends on the currency", "format": "int32", "example": 100 }, "currency": { "type": "string", "example": "SGD", "description": "The currency" } } } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"payment_id\": \"9746f906-bdbb-4064-8372-642cf5877e0c\",\n \"recurring_billing_id\": \"9746f8c2-2b7c-4c78-8832-012f203ae687\",\n \"amount\": 100,\n \"currency\": \"usd\",\n \"status\": \"succeeded\"\n}" } }, "schema": { "type": "object", "properties": { "payment_id": { "type": "string", "examples": [ "9746f906-bdbb-4064-8372-642cf5877e0c" ] }, "recurring_billing_id": { "type": "string", "examples": [ "9746f8c2-2b7c-4c78-8832-012f203ae687" ] }, "amount": { "type": "integer", "examples": [ 100 ], "default": 0 }, "currency": { "type": "string", "examples": [ "usd" ] }, "status": { "type": "string", "examples": [ "succeeded" ] } } } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\RecurringBilling] 9746f9b2-a2ef-47a2-ac68-358ae3d202fe\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\RecurringBilling] 9746f9b2-a2ef-47a2-ac68-358ae3d202fe" ] } } } } } } }, "deprecated": false, "security": [] } }, "/v1/payment-requests": { "post": { "summary": "Create Payment Request", "description": "This endpoint creates a new payment request. This is the first step of the payment flow, once you have all the details from the user and are ready to collect payment use this API to create a payment request.\nSince this is a server-to-server communication, if you have a mobile or Web client that communicates with your REST API, you must have a new endpoint E.g. /create-order, or reuse an existing endpoint. This endpoint will be responsible for making the payment request API call to HitPay.", "operationId": "create-payment-request", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "amount", "currency" ], "properties": { "amount": { "type": "number", "description": "It's required field. Amount related to the payment. Example: 2500", "format": "double", "example": 100, "minimum": 0.3, "maximum": 999999999.99 }, "currency": { "type": "string", "maxLength": 3, "example": "SGD", "description": "It's required field. Currency related to the payment." }, "payment_methods": { "type": "array", "description": "They're available payment methods supported on your account.(Example: paynow_online , card, wechat, alipay, grabpay_direct, grabpay_paylater, shopee_pay ... etc.). If we don't pass, use the available methods", "items": { "type": "string" }, "example": [ "card" ] }, "email": { "type": "string", "format": "email", "description": "Buyer’s email" }, "name": { "type": "string", "description": "Buyer’s name" }, "phone": { "type": "string", "format": "phone", "description": "Buyer’s phone number" }, "wifi_terminal_id": { "type": "string", "description": "It's terminal id and it's required if payment method is wifi_card_reader" }, "staff_id": { "type": "string", "format": "uuid", "description": "It's active staff id from the dashboard", "example": "98888a24-d6b2-430d-9063-d2be76d443cd" }, "location_id": { "type": "string", "format": "uuid", "example": "9dd07721-d215-4947-9c79-2b8ec25f69db", "description": "The active location belongs to business. Support both `location_id` and `business_location_id` for backward compatibility, but we recommend using `business_location_id` for future use." }, "business_location_id": { "type": "string", "format": "uuid", "example": "9dd07721-d215-4947-9c79-2b8ec25f69db", "description": "The active location belongs to business." }, "purpose": { "type": "string", "description": "Purpose of the Payment request.", "maxLength": 255 }, "reference_number": { "type": "string", "description": "Arbitrary reference number that you can map to your internal reference number. This value cannot be edited by the customer", "maxLength": 255 }, "redirect_url": { "type": "string", "format": "uri", "maxLength": 1028, "example": "https://www.google.com", "description": "URL where we redirect the user after a payment. Query arguments reference (payment request id) and status are sent along" }, "webhook": { "type": "string", "format": "uri", "example": "https://www.google.com", "description": "URL where our server do POST request after a payment If done" }, "allow_repeated_payments": { "type": "string", "description": "If set to true, multiple payments can be paid on a payment request link. Default value is false", "default": "false", "enum": [ "true", "false" ] }, "expiry_date": { "type": "string", "description": "Time after which the payment link will be expired (time in SG with YYYY-MM-DD HH:mm:ss format). Applicable for repeated payments." }, "expires_after": { "type": "string", "description": "E.g \"30 mins\" Other supported keys are \"mins\", \"hours\", \"days\"", "example": "5 minutes" }, "add_admin_fee": { "type": "string", "description": "If set to true, the admin fee will be included in total.", "default": "false", "enum": [ "true", "false" ] }, "send_email": { "type": "string", "description": "It's \"true\" or \"false\". If set to true, an email receipt will be sent to the customer after the payment is completed. Default is false", "default": "false", "enum": [ "true", "false" ] }, "send_sms": { "type": "string", "description": "It's \"true\" or \"false\". If set to \"true\", SMS will be sent to the customer after the payment is completed. Default is false", "default": "true", "enum": [ "true", "false" ] }, "address": { "type": "object", "required": [ "line1", "city", "state", "country", "postal_code" ], "properties": { "line1": { "type": "string" }, "line2": { "type": "string" }, "city": { "type": "string" }, "country": { "type": "string" }, "state": { "type": "string" }, "postal_code": { "type": "string" } } }, "generate_qr": { "type": "boolean", "default": false, "description": "Only valid for paynow_online, qrph_netbank, doku_qris and shopee_pay if generate_qr was true" }, "metadata": { "type": "object", "properties": { "key": { "type": "string" } }, "description": "Support the key-value. The value must be string type, and the max length of the value is 500 characters, up to 50 key-value. Example: {\"car_model\": \"toyota\", \"car_color\": \"red\"}" } } } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9ef68e2e-3569-4f69-9f68-04c7e4bb007c", "name": "Harvey Friesen", "email": "test@gmail.com", "phone": "+65489505050", "amount": "10.00", "currency": "sgd", "is_currency_editable": false, "status": "pending", "purpose": "Purpose_1747817845", "reference_number": "1747817845", "payment_methods": [ "card" ], "url": "https://securecheckout.sandbox.hit-pay.com/payment-request/@qasg/9ef68e2e-3569-4f69-9f68-04c7e4bb007c/checkout", "redirect_url": "https://google.com", "webhook": "https://webhook.site/8cbdef58-cd15-441a-986d-9446235223ea", "send_sms": true, "send_email": true, "sms_status": "pending", "email_status": "pending", "allow_repeated_payments": false, "expiry_date": "2025-05-26T15:10:00", "address": { "line1": "177 River Valley Road", "line2": "177 River Valley Road", "city": "Singapore", "state": "Central", "country": "SG", "postal_code": "10015" }, "line_items": null, "executor_id": 1363, "created_at": "2025-05-21T16:57:25", "updated_at": "2025-05-21T16:57:25", "staff_id": "98888a69-2d7a-4695-811d-6df8cee30264", "business_location_id": "9e42e6be-2ff8-4b37-ac14-07970d2e79ca", "metadata": { "key1": "value1", "key2": "value2" } } } }, "schema": { "type": "object", "properties": { "id": { "type": "string", "example": "974ee233-bc3e-4aac-a212-15af0d155133" }, "name": { "type": "string", "example": "Buyer_Name_1663650582" }, "email": { "type": "string", "example": "buyer_1663650582@gmail.com" }, "phone": { "type": "string", "examples": [ "+6539393939" ] }, "amount": { "type": "string", "examples": "900" }, "currency": { "type": "string", "example": "SGD" }, "status": { "type": "string", "enum": [ "pending", "completed", "failed", "expired", "canceled", "inactive" ], "example": "pending" }, "purpose": { "type": "string", "examples": [ "Testing" ] }, "reference_number": { "type": "string", "example": "12345678" }, "payment_methods": { "type": "array", "items": { "type": "string" }, "examples": [ "card" ] }, "url": { "type": "string", "example": "https://securecheckout.sandbox.hit-pay.com/payment-request/@ban/974ee233-bc3e-4aac-a212-15af0d155133/checkout" }, "redirect_url": { "type": "string", "example": "https://hit-pay.postman.co/" }, "webhook": { "type": "string", "example": "https://hit-pay.postman.co/" }, "send_sms": { "type": "boolean" }, "send_email": { "type": "boolean", "example": true, "default": true }, "sms_status": { "type": "string", "example": "pending" }, "email_status": { "type": "string", "example": "pending" }, "allow_repeated_payments": { "type": "boolean", "example": false, "default": false }, "expiry_date": { "type": "string", "example": "2022-10-10T01:01:01" }, "created_at": { "type": "string", "example": "2022-09-20T13:09:42" }, "updated_at": { "type": "string", "example": "2022-09-20T13:09:42" }, "staff_id": { "type": [ "string", "null" ], "example": "98888a69-2d7a-4695-811d-6df8cee30264" }, "business_location_id": { "type": [ "string", "null" ], "example": "9dd07721-d215-4947-9c79-2b8ec25f69db" }, "metadata": { "type": "object", "properties": { "key": { "type": "string" } }, "example": { "key1": "value1", "key2": "value2 " } } } } } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": { "message": "The currency field is required.", "errors": { "currency": [ "The currency field is required." ] } } } }, "schema": { "oneOf": [ { "type": "object", "properties": { "message": { "type": "string", "examples": [ "The given data was invalid." ] }, "errors": { "type": "object", "properties": { "amount": { "type": "array", "items": { "type": "string", "examples": [ "The amount field is required." ] } }, "currency": { "type": "array", "items": { "type": "string", "examples": [ "The currency field is required." ] } } } } } }, { "type": "object", "properties": { "message": { "type": "string", "examples": [ "The given data was invalid." ] }, "errors": { "type": "object", "properties": { "amount": { "type": "array", "items": { "type": "string", "examples": [ "The amount must be between 0.3 and 999999999.99." ] } } } } } }, { "type": "object", "properties": { "message": { "type": "string", "examples": [ "The given data was invalid." ] }, "errors": { "type": "object", "properties": { "payment_methods": { "type": "array", "items": { "type": "string", "examples": [ "The selected payment methods is invalid." ] } } } } } } ] } } } } }, "deprecated": false, "security": [] }, "get": { "summary": "Get Payment Requests", "description": "Get all payment requests.", "operationId": "get-payment-requests", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "per_page", "in": "query", "description": "Page size", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100 } }, { "name": "current_page", "in": "query", "description": "Page number (not `page`)", "schema": { "type": "integer", "format": "int32", "default": 1 } }, { "name": "search", "in": "query", "description": "Partial match on email, id, or reference_number", "schema": { "type": "string", "maxLength": 255 } }, { "name": "is_default", "in": "query", "description": "When set, returns only default payment links (channel = custom or link)", "schema": { "type": "boolean" } }, { "name": "metadata", "in": "query", "description": "Filter by metadata key/value (exact match); only the first key/value pair is used", "schema": { "oneOf": [ { "type": "object", "additionalProperties": { "type": "string" } }, { "type": "array", "items": { "type": "string" } } ] } } ], "responses": { "200": { "description": "200", "content": {} } }, "deprecated": false, "security": [] } }, "/v1/payment-requests/{request_id}": { "put": { "summary": "Update Payment Request", "description": "This endpoint is to update the payment request.", "operationId": "update-payment-request", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "request_id", "in": "path", "description": "It's payment request id", "schema": { "type": "string", "format:": "uuid" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "amount", "currency" ], "properties": { "amount": { "type": "number", "description": "It's required field. Amount related to the payment.", "format": "double", "example": 100, "minimum": 0.3, "maximum": 999999999.99 }, "currency": { "type": "string", "maxLength": 3, "example": "SGD", "description": "Currency related to the payment." }, "payment_methods": { "type": "array", "description": "Payment method type (paynow_online , card, wechat, alipay, grabpay_direct, grabpay_paylater, shopee_pay, zip, fpx). If we don't pass, use the available methods", "items": { "type": "string" } }, "email": { "type": "string", "format": "email", "description": "Buyer’s email" }, "name": { "type": "string", "description": "Buyer’s name" }, "phone": { "type": "string", "format": "phone", "description": "Buyer’s phone number" }, "wifi_terminal_id": { "type": "string", "description": "It's terminal id and it's required if payment method is wifi_card_reader" }, "staff_id": { "type": "string", "format": "uuid", "example": "98888a24-d6b2-430d-9063-d2be76d443cd", "description": "It's active staff id from the dashboard" }, "purpose": { "type": "string", "description": "Purpose of the Payment request.", "maxLength": 255 }, "reference_number": { "type": "string", "description": "Arbitrary reference number that you can map to your internal reference number. This value cannot be edited by the customer", "maxLength": 255 }, "redirect_url": { "type": "string", "format": "uri", "maxLength": 1028, "example": "https://www.google.com", "description": "URL where we redirect the user after a payment. Query arguments reference (payment request id) and status are sent along" }, "webhook": { "type": "string", "format": "uri", "example": "https://www.google.com", "description": "URL where our server do POST request after a payment If done" }, "allow_repeated_payments": { "type": "string", "description": "If set to true, multiple payments can be paid on a payment request link. Default value is false", "default": "false", "enum": [ "true", "false" ] }, "expiry_date": { "type": "string", "description": "Time after which the payment link will be expired(time in SG with YYYY-MM-DD HH:mm:ss format). Applicable for repeated payments. Default is Null" }, "expires_after": { "type": "string", "description": "E.g \"30 mins\" Other supported keys are \"mins\", \"hours\", \"days\"", "example": "5 minutes" }, "add_admin_fee": { "type": "string", "description": "If set to true, the admin fee will be included in total.", "default": "false", "enum": [ "true", "false" ] }, "send_email": { "type": "string", "description": "It's \"true\" or \"false\". If set to true, an email receipt will be sent to the customer after the payment is completed. Default is false", "default": "false", "enum": [ "true", "false" ] }, "send_sms": { "type": "string", "description": "It's \"true\" or \"false\". If set to \"true\", SMS will be sent to the customer after the payment is completed. Default is false", "default": "true", "enum": [ "true", "false" ] }, "address": { "type": "object", "required": [ "line1", "city", "state", "country", "postal_code" ], "properties": { "line1": { "type": "string" }, "line2": { "type": "string" }, "city": { "type": "string" }, "country": { "type": "string" }, "state": { "type": "string" }, "postal_code": { "type": "string" } } }, "generate_qr": { "type": "boolean", "default": false, "description": "Only valid for payment methods: paynow_online, qrph_netbank, doku_qris and shopee_pay if generate_qr was true" } } } } } }, "responses": { "200": { "description": "200", "content": {} } }, "deprecated": false, "security": [] }, "delete": { "summary": "Delete Payment Request", "description": "This endpoint is to delete a specific payment request.\n\n**Note: We don't allow to delete the completed payment request.**", "operationId": "delete-payment-request", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "request_id", "in": "path", "description": "It's payment request id", "schema": { "type": "string", "format:": "uuid" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"success\": true\n}" } }, "schema": { "type": "object", "properties": { "success": { "type": "boolean", "examples": [ true ], "default": true } } } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\PaymentRequest] 974ee879-7feb-4bc6-b329-51f32928bd59\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\PaymentRequest] 974ee879-7feb-4bc6-b329-51f32928bd59" ] } } } } } } }, "deprecated": false, "security": [] }, "get": { "summary": "Get Payment Request Status", "description": "This endpoint is to get the status of a specific payment request.", "operationId": "get-payment-status", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "request_id", "in": "path", "description": "It's required field", "schema": { "type": "string", "format": "uuid" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9ef68e2e-3569-4f69-9f68-04c7e4bb007c", "name": "Harvey Friesen", "email": "test@gmail.com", "phone": "+65489505050", "amount": "10.00", "currency": "sgd", "is_currency_editable": false, "status": "pending", "purpose": "Purpose_1747817845", "reference_number": "1747817845", "payment_methods": [ "card" ], "url": "https://securecheckout.sandbox.hit-pay.com/payment-request/@qasg/9ef68e2e-3569-4f69-9f68-04c7e4bb007c/checkout", "redirect_url": "https://google.com", "webhook": "https://webhook.site/8cbdef58-cd15-441a-986d-9446235223ea", "send_sms": true, "send_email": true, "sms_status": "pending", "email_status": "pending", "allow_repeated_payments": false, "expiry_date": "2025-05-26T15:10:00", "address": { "city": "Singapore", "line1": "177 River Valley Road", "line2": "177 River Valley Road", "state": "Central", "country": "SG", "postal_code": "10015" }, "line_items": null, "executor_id": "1363", "created_at": "2025-05-21T16:57:25", "updated_at": "2025-05-21T16:57:25", "staff_id": "98888a69-2d7a-4695-811d-6df8cee30264", "business_location_id": "9e42e6be-2ff8-4b37-ac14-07970d2e79ca", "location": { "id": "9e42e6be-2ff8-4b37-ac14-07970d2e79ca", "name": "API_Location_1740101762910", "street": "58 Izpod Parkway", "postal_code": "079903", "city": "Singapore", "state": "Singapore", "country": "sg", "created_at": "2025-02-21T01:36:02.000000Z", "updated_at": "2025-02-21T01:36:02.000000Z", "active": true, "business_id": "98567029-f559-49f9-916b-042a4255b32a", "pickups": [] } } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "amount": { "type": "string" }, "currency": { "type": "string" }, "status": { "type": "string", "enum": [ "pending", "completed", "failed", "expired", "canceled", "inactive" ], "description": "The status of the payment request. The value can be pending, completed, failed, expired, canceled or inactive.\n`pending`: Default when a payment request is created: open for payment.\n`failed`: Payment did not complete successfully.\n`completed`: Payment succeeded, the request is treated as paid.(unless allow_repeated_payments applies).\n`expired`: No longer payable because time ran out when either expiry_date or expires_after is set..\n`canceled`: Manually or systematically voided (e.g. terminal flow canceling a pending request).\n`inactive`: Payment link deactivated by the merchant." }, "purpose": { "type": "string" }, "reference_number": { "type": "string" }, "payment_methods": { "type": "array", "items": { "type": "string" } }, "url": { "type": "string" }, "redirect_url": { "type": "string" }, "webhook": { "type": "string" }, "send_sms": { "type": "boolean" }, "send_email": { "type": "boolean" }, "sms_status": { "type": "string" }, "email_status": { "type": "string" }, "allow_repeated_payments": { "type": "boolean" }, "expiry_date": { "type": "string" }, "address": { "type": "object", "properties": { "city": { "type": "string" }, "line1": { "type": "string" }, "line2": { "type": "string" }, "state": { "type": "string" }, "country": { "type": "string" }, "postal_code": { "type": "string" } }, "required": [ "city", "line1", "line2", "state", "country", "postal_code" ] }, "line_items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "sku": { "type": "string" }, "url": { "type": "string" }, "name": { "type": "string" }, "price": { "type": "number" }, "category": { "type": "string" }, "quantity": { "type": "number" }, "description": { "type": "string" } }, "required": [ "id", "sku", "url", "name", "price", "category", "quantity", "description" ] } }, "created_at": { "type": "string" }, "updated_at": { "type": "string" }, "payments": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "quantity": { "type": "number" }, "status": { "type": "string", "enum": [ "pending", "requires_payment_method", "requires_customer_action", "succeeded_manually", "failed", "canceled", "void", "succeeded", "refunded", "partially_refunded" ] }, "buyer_name": { "type": "string" }, "buyer_phone": { "type": "string" }, "buyer_email": { "type": "string" }, "currency": { "type": "string" }, "amount": { "type": "string" }, "refunded_amount": { "type": "string" }, "payment_type": { "type": "string" }, "fees": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } } } } } } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": { "message": "No query results for model [App\\Business\\PaymentRequest] 9ef68e2e-3569-4f69-9f68-04c7e4bb007c1" } } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\PaymentRequest] 974ee879-7feb-4bc6-b329-51f32928bd59" ] } } } } } } }, "deprecated": false, "security": [] } }, "/v1/charges/export": { "get": { "summary": "Export Charges", "description": "Export charges", "operationId": "export-charges", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "perPage", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 25 } }, { "name": "version", "in": "query", "description": "The order version.", "schema": { "type": "string", "default": "1.0" } }, { "name": "keywords", "in": "query", "description": "Search for fields: amount ,created_at ,id remark, customer_name", "schema": { "type": "string" } }, { "name": "before", "in": "query", "description": "It's optional field and it's charge_id", "schema": { "type": "string" } }, { "name": "after", "in": "query", "description": "It's optional field and it's charge_id", "schema": { "type": "string" } }, { "name": "payment_method", "in": "query", "description": "The payment methods: card, alipay, paypal_card.. etc.", "schema": { "type": "string" } }, { "name": "statuses[]", "in": "query", "description": "The statuses are in \"completed\" , \"pending\", \"sent\", \"draft\", \"expired\"", "schema": { "type": "string" } }, { "name": "dateFrom", "in": "query", "description": "The from of created order", "schema": { "type": "string" } }, { "name": "dateTo", "in": "query", "description": "The To of created order", "schema": { "type": "string" } }, { "name": "with", "in": "query", "description": "If you want to display more charge and products objects. Example: charges,products", "schema": { "type": "string" } } ], "responses": { "200": { "description": "200", "content": {} } }, "deprecated": false } }, "/v1/charges": { "get": { "summary": "Get All Charges", "description": "Get all charges", "operationId": "get-all-charges", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "per_page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 25 } }, { "name": "cursor", "in": "query", "schema": { "type": "string", "description": "The cursor parameter accepts a next_cursor value obtained from the previous response's meta object (meta.next_cursor). Use this parameter to fetch the next page of results when implementing pagination." } }, { "name": "keywords", "in": "query", "description": "Search for fields: amount ,charge_id ,customer_email, remark", "schema": { "type": "string" } }, { "name": "status", "in": "query", "description": "It's charge status", "schema": { "type": "string", "enum": [ "succeeded", "failed", "refunded" ] } }, { "name": "location_ids", "in": "query", "description": "The location ids", "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, { "name": "user_ids", "in": "query", "description": "The user's id, support both uuid and number id", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "statuses", "in": "query", "description": "It's charge status.", "schema": { "type": "array", "items": { "type": "string", "enum": [ "success", "succeeded_manually", "pending", "failed", "refunded", "cancelled", "partially_refunded", "void" ] } } }, { "name": "date_from", "in": "query", "description": "The from of created order", "schema": { "type": "string", "example": "2024-10-05" } }, { "name": "date_to", "in": "query", "description": "The to of created order", "schema": { "type": "string", "example": "2024-10-05" } }, { "name": "amount_from", "in": "query", "description": "The from of amount", "schema": { "type": "number", "example": 100 } }, { "name": "amount_to", "in": "query", "description": "The to of amount", "schema": { "type": "number", "example": 200 } }, { "name": "payment_request_id", "in": "query", "description": "The payment request id", "schema": { "type": "string", "format": "uuid" } }, { "name": "customer_id", "in": "query", "description": "The customer id", "schema": { "type": "string", "format": "uuid" } }, { "name": "payout_id", "in": "query", "description": "The payout id", "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Successful payment", "content": { "application/json": { "examples": { "Result": { "value": { "data": [ { "id": "9ced76ac-1638-44df-b702-3f43f6592e2a", "currency": "sgd", "home_currency": "sgd", "exchange_rate": "1.00000", "amount": 70.56, "fixed_fee": 0.6, "discount_fee": 2.57, "discount_fee_rate": 3.65, "remark": "Order #9ced76aa-580f-4664-866d-a0d6df1cfc57", "status": "succeeded", "payment_method": { "name": "card", "display_logo": { "sm": "https://api.hitpayapp.test/icons/methods/sm/visa.png", "md": "https://api.hitpayapp.test/icons/methods/md/visa.png", "lg": "https://api.hitpayapp.test/icons/methods/lg/visa.png", "svg": "https://api.hitpayapp.test/icons/methods/svg/visa.svg", "svg_square": "https://api.hitpayapp.test/icons/methods/svg_square/visa.svg", "png_square": "https://api.hitpayapp.test/icons/methods/png_square/visa.png" }, "method_logo": { "sm": "https://api.hitpayapp.test/icons/methods/sm/card.png", "md": "https://api.hitpayapp.test/icons/methods/md/card.png", "lg": "https://api.hitpayapp.test/icons/methods/lg/card.png", "svg": "https://api.hitpayapp.test/icons/methods/svg/card.svg", "svg_square": "https://api.hitpayapp.test/icons/methods/svg_square/card.svg", "png_square": "https://api.hitpayapp.test/icons/methods/png_square/card.png" }, "data": { "brand": "Visa", "last4": "4242", "country_code": "US", "country": "United States of America" } }, "customer_id": "9ce1111d-e6c9-4511-95f9-6277d06299c1", "customer": { "name": "Ari", "email": "hiaribahtiar@gmail.com", "phone_number": "6285787995896" }, "payment_request_id": "9ced76aa-ea65-46a1-a13a-16e9ae39620f", "webhook_status": false, "order_reference_number": "1007", "executor": null, "location": { "id": "96e21521-3c8a-4c21-b76d-558d2cb8b846", "name": "location 1", "address": "jl ampera, west java, sg, 14023" }, "channel": "api_store", "admin_fee": false, "closed_at": "2024-09-04T16:05:37+08:00", "created_at": "2024-09-04T16:05:21+08:00", "updated_at": "2024-09-04T16:35:40+08:00" } ], "links": { "first": null, "last": null, "prev": null, "next": "https://api.sandbox.hit-pay.com/v1/charges?apiKey%5Bincrementing%5D=1&apiKey%5BpreventsLazyLoading%5D=0&apiKey%5Bexists%5D=1&apiKey%5BwasRecentlyCreated%5D=0&apiKey%5Btimestamps%5D=1&apiKey%5BusesUniqueIds%5D=0&statuses%5B0%5D=succeeded&statuses%5B1%5D=succeeded_manually&statuses%5B2%5D=refunded&statuses%5B3%5D=void&cursor=eyJidXNpbmVzc19jaGFyZ2VzLmlkIjoiOWQyZjJiYTYtZWQ2Yi00NGVjLWFmMGQtODg2NDk3YTEyMDJlIiwiX3BvaW50c1RvTmV4dEl0ZW1zIjp0cnVlfQ" }, "meta": { "path": "https://api.sandbox.hit-pay.com/v1/charges", "per_page": 25, "next_cursor": "eyJidXNpbmVzc19jaGFyZ2VzLmlkIjoiOWQyZjJiYTYtZWQ2Yi00NGVjLWFmMGQtODg2NDk3YTEyMDJlIiwiX3BvaW50c1RvTmV4dEl0ZW1zIjp0cnVlfQ", "prev_cursor": null } } } }, "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "currency": { "type": "string" }, "home_currency": { "type": "string" }, "exchange_rate": { "type": [ "string", "null" ] }, "amount": { "type": "number" }, "fixed_fee": { "type": "number" }, "discount_fee": { "type": "number" }, "discount_fee_rate": { "type": "number" }, "remark": {}, "status": { "type": "string" }, "payment_method": { "type": "object", "properties": { "name": { "type": "string" }, "display_logo": { "type": "object", "properties": { "sm": { "type": "string" }, "md": { "type": "string" }, "lg": { "type": "string" }, "svg": { "type": "string" }, "svg_square": { "type": "string" }, "png_square": { "type": "string" }, "method": { "type": "string" }, "iconName": { "type": "string" }, "displayName": { "type": "string" } }, "required": [ "sm", "md", "lg", "svg", "svg_square", "png_square", "method", "iconName", "displayName" ] }, "method_logo": { "type": "object", "properties": { "sm": { "type": "string" }, "md": { "type": "string" }, "lg": { "type": "string" }, "svg": { "type": "string" }, "svg_square": { "type": "string" }, "png_square": { "type": "string" }, "method": { "type": "string" }, "iconName": { "type": "string" }, "displayName": { "type": "string" } }, "required": [ "sm", "md", "lg", "svg", "svg_square", "png_square", "method", "iconName", "displayName" ] }, "data": { "type": "object", "properties": { "brand": { "type": "string" }, "last4": { "type": "string" }, "country_code": { "type": "string" }, "country": { "type": "string" } }, "required": [ "brand", "last4", "country_code", "country" ] } }, "required": [ "name", "display_logo", "method_logo", "data" ] }, "customer_id": { "type": "string", "nullable": true }, "customer": { "type": "object", "nullable": true, "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "phone_number": {} }, "required": [ "name", "email", "phone_number" ] }, "payment_request_id": {}, "webhook_status": { "type": "boolean" }, "order_reference_number": { "type": "string" }, "executor": { "type": [ "object", "null" ], "properties": { "id": { "type": "string" }, "display_name": { "type": "string" }, "email": { "type": "string" } }, "required": [ "id", "display_name", "email" ] }, "location": { "type": [ "object", "null" ], "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "address": { "type": "string" } }, "required": [ "id", "name", "address" ] }, "channel": { "type": "string" }, "admin_fee": { "type": "boolean" }, "closed_at": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "currency", "home_currency", "exchange_rate", "amount", "fixed_fee", "discount_fee", "discount_fee_rate", "remark", "status", "payment_method", "customer_id", "customer", "payment_request_id", "webhook_status", "order_reference_number", "executor", "location", "channel", "admin_fee", "closed_at", "created_at", "updated_at" ] } }, "links": { "type": "object", "properties": { "first": {}, "last": {}, "prev": {}, "next": { "type": "string" } }, "required": [ "first", "last", "prev", "next" ] }, "meta": { "type": "object", "properties": { "path": { "type": "string" }, "per_page": { "type": "number" }, "next_cursor": { "type": "string" }, "prev_cursor": {} }, "required": [ "path", "per_page", "next_cursor", "prev_cursor" ] } }, "required": [ "data", "links", "meta" ] } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "lang": "shell", "source": "curl -X GET \"https://api.sandbox.hit-pay.com/v1/charges\" -H \"X-BUSINESS-API-KEY: b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d\"" } ], "samples-languages": [ "curl" ] } } }, "/v1/charges/{charge_id}": { "get": { "summary": "Get Charge Details", "description": "Get charge details", "operationId": "get-charge", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "charge_id", "in": "path", "description": "The charge id", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful payment", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9cecc92d-9d93-49d6-bd3f-2bb74dcbb283", "currency": "sgd", "home_currency": "sgd", "exchange_rate": null, "amount": 100, "amount_without_fees": 95.85, "refunded_amount": 0, "fixed_fee": 0.5, "discount_fee": 3.65, "discount_fee_rate": 3.65, "remark": "NEWUI from 2024-08-31 To 2024-08-31", "status": "succeeded", "payment_method": { "code": "stripe_sg", "display_logo": { "sm": "https://api.sandbox.hit-pay.com/icons/methods/sm/visa.png", "md": "https://api.sandbox.hit-pay.com/icons/methods/md/visa.png", "lg": "https://api.sandbox.hit-pay.com/icons/methods/lg/visa.png", "svg": "https://api.sandbox.hit-pay.com/icons/methods/svg/visa.svg", "svg_square": "https://api.sandbox.hit-pay.com/icons/methods/svg_square/visa.svg", "png_square": "https://api.sandbox.hit-pay.com/icons/methods/png_square/visa.png", "method": "visa", "iconName": "visa", "displayName": "Visa" }, "provider_reference": "ch_3Pv6duAMHowMCIhZ2P9NCA6j", "type": "charge", "name": "card", "method_logo": { "sm": "https://api.sandbox.hit-pay.com/icons/methods/sm/card.png", "md": "https://api.sandbox.hit-pay.com/icons/methods/md/card.png", "lg": "https://api.sandbox.hit-pay.com/icons/methods/lg/card.png", "svg": "https://api.sandbox.hit-pay.com/icons/methods/svg/card.svg", "svg_square": "https://api.sandbox.hit-pay.com/icons/methods/svg_square/card.svg", "png_square": "https://api.sandbox.hit-pay.com/icons/methods/png_square/card.png", "method": "card", "iconName": "card", "displayName": "Cards" }, "data": { "brand": "Visa", "last4": "4242", "country_code": "US", "country": "United States of America" } }, "customer_id": "9a659602-eafd-4731-972d-424aef24fb2f", "customer": { "name": "KimC", "email": "cherykim@yopmail.com", "phone_number": "993348342" }, "payment_request_id": null, "webhook_status": false, "order_reference_number": null, "target_id": "9c0fd92e-1cc8-478f-8b2e-71ee8a218ec5", "target_type": "business_recurring_plan", "executor": null, "location": null, "channel": "api_recurring_dashboard", "admin_fee": false, "refunds": [], "webhook_logs": [], "terminal_id": null, "closed_at": "2024-09-04T08:00:16+08:00", "created_at": "2024-09-04T08:00:17+08:00", "updated_at": "2024-09-04T08:01:19+08:00" } } }, "schema": { "type": "object", "properties": { "id": { "type": "string", "example": "9cecc92d-9d93-49d6-bd3f-2bb74dcbb283" }, "currency": { "type": "string", "example": "sgd" }, "home_currency": { "type": "string", "example": "sgd" }, "exchange_rate": { "type": "string", "nullable": true, "example": null }, "amount": { "type": "number", "example": 100 }, "amount_without_fees": { "type": "number", "example": 95.85 }, "refunded_amount": { "type": "number", "example": 0 }, "fixed_fee": { "type": "number", "example": 0.5 }, "discount_fee": { "type": "number", "example": 3.65 }, "discount_fee_rate": { "type": "number", "example": 3.65 }, "remark": { "type": "string", "example": "NEWUI from 2024-08-31 To 2024-08-31" }, "status": { "type": "string", "example": "succeeded" }, "payment_method": { "type": "object", "properties": { "code": { "type": "string", "example": "stripe_sg" }, "display_logo": { "type": "object", "properties": { "sm": { "type": "string", "example": "https://api.sandbox.hit-pay.com/icons/methods/sm/visa.png" }, "md": { "type": "string", "example": "https://api.sandbox.hit-pay.com/icons/methods/md/visa.png" }, "lg": { "type": "string", "example": "https://api.sandbox.hit-pay.com/icons/methods/lg/visa.png" }, "svg": { "type": "string", "example": "https://api.sandbox.hit-pay.com/icons/methods/svg/visa.svg" }, "svg_square": { "type": "string", "example": "https://api.sandbox.hit-pay.com/icons/methods/svg_square/visa.svg" }, "png_square": { "type": "string", "example": "https://api.sandbox.hit-pay.com/icons/methods/png_square/visa.png" }, "method": { "type": "string", "example": "visa" }, "iconName": { "type": "string", "example": "visa" }, "displayName": { "type": "string", "example": "Visa" } } }, "provider_reference": { "type": "string", "example": "ch_3Pv6duAMHowMCIhZ2P9NCA6j" }, "type": { "type": "string", "example": "charge" }, "name": { "type": "string", "example": "card" }, "method_logo": { "type": "object", "properties": { "sm": { "type": "string", "example": "https://api.sandbox.hit-pay.com/icons/methods/sm/card.png" }, "md": { "type": "string", "example": "https://api.sandbox.hit-pay.com/icons/methods/md/card.png" }, "lg": { "type": "string", "example": "https://api.sandbox.hit-pay.com/icons/methods/lg/card.png" }, "svg": { "type": "string", "example": "https://api.sandbox.hit-pay.com/icons/methods/svg/card.svg" }, "svg_square": { "type": "string", "example": "https://api.sandbox.hit-pay.com/icons/methods/svg_square/card.svg" }, "png_square": { "type": "string", "example": "https://api.sandbox.hit-pay.com/icons/methods/png_square/card.png" }, "method": { "type": "string", "example": "card" }, "iconName": { "type": "string", "example": "card" }, "displayName": { "type": "string", "example": "Cards" } } }, "data": { "type": "object", "properties": { "brand": { "type": "string", "example": "Visa" }, "last4": { "type": "string", "example": "4242" }, "country_code": { "type": "string", "example": "US" }, "country": { "type": "string", "example": "United States of America" } } } } }, "customer_id": { "type": "string", "example": "9a659602-eafd-4731-972d-424aef24fb2f" }, "customer": { "type": "object", "properties": { "name": { "type": "string", "example": "KimC" }, "email": { "type": "string", "example": "cherykim@yopmail.com" }, "phone_number": { "type": "string", "example": "993348342" } } }, "payment_request_id": { "type": "string", "nullable": true, "example": null }, "webhook_status": { "type": "boolean", "example": false }, "order_reference_number": { "type": "string", "nullable": true, "example": null }, "target_id": { "type": "string", "example": "9c0fd92e-1cc8-478f-8b2e-71ee8a218ec5" }, "target_type": { "type": "string", "example": "business_recurring_plan" }, "executor": { "type": "string", "nullable": true, "example": null }, "location": { "type": "object", "nullable": true, "properties": { "id": { "type": "string", "example": null }, "name": { "type": "string", "example": null }, "address": { "type": "string", "example": null } } }, "channel": { "type": "string", "example": "api_recurring_dashboard" }, "admin_fee": { "type": "boolean", "example": false }, "refunds": { "type": "array", "items": { "type": "object" }, "example": [] }, "webhook_logs": { "type": "array", "items": { "type": "object" }, "example": [] }, "terminal_id": { "type": "string", "nullable": true, "example": null }, "closed_at": { "type": "string", "example": "2024-09-04T08:00:16+08:00" }, "created_at": { "type": "string", "example": "2024-09-04T08:00:17+08:00" }, "updated_at": { "type": "string", "example": "2024-09-04T08:01:19+08:00" } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "lang": "shell", "source": "curl -X GET \"https://api.sandbox.hit-pay.com/v1/charges/{charge_id}\" -H \"X-BUSINESS-API-KEY: b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d\"" } ], "samples-languages": [ "curl" ] } } }, "/v1/charges/{charge_id}/receipt/print": { "post": { "summary": "Print Receipt", "description": "Print out charge and refund receipts. Applicable for Singapore merchants who use an All-in-One Terminal only.", "operationId": "print-charge-receipt", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "charge_id", "in": "path", "description": "The charge_id belongs to the business.", "schema": { "type": "string" }, "required": true, "example": "9f12c35b-ae2a-4a6f-8853-6f1f00830bd7" } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "terminal_id" ], "properties": { "terminal_id": { "type": "string", "description": "The terminal id belongs to the business.", "example": "S1F2-000158240536593" } } } } } }, "responses": { "204": { "description": "204", "content": { "application/json": { "examples": { "Result": { "value": 1 } }, "schema": {} } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": { "message": "The given data was invalid. Terminal not found", "errors": { "terminal_id": [ "Terminal not found" ] } } } }, "schema": {} } } } }, "deprecated": false } }, "/v1/orders": { "get": { "summary": "Get Orders", "description": "Get and filter the orders", "operationId": "get-all-orders", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "perPage", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 25, "maximum": 100 } }, { "name": "version", "in": "query", "description": "Order version: 1.0 or 2.0. Return all orders as default", "schema": { "type": "string", "enum": [ "1.0", "2.0" ] } }, { "name": "keywords", "in": "query", "description": "Search for fields: amount ,created_at ,order id, remark, customer_name", "schema": { "type": "string" } }, { "name": "statuses[]", "in": "query", "description": "The available status: completed, sent, draft, expired, canceled", "schema": { "type": "string", "enum": [ "completed", "sent", "draft", "expired", "canceled" ] } }, { "name": "dateFrom", "in": "query", "description": "Example: 2023-04-18", "schema": { "type": "string" } }, { "name": "dateTo", "in": "query", "description": "Example: 2023-04-18", "schema": { "type": "string" } }, { "name": "with", "in": "query", "description": "If we want to show the product or charge detail=> add the value: products or charges. For both: products,charges", "schema": { "type": "string" } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9b4bc2a2-4721-4636-a6dc-4effec3b00fc", "order_display_number": 5660, "business_id": "9130c422-bf97-4bd1-b370-07a3a6f40708", "channel": "point_of_sale", "version": "1.0", "customer_id": null, "business_customer_id": null, "customer": null, "customer_pickup": true, "currency": "sgd", "order_discount_name": null, "status": "draft", "remark": "Razaq is a fool", "created_at": "2024-02-10T00:41:42+08:00", "updated_at": "2024-02-10T00:41:42+08:00", "closed_at": null, "location_id": null, "location": null, "business_user_id": "34", "slot_date": null, "slot_time": null, "messages": null, "products": [], "charges": [], "line_items": [], "order_form": { "membership_id": { "type": "input", "title": "Membership ID", "deleted": false, "include": true, "required": true } }, "order_form_response": [], "coupon": null, "payment_status": null, "fulfilment_status": "", "line_items_total": 0, "order_discount_amount": 0, "line_item_discount_amount": 0, "line_item_tax_amount": 0, "additional_discount_amount": 0, "total_discount_amount": 0, "line_item_price": 0, "shipping_amount": 0, "total_coupon_amount": 0, "amount": 0, "subtotal": 0 } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "order_display_number": { "type": "integer" }, "business_id": { "type": "string" }, "channel": { "type": "string" }, "version": { "type": "string" }, "customer_id": { "type": "null" }, "business_customer_id": { "type": "null" }, "customer": { "type": "null" }, "customer_pickup": { "type": "boolean" }, "currency": { "type": "string" }, "order_discount_name": { "type": "null" }, "status": { "type": "string" }, "remark": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" }, "closed_at": { "type": "null" }, "location_id": { "type": "null" }, "location": { "type": "null" }, "business_user_id": { "type": "string" }, "slot_date": { "type": "null" }, "slot_time": { "type": "null" }, "messages": { "type": "null" }, "products": { "type": "array", "items": {} }, "charges": { "type": "array", "items": {} }, "line_items": { "type": "array", "items": {} }, "order_form": { "type": "object", "properties": { "membership_id": { "type": "object", "properties": { "type": { "type": "string" }, "title": { "type": "string" }, "deleted": { "type": "boolean" }, "include": { "type": "boolean" }, "required": { "type": "boolean" } }, "required": [ "type", "title", "deleted", "include", "required" ] } }, "required": [ "membership_id" ] }, "order_form_response": { "type": "array", "items": {} }, "coupon": { "type": "null" }, "payment_status": { "type": "null" }, "fulfilment_status": { "type": "string" }, "line_items_total": { "type": "integer" }, "order_discount_amount": { "type": "integer" }, "line_item_discount_amount": { "type": "integer" }, "line_item_tax_amount": { "type": "integer" }, "additional_discount_amount": { "type": "integer" }, "total_discount_amount": { "type": "integer" }, "line_item_price": { "type": "integer" }, "shipping_amount": { "type": "integer" }, "total_coupon_amount": { "type": "integer" }, "amount": { "type": "integer" }, "subtotal": { "type": "integer" } } } } } } }, "deprecated": false }, "post": { "summary": "Create Order", "description": "Create Order with the given data. The order will be created with a `draft` status.", "operationId": "create-order", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "amount": { "type": "number", "description": "The total amount of the order", "examples": [ 100 ], "default": 0 }, "currency": { "type": "string", "description": "The currency of the order", "examples": [ "sgd" ], "default": "sgd" }, "remark": { "type": "string", "description": "The remark of the order", "examples": [ "Order Remark HitPay" ] }, "location_id": { "type": "string", "description": "The location id of the order", "examples": [ "9ae46141-c930-4613-b5a0-241206b9c215" ] }, "customer_id": { "type": "string", "description": "The customer id of the order", "examples": [ "9ae46141-c930-4613-b5a0-241206b9c215" ] }, "customer_pickup": { "type": "boolean", "description": "The customer pickup of the order", "examples": [ true ], "default": true }, "channel": { "type": "string", "description": "The channel of the order", "examples": [ "point_of_sale" ], "default": "point_of_sale" }, "business_user_id": { "type": "string", "description": "The business user id of the order", "examples": [ "34" ] }, "discount_reason": { "type": "string", "description": "The discount reason of the order", "examples": [ "Discount Reason" ] }, "discount_amount": { "type": "number", "description": "The discount amount of the order", "examples": [ 10 ], "default": 0 }, "version": { "type": "string", "description": "The version of the order", "examples": [ "1.0" ], "default": "1.0" } }, "required": [ "amount", "currency", "remark", "location_id", "customer_id", "customer_pickup", "channel", "business_user_id", "discount_reason", "discount_amount", "version" ] } } } }, "responses": { "201": { "description": "201", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9b4bc2a2-4721-4636-a6dc-4effec3b00fc", "order_display_number": 5660, "business_id": "9130c422-bf97-4bd1-b370-07a3a6f40708", "channel": "point_of_sale", "version": "1.0", "customer_id": null, "business_customer_id": null, "customer": null, "customer_pickup": true, "currency": "sgd", "order_discount_name": null, "status": "draft", "remark": "Order Remark HitPay", "created_at": "2024-02-10T00:41:42+08:00", "updated_at": "2024-02-10T00:41:42+08:00", "closed_at": null, "location_id": null, "location": null, "business_user_id": "34", "slot_date": null, "slot_time": null, "messages": null, "products": [], "charges": [], "line_items": [], "order_form": { "membership_id": { "type": "input", "title": "Membership ID", "deleted": false, "include": true, "required": true } }, "order_form_response": [], "coupon": null, "payment_status": null, "fulfilment_status": "", "line_items_total": 0, "order_discount_amount": 0, "line_item_discount_amount": 0, "line_item_tax_amount": 0, "additional_discount_amount": 0, "total_discount_amount": 0, "line_item_price": 0, "shipping_amount": 0, "total_coupon_amount": 0, "amount": 0, "subtotal": 0 } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "order_display_number": { "type": "integer" }, "business_id": { "type": "string" }, "channel": { "type": "string" }, "version": { "type": "string" }, "customer_id": { "type": "null" }, "business_customer_id": { "type": "null" }, "customer": { "type": "null" }, "customer_pickup": { "type": "boolean" }, "currency": { "type": "string" }, "order_discount_name": { "type": "null" }, "status": { "type": "string" }, "remark": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" }, "closed_at": { "type": "null" }, "location_id": { "type": "null" }, "location": { "type": "null" }, "business_user_id": { "type": "string" }, "slot_date": { "type": "null" }, "slot_time": { "type": "null" }, "messages": { "type": "null" }, "products": { "type": "array", "items": {} }, "charges": { "type": "array", "items": {} }, "line_items": { "type": "array", "items": {} }, "order_form": { "type": "object", "properties": { "membership_id": { "type": "object", "properties": { "type": { "type": "string" }, "title": { "type": "string" }, "deleted": { "type": "boolean" }, "include": { "type": "boolean" }, "required": { "type": "boolean" } }, "required": [ "type", "title", "deleted", "include", "required" ] } }, "required": [ "membership_id" ] }, "order_form_response": { "type": "array", "items": {} }, "coupon": { "type": "null" }, "payment_status": { "type": "null" }, "fulfilment_status": { "type": "string" }, "line_items_total": { "type": "integer" }, "order_discount_amount": { "type": "integer" }, "line_item_discount_amount": { "type": "integer" }, "line_item_tax_amount": { "type": "integer" }, "additional_discount_amount": { "type": "integer" }, "total_discount_amount": { "type": "integer" }, "line_item_price": { "type": "integer" }, "shipping_amount": { "type": "integer" }, "total_coupon_amount": { "type": "integer" }, "amount": { "type": "integer" }, "subtotal": { "type": "integer" } } } } } } } } }, "/v1/orders/{order_id}": { "get": { "summary": "Get Order Details", "description": "Get the order details", "operationId": "get-order", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "order_id", "in": "path", "description": "It's required field", "schema": { "type": "string", "format": "uuid" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9b4bc2a2-4721-4636-a6dc-4effec3b00fc", "order_display_number": 5660, "business_id": "9130c422-bf97-4bd1-b370-07a3a6f40708", "channel": "point_of_sale", "version": "1.0", "customer_id": null, "business_customer_id": null, "customer": null, "customer_pickup": true, "currency": "sgd", "order_discount_name": null, "status": "draft", "remark": "Razaq is a fool", "created_at": "2024-02-10T00:41:42+08:00", "updated_at": "2024-02-10T00:41:42+08:00", "closed_at": null, "location_id": null, "location": null, "business_user_id": "34", "slot_date": null, "slot_time": null, "messages": null, "products": [], "charges": [], "line_items": [], "order_form": { "membership_id": { "type": "input", "title": "Membership ID", "deleted": false, "include": true, "required": true } }, "order_form_response": [], "coupon": null, "payment_status": null, "fulfilment_status": "", "line_items_total": 0, "order_discount_amount": 0, "line_item_discount_amount": 0, "line_item_tax_amount": 0, "additional_discount_amount": 0, "total_discount_amount": 0, "line_item_price": 0, "shipping_amount": 0, "total_coupon_amount": 0, "amount": 0, "subtotal": 0 } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "order_display_number": { "type": "integer" }, "business_id": { "type": "string" }, "channel": { "type": "string" }, "version": { "type": "string" }, "customer_id": { "type": "null" }, "business_customer_id": { "type": "null" }, "customer": { "type": "null" }, "customer_pickup": { "type": "boolean" }, "currency": { "type": "string" }, "order_discount_name": { "type": "null" }, "status": { "type": "string" }, "remark": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" }, "closed_at": { "type": "null" }, "location_id": { "type": "null" }, "location": { "type": "null" }, "business_user_id": { "type": "string" }, "slot_date": { "type": "null" }, "slot_time": { "type": "null" }, "messages": { "type": "null" }, "products": { "type": "array", "items": {} }, "charges": { "type": "array", "items": {} }, "line_items": { "type": "array", "items": {} }, "order_form": { "type": "object", "properties": { "membership_id": { "type": "object", "properties": { "type": { "type": "string" }, "title": { "type": "string" }, "deleted": { "type": "boolean" }, "include": { "type": "boolean" }, "required": { "type": "boolean" } }, "required": [ "type", "title", "deleted", "include", "required" ] } }, "required": [ "membership_id" ] }, "order_form_response": { "type": "array", "items": {} }, "coupon": { "type": "null" }, "payment_status": { "type": "null" }, "fulfilment_status": { "type": "string" }, "line_items_total": { "type": "integer" }, "order_discount_amount": { "type": "integer" }, "line_item_discount_amount": { "type": "integer" }, "line_item_tax_amount": { "type": "integer" }, "additional_discount_amount": { "type": "integer" }, "total_discount_amount": { "type": "integer" }, "line_item_price": { "type": "integer" }, "shipping_amount": { "type": "integer" }, "total_coupon_amount": { "type": "integer" }, "amount": { "type": "integer" }, "subtotal": { "type": "integer" } } } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\Order] 99daaa99-0ccb-4e46-82bd-7a4347957e0a\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\Order] 99daaa99-0ccb-4e46-82bd-7a4347957e0a" ] } } } } } } }, "deprecated": false }, "patch": { "summary": "Update the order", "description": "Update the order", "operationId": "update-the-order", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "order_id", "in": "path", "description": "It's required field", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "amount": { "type": "number", "description": "The total amount of the order", "examples": [ 100 ], "default": 0 }, "currency": { "type": "string", "description": "The currency of the order", "examples": [ "sgd" ], "default": "sgd" }, "remark": { "type": "string", "description": "The remark of the order", "examples": [ "Order Remark HitPay" ] }, "location_id": { "type": "string", "description": "The location id of the order", "examples": [ "9ae46141-c930-4613-b5a0-241206b9c215" ] }, "customer_id": { "type": "string", "description": "The customer id of the order", "examples": [ "9ae46141-c930-4613-b5a0-241206b9c215" ] }, "customer_pickup": { "type": "boolean", "description": "The customer pickup of the order", "examples": [ true ], "default": true }, "channel": { "type": "string", "description": "The channel of the order", "examples": [ "point_of_sale" ], "default": "point_of_sale" }, "business_user_id": { "type": "string", "description": "The business user id of the order", "examples": [ "34" ] }, "discount_reason": { "type": "string", "description": "The discount reason of the order", "examples": [ "Discount Reason" ] }, "discount_amount": { "type": "number", "description": "The discount amount of the order", "examples": [ 10 ], "default": 0 }, "version": { "type": "string", "description": "The version of the order", "examples": [ "1.0" ], "default": "1.0" } }, "required": [ "amount", "currency", "remark", "location_id", "customer_id", "customer_pickup", "channel", "business_user_id", "discount_reason", "discount_amount", "version" ] } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9b4bc2a2-4721-4636-a6dc-4effec3b00fc", "order_display_number": 5660, "business_id": "9130c422-bf97-4bd1-b370-07a3a6f40708", "channel": "point_of_sale", "version": "1.0", "customer_id": null, "business_customer_id": null, "customer": null, "customer_pickup": true, "currency": "sgd", "order_discount_name": null, "status": "draft", "remark": "Razaq is a fool", "created_at": "2024-02-10T00:41:42+08:00", "updated_at": "2024-02-10T00:41:42+08:00", "closed_at": null, "location_id": null, "location": null, "business_user_id": "34", "slot_date": null, "slot_time": null, "messages": null, "products": [], "charges": [], "line_items": [], "order_form": { "membership_id": { "type": "input", "title": "Membership ID", "deleted": false, "include": true, "required": true } }, "order_form_response": [], "coupon": null, "payment_status": null, "fulfilment_status": "", "line_items_total": 0, "order_discount_amount": 0, "line_item_discount_amount": 0, "line_item_tax_amount": 0, "additional_discount_amount": 0, "total_discount_amount": 0, "line_item_price": 0, "shipping_amount": 0, "total_coupon_amount": 0, "amount": 0, "subtotal": 0 } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "order_display_number": { "type": "integer" }, "business_id": { "type": "string" }, "channel": { "type": "string" }, "version": { "type": "string" }, "customer_id": { "type": "null" }, "business_customer_id": { "type": "null" }, "customer": { "type": "null" }, "customer_pickup": { "type": "boolean" }, "currency": { "type": "string" }, "order_discount_name": { "type": "null" }, "status": { "type": "string" }, "remark": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" }, "closed_at": { "type": "null" }, "location_id": { "type": "null" }, "location": { "type": "null" }, "business_user_id": { "type": "string" }, "slot_date": { "type": "null" }, "slot_time": { "type": "null" }, "messages": { "type": "null" }, "products": { "type": "array", "items": {} }, "charges": { "type": "array", "items": {} }, "line_items": { "type": "array", "items": {} }, "order_form": { "type": "object", "properties": { "membership_id": { "type": "object", "properties": { "type": { "type": "string" }, "title": { "type": "string" }, "deleted": { "type": "boolean" }, "include": { "type": "boolean" }, "required": { "type": "boolean" } }, "required": [ "type", "title", "deleted", "include", "required" ] } }, "required": [ "membership_id" ] }, "order_form_response": { "type": "array", "items": {} }, "coupon": { "type": "null" }, "payment_status": { "type": "null" }, "fulfilment_status": { "type": "string" }, "line_items_total": { "type": "integer" }, "order_discount_amount": { "type": "integer" }, "line_item_discount_amount": { "type": "integer" }, "line_item_tax_amount": { "type": "integer" }, "additional_discount_amount": { "type": "integer" }, "total_discount_amount": { "type": "integer" }, "line_item_price": { "type": "integer" }, "shipping_amount": { "type": "integer" }, "total_coupon_amount": { "type": "integer" }, "amount": { "type": "integer" }, "subtotal": { "type": "integer" } } } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\Order] 99daaa99-0ccb-4e46-82bd-7a4347957e0a\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\Order] 99daaa99-0ccb-4e46-82bd-7a4347957e0a" ] } } } } } } }, "deprecated": false }, "delete": { "summary": "Delete Order", "description": "Delete Order", "operationId": "delete-order", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "order_id", "in": "path", "description": "It's required field", "schema": { "type": "string" }, "required": true } ], "responses": { "204": { "description": "204", "content": { "application/json": { "examples": { "Result": { "value": "1" } }, "schema": { "type": "integer", "examples": [ 1 ], "default": 0 } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\Order] 99daaa99-0ccb-4e46-82bd-7a4347957e0a\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\Order] 99daaa99-0ccb-4e46-82bd-7a4347957e0a" ] } } } } } } }, "deprecated": false } }, "/v1/invoices/{invoice_id}": { "delete": { "summary": "Delete Invoice", "description": "Delete Invoice", "operationId": "delete-invoice", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "invoice_id", "in": "path", "description": "The invoice id belongs to business.", "schema": { "type": "string" }, "required": true } ], "responses": { "204": { "description": "204", "content": { "application/json": { "examples": { "Result": { "value": 1 } }, "schema": { "type": "integer", "example": 1 } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": { "message": "No query results for model [App\\Business\\Invoice] 9ef5f219-8c72-488b-997d-a0906d2f81181" } } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\Invoice] 99daaa99-0ccb-4e46-82bd-7a4347957e0a" ] } } } } } } }, "deprecated": false }, "put": { "summary": "Update the invoice", "description": "Update the invoice", "operationId": "update-the-invoice", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "invoice_id", "in": "path", "description": "The invoice id belongs to the business.", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "invoice_date", "currency", "amount", "payment_by" ], "properties": { "customer": { "type": "object", "properties": { "name": { "type": "string", "description": "Customer's name. It's required field when customer id is not present.", "maxLength": 255 }, "email": { "type": "string", "description": "Customer's email. It's required field when customer id is not present." }, "address": { "type": "object", "properties": { "name": { "street": "string", "maxLength": 255, "example": "160 Paya Lebar Road 07-08 Orion Industrial " }, "city": { "street": "string", "maxLength": 255, "example": "Singapore" }, "state": { "street": "string", "maxLength": 255, "example": "Singapore" }, "postal_code": { "street": "string", "maxLength": 255, "example": "367903" }, "country": { "street": "string", "maxLength": 255, "example": "sg" } } } } }, "customer_id": { "type": "string", "description": "Customer id and it's required field if the customer's email and name are not present/ " }, "invoice_date": { "type": "string", "description": "The format(Y-m-d) is 2024-12-21" }, "due_date": { "type": "string", "description": "Invoice Due Date, format Y-m-d. Example: 2024-12-21" }, "auto_invoice_number": { "type": "string", "description": "auto_invoice_number" }, "invoice_number": { "type": "string", "description": "Invoice Number, required if auto_invoice_number set 0" }, "currency": { "type": "string", "description": "Invoice currency" }, "payment_methods": { "type": "array", "items": { "type": "string", "example": "paynow_online" }, "description": "The available payment methods support on your account and currency." }, "amount": { "type": "number", "description": "Invoice amount, only required for payment by amount", "format": "double" }, "subtotal": { "type": "number", "description": "The subtotal field is required when payment by is amount.", "format": "double" }, "payment_by": { "type": "string", "description": "Payment is by product or amount" }, "tax_setting": { "type": "string", "description": "Tax id" }, "send_email": { "type": "integer", "description": "HitPay to send email receipts to the customer. Default value is 0", "default": 0, "format": "int32" }, "webhook": { "type": "string", "description": "Optional URL value to which HitPay will send a POST request when there is a new charge or if there is an error charging the card" }, "reference": { "type": "string", "description": "Invoice Description" }, "footer": { "type": "string", "description": "Invoice Footer" }, "allow_partial_payments": { "type": "string", "description": "allow partial payment of invoice (0 or 1)", "default": 0 }, "partial_payments": { "type": "array", "items": { "type": "object", "properties": { "amount": { "type": "integer", "description": "It's required field if allow_partial_payments = 1", "default": 0, "format": "int32" }, "due_date": { "type": "string", "description": "It's required field if allow_partial_payments = 1" } } }, "required": [] }, "products": { "type": "array", "items": { "type": "object", "properties": { "product_id": { "type": "string", "description": "It's required field if payment_by = product" }, "quantity": { "type": "string", "description": "It's required field if payment_by = product" }, "variation_id": { "type": "string", "description": "It's required field if payment_by = product" }, "discount": { "type": "string", "description": "It's required field if payment_by = product" } }, "required": [ "product_id" ] } }, "stackable_discounts": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "Discount name. Max 255 chars" }, "discount": { "type": "string", "description": "Discount value >= 0" }, "percentage_discount": { "type": "string", "description": "Discount percentage must be between 0 and 1." }, "order": { "type": "string", "description": "The order of discount" } }, "required": [ "name", "discount", "percentage_discount", "order" ] } }, "recipients": { "type": "array", "items": { "type": "object", "properties": { "email": { "type": "string", "description": "The email address. The user can user either email or customer for recipients" }, "customer_id": { "type": "string", "description": "The customer id" } } } } } } } } }, "responses": { "200": { "description": "200", "content": {} } }, "deprecated": false } }, "/v1/invoices": { "get": { "summary": "Get all invoice", "description": "Get the invoice and filter", "operationId": "get-invoices", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "customer_email", "in": "query", "schema": { "type": "string" } }, { "name": "status", "in": "query", "description": "Invoice status, options [draft, sent, pending, overdue, paid]", "schema": { "type": "string" } }, { "name": "reference", "in": "query", "schema": { "type": "string" } }, { "name": "per_page", "in": "query", "description": "The number of per page", "schema": { "type": "string", "default": "10" } }, { "name": "page", "in": "query", "description": "The page index", "schema": { "type": "string", "default": "1" } } ], "responses": { "204": { "description": "204", "content": { "application/json": { "examples": { "Result": { "value": "{}" } }, "schema": { "type": "object", "properties": {} } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": "{}" } }, "schema": { "type": "object", "properties": {} } } } } }, "deprecated": false }, "post": { "summary": "Create the invoice", "description": "Create the invoice", "operationId": "create-invoice", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "invoice_date", "currency", "amount", "payment_by" ], "properties": { "customer": { "type": "object", "properties": { "name": { "type": "string", "description": "Customer's name. It's required field when customer id is not present.", "maxLength": 255 }, "email": { "type": "string", "description": "Customer's email. It's required field when customer id is not present." }, "address": { "type": "object", "properties": { "name": { "street": "string", "maxLength": 255, "example": "160 Paya Lebar Road 07-08 Orion Industrial " }, "city": { "street": "string", "maxLength": 255, "example": "Singapore" }, "state": { "street": "string", "maxLength": 255, "example": "Singapore" }, "postal_code": { "street": "string", "maxLength": 255, "example": "367903" }, "country": { "street": "string", "maxLength": 255, "example": "sg" } } } } }, "customer_id": { "type": "string", "description": "Customer id and it's required field if the customer's email and name are not present/ " }, "invoice_date": { "type": "string", "description": "The format(Y-m-d) is 2024-12-21" }, "due_date": { "type": "string", "description": "Invoice Due Date, format Y-m-d. Example: 2024-12-21" }, "auto_invoice_number": { "type": "string", "description": "auto_invoice_number" }, "invoice_number": { "type": "string", "description": "Invoice Number, required if auto_invoice_number set 0" }, "currency": { "type": "string", "description": "Invoice currency" }, "payment_methods": { "type": "array", "items": { "type": "string", "example": "paynow_online" }, "description": "The available payment methods support on your account and currency." }, "amount": { "type": "number", "description": "Invoice amount, only required for payment by amount", "format": "double" }, "subtotal": { "type": "number", "description": "The subtotal field is required when payment by is amount.", "format": "double" }, "payment_by": { "type": "string", "description": "Payment is by product or amount" }, "tax_setting": { "type": "string", "description": "Tax id" }, "send_email": { "type": "integer", "description": "HitPay to send email receipts to the customer. Default value is 0", "default": 0, "format": "int32" }, "webhook": { "type": "string", "description": "Optional URL value to which HitPay will send a POST request when there is a new charge or if there is an error charging the card" }, "reference": { "type": "string", "description": "Invoice Description" }, "footer": { "type": "string", "description": "Invoice Footer" }, "allow_partial_payments": { "type": "string", "description": "allow partial payment of invoice (0 or 1)", "default": 0 }, "partial_payments": { "type": "array", "items": { "type": "object", "properties": { "amount": { "type": "integer", "description": "It's required field if allow_partial_payments = 1", "default": 0, "format": "int32" }, "due_date": { "type": "string", "description": "It's required field if allow_partial_payments = 1" } } }, "required": [] }, "products": { "type": "array", "items": { "type": "object", "properties": { "product_id": { "type": "string", "description": "It's required field if payment_by = product" }, "quantity": { "type": "string", "description": "It's required field if payment_by = product" }, "variation_id": { "type": "string", "description": "It's required field if payment_by = product" }, "discount": { "type": "string", "description": "It's required field if payment_by = product" } }, "required": [ "product_id" ] } }, "stackable_discounts": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "Discount name. Max 255 chars" }, "discount": { "type": "string", "description": "Discount value >= 0" }, "percentage_discount": { "type": "string", "description": "Discount percentage must be between 0 and 1." }, "order": { "type": "string", "description": "The order of discount" } }, "required": [ "name", "discount", "percentage_discount", "order" ] } }, "recipients": { "type": "array", "items": { "type": "object", "properties": { "email": { "type": "string", "description": "The email address. The user can user either email or customer for recipients" }, "customer_id": { "type": "string", "description": "The customer id" } } } } } } } } }, "responses": { "200": { "description": "200", "content": {} } }, "deprecated": false } }, "/v1/balances": { "get": { "summary": "Get Balances", "description": "Get Balances", "operationId": "get-balances", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": [ { "currency": "sgd", "wallets": { "available": 2036.25, "deposit": 0, "pending": 94.1, "reserve": 5913.65 } }, { "currency": "usd", "wallets": { "available": 600, "reserve": 0 } } ] } }, "schema": { "type": "array", "items": { "type": "object", "properties": { "currency": { "type": "string" }, "wallets": { "type": "object", "properties": { "available": { "type": "number" }, "deposit": { "type": "number" }, "pending": { "type": "number" }, "reserve": { "type": "number" } }, "required": [ "available", "reserve" ] } }, "required": [ "currency", "wallets" ] } } } } } }, "deprecated": false } }, "/v1/balances/{balance_provider}/transactions": { "get": { "summary": "Get Balance Transactions", "description": "Get Balance Transactions and it's only applicable for Singapore merchants with Cards (by Adyen) Balance.", "operationId": "get-balance-transactions", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "balance_provider", "in": "path", "description": "The balance provider", "schema": { "type": "string", "example": "adyen" }, "required": true }, { "name": "created_at_from", "description": "The start day of Adyen transaction in range.", "in": "query", "schema": { "type": "string", "example": "2025-05-21" } }, { "name": "created_at_to", "description": "The end day of Adyen transaction in range. Note: `created_at_to >= created_at_from`", "in": "query", "schema": { "type": "string", "example": "2025-05-21" } }, { "name": "cursor", "in": "query", "description": "It is used to fetch the next (or previous) set of results.", "schema": { "type": "string" } }, { "name": "per_page", "in": "query", "schema": { "type": "number", "default": 10, "maximum": 100 } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "data": [ { "datetime": "2025-01-23T07:07:36+01:00", "description": "Received for charge #9e08f05a-5374-4ffa-996c-1c8981f11df9", "charge_id": null, "order_id": null, "payout_id": null, "transfer_id": "38E95Y65QHBT2SOX", "debit": null, "credit": 95.85, "currency": "SGD" }, { "datetime": "2025-01-24T10:32:39+01:00", "description": "Received for charge #9e0b3d23-7bf7-4e7c-945f-6b81641a851b", "charge_id": null, "order_id": null, "payout_id": null, "transfer_id": "38E96Q65QXNHOSXL", "debit": null, "credit": 95.85, "currency": "SGD" }, { "datetime": "2025-01-26T12:38:10+01:00", "description": "Received for charge #9e0f6ffa-639d-46b1-a307-a0b19c4aa09e", "charge_id": null, "order_id": null, "payout_id": null, "transfer_id": "38EBH765RRH5BBIB", "debit": null, "credit": 53.78, "currency": "SGD" }, { "datetime": "2025-01-27T05:42:04+01:00", "description": "Received for charge #9e10de13-abc8-4451-99d8-3ceb121a1b35", "charge_id": null, "order_id": null, "payout_id": null, "transfer_id": "38EBHK65S1MY9ZG1", "debit": null, "credit": 6.78, "currency": "SGD" }, { "datetime": "2025-01-27T05:43:01+01:00", "description": "Received for charge #9e10de6b-2615-497a-b98d-fc9001b175d4", "charge_id": null, "order_id": null, "payout_id": null, "transfer_id": "38E95Y65S1N7RZD8", "debit": null, "credit": 85.96, "currency": "SGD" }, { "datetime": "2025-01-27T07:06:02+01:00", "description": "Transfer #9e10fcd2-f657-489b-947e-1383790b53bf", "charge_id": null, "order_id": null, "payout_id": "9e10fcd2-f657-489b-947e-1383790b53bf", "transfer_id": "1WNMS965S2GXLS2Z", "debit": -96.32, "credit": null, "currency": "SGD" }, { "datetime": "2025-01-27T09:55:38+01:00", "description": "Received for charge #9e1138be-14b7-47e4-90d1-188f56e5fe0b", "charge_id": null, "order_id": null, "payout_id": null, "transfer_id": "38E95Y65S45H71IL", "debit": null, "credit": 963, "currency": "SGD" }, { "datetime": "2025-01-28T07:06:01+01:00", "description": "Transfer #9e12ffc6-e91e-41ed-98f1-2e7bb6149f98", "charge_id": null, "order_id": null, "payout_id": "9e12ffc6-e91e-41ed-98f1-2e7bb6149f98", "transfer_id": "1X8ESU65SGRBVQLG", "debit": -149.63, "credit": null, "currency": "SGD" }, { "datetime": "2025-01-29T07:07:19+01:00", "description": "Transfer #9e15031f-3c86-4aba-b69f-301e31bc5b40", "charge_id": null, "order_id": null, "payout_id": "9e15031f-3c86-4aba-b69f-301e31bc5b40", "transfer_id": "1WNBU765SV27O2GP", "debit": -1055.74, "credit": null, "currency": "SGD" }, { "datetime": "2025-02-03T10:12:36+01:00", "description": "Received for charge #9e1f5398-9f3e-4d48-8c7c-3920d06f0e0d", "charge_id": null, "order_id": null, "payout_id": null, "transfer_id": "38E95Y65UWCCRRFU", "debit": null, "credit": 95.85, "currency": "SGD" } ], "meta": { "per_page": "10", "next_cursor": "S2B-MlIjKCkrPEMtMXcvdzV34Xl532WTxxaSZceT9ncVxTWVxBQk5scnE4SX1Mbl5HMmFYWD8kcEApMTJDRW5wfkxUbHdic0VyQlU1MWw32VGUgKGxsIX90S32M7", "prev_cursor": null } } } }, "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "datetime": { "type": "string" }, "description": { "type": "string" }, "charge_id": { "type": [ "string", "null" ] }, "order_id": { "type": [ "string", "null" ] }, "payout_id": { "type": [ "string", "null" ] }, "transfer_id": { "type": "string" }, "debit": { "type": "number" }, "credit": { "type": [ "number", "null" ] }, "currency": { "type": "string" } }, "required": [ "datetime", "description", "charge_id", "order_id", "transfer_id", "currency" ] } }, "meta": { "type": "object", "properties": { "per_page": { "type": "string" }, "next_cursor": { "type": "string" }, "prev_cursor": {} }, "required": [ "per_page", "next_cursor", "prev_cursor" ] } }, "required": [ "data", "meta" ] } } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": { "message": "The created at from does not match the format Y-m-d. (and 1 more error)", "errors": { "created_at_from": [ "The created at from does not match the format Y-m-d." ], "created_at_to": [ "The created at to must be a date after or equal to created at from." ] } } } }, "schema": {} } } } }, "deprecated": false } }, "/v1/balances/{balance_provider}/transactions/export": { "post": { "summary": "Export Balance Breakdown", "description": "Export Balance Breakdown and the exported file will be included in attachment of sending email to the business's admin email. Currenly, we only support `Adyen` provider.", "operationId": "export-transactions", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "balance_provider", "in": "path", "description": "The balance provider. It only supports Adyen now.", "schema": { "type": "string", "example": "adyen" }, "required": true }, { "name": "created_at_from", "description": "The start day of Adyen transaction in range.", "in": "query", "schema": { "type": "string", "example": "2025-05-21" } }, { "name": "created_at_to", "description": "The end day of Adyen transaction in range. Note: `created_at_to >= created_at_from`", "in": "query", "schema": { "type": "string", "example": "2025-05-21" } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "success": true } } }, "schema": { "type": "object", "properties": { "success": { "type": "boolean" } } } } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": { "message": "The created at from does not match the format Y-m-d. (and 1 more error)", "errors": { "created_at_from": [ "The created at from does not match the format Y-m-d." ], "created_at_to": [ "The created at to must be a date after or equal to created at from." ] } } } }, "schema": {} } } } }, "deprecated": false } }, "/v1/beneficiaries/schema": { "post": { "summary": "Get the API schema", "description": "This API returns a dynamic schema that depends on the values of certain parameters. The schema contains the fields and validation rules for each payment scenario. A payment scenario is a combination of these parameters:country, transfer_method,transfer_type, currency, holder_type and bank_swift_code. To get the final schema, you need to submit the field values and re-render the form multiple times until all the fields are completed. For example, if you submit only the country parameter, the API will return a schema with the fields for country and transfer_method. If you submit the country and transfer_method parameters, the API will return a schema with the fields for country, transfer_method, currency, and so on.", "operationId": "get-schema", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "country": { "type": "string", "pattern": "^([a-z]{2})$", "minLength": 2, "maxLength": 2, "description": "2-letter ISO 3166-1 country code", "example": "sg" }, "transfer_method": { "type": "string", "description": "The transfer method needs to be specified to ensure that accurate banking details are captured and validated for the specified transfer method. This is required for timely and accurate delivery of funds to the beneficiary account", "example": "bank_transfer" }, "transfer_type": { "type": "string", "description": "The transfer type needs to be specified to ensure that accurate banking details are captured and validated for the specified transfer method. This is required for timely and accurate delivery of funds to the beneficiary account", "example": "local" }, "currency": { "type": "string", "description": "It is beneficiary bank account currency", "example": "sgd" }, "holder_type": { "type": "string", "enum": [ "individual", "company" ], "description": "The type of the account holder. Individual is for personal accounts, and company is for business accounts.", "example": "company" }, "bank_swift_code": { "type": "string", "description": "The bank swift code is a unique identifier for a specific bank.", "example": "AEIBSGSXXXX" } } } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": [ { "key": "country", "placeholder": null, "title": "Country", "required": true, "type": "select", "force_display": true, "options": [ { "value": "au", "label": "Australia" }, { "value": "bd", "label": "Bangladesh" }, { "value": "my", "label": "Malaysia" }, { "value": "ph", "label": "Philippines" }, { "value": "sg", "label": "Singapore" }, { "value": "vn", "label": "Vietnam" } ], "value": "sg" }, { "key": "transfer_method", "placeholder": null, "title": "Transfer Method", "required": true, "type": "select", "force_display": true, "options": [ { "value": "bank_transfer", "label": "Bank Transfer" } ], "value": "bank_transfer" }, { "key": "transfer_type", "placeholder": null, "title": "Transfer Type", "required": false, "type": "select", "force_display": false, "options": [ { "value": "local", "label": "FAST" } ], "value": "local" }, { "key": "currency", "placeholder": "Select one", "title": "Currency", "required": true, "type": "select", "force_display": true, "options": [ { "value": "sgd", "label": "Singapore Dollar ($)" }, { "value": "usd", "label": "US Dollar ($)" } ], "value": "sgd" }, { "key": "holder_type", "placeholder": null, "title": "Entity Type", "required": true, "type": "select", "force_display": true, "options": [ { "value": "company", "label": "Company" }, { "value": "individual", "label": "Individual" } ], "value": "company" }, { "key": "holder_name", "placeholder": "John Doe", "title": "Account Holder Name", "required": true, "type": "input" }, { "key": "bank_swift_code", "placeholder": null, "type": "select", "title": "Bank Name", "required": true, "force_display": true, "options": [ { "value": "ABNASG2AXXX", "label": "ABN AMRO BANK NV" }, { "value": "AEIBSGSXXXX", "label": "AMERICAN EXPRESS BANK LTD" }, { "value": "ANZBSGSXXXX", "label": "ANZ SINGAPORE" }, { "value": "BKKBSGSGXXX", "label": "BANGKOK BANK PUBLIC COMPANY" }, { "value": "BOFASG2XXXX", "label": "BANK OF AMERICA" }, { "value": "BKCHSGSGXXX", "label": "BANK OF CHINA" }, { "value": "BKIDSGSGXXX", "label": "BANK OF INDIA" }, { "value": "BKNZSGSGXXX", "label": "BANK OF NEW ZEALAND" }, { "value": "BOTKSGSXXXX", "label": "BANK OF TOKYO-MITSUBISHI" }, { "value": "BNPASGSGXXX", "label": "BNP PARIBAS" }, { "value": "CRLYSGSGXXX", "label": "CALYON" }, { "value": "CTCBSGSGXXX", "label": "CHINATRUST COMMERCIAL BANK CO., LTD" }, { "value": "CIBBSGSGXXX", "label": "CIMB BANK BERHAD" }, { "value": "CITISGSGXXX", "label": "CITIBANK NA" }, { "value": "CITISGSLXXX", "label": "CITIBANK SINGAPORE" }, { "value": "KWHKSGSGXXX", "label": "CITIC Bank International Ltd" }, { "value": "COBASGSXXXX", "label": "COMMERZBANK SG" }, { "value": "DBSSSGSGXXX", "label": "DBS Bank/POSB" }, { "value": "DEUTSGSGXXX", "label": "DEUTSCHE BANK" }, { "value": "DNBASGSGXXX", "label": "DnB NOR Bank ASA" }, { "value": "FAEASGSGXXX", "label": "FAR EASTERN BANK" }, { "value": "FCBKSGSGXXX", "label": "FIRST COMMERCIAL BANK" }, { "value": "HABBSGSGXXX", "label": "HABIB BANK LIMITED" }, { "value": "HLBBSGSGXXX", "label": "HL BANK" }, { "value": "HSBCSGS2", "label": "HONGKONG & SHANGHAI BANKING CORPORATION (HSBC)" }, { "value": "HSBCSGS2XXX", "label": "HONGKONG & SHANGHAI BANKING CORPORATION (HSBC)" }, { "value": "HSBCSGSGXXX", "label": "HONGKONG & SHANGHAI BANKING CORPORATION (HSBC)" }, { "value": "ICICSGSGXXX", "label": "ICICI BANK" }, { "value": "IDIBSGSGXXX", "label": "INDIAN BANK" }, { "value": "IOBASGSGXXX", "label": "INDIAN OVERSEAS BANK" }, { "value": "INGBSGSGXXX", "label": "INTERNALTIONALE NEDERLANDEN BANK N.V." }, { "value": "BCITSGSGXXX", "label": "INTESABCI S.P.A." }, { "value": "ICBKSGSGXXX", "label": "Industrial & Commercial Bank of China" }, { "value": "CHASSGSGXXX", "label": "JP MORGAN CHASE BANK, N.A." }, { "value": "KOEXSGSGXXX", "label": "KEB HANA BANK" }, { "value": "MBBESGS2", "label": "MALAYAN BANKING BERHAD" }, { "value": "MBBESGS2XXX", "label": "MAYBANK SINGAPORE LIMITED" }, { "value": "MHCBSGSGXXX", "label": "MIZUHO CORPORATE BANK, LTD" }, { "value": "NATASGSGXXX", "label": "NATIONAL AUSTRALIA BANK LTD" }, { "value": "NBOKSGSGXXX", "label": "NATIONAL BANK OF KUWAIT, SAK" }, { "value": "NDEASGSGXXX", "label": "NORDEA BANK FINLAND PLC" }, { "value": "OCBCSGSGXXX", "label": "OVERSEA-CHINESE BANKING CORPORATION LTD" }, { "value": "BNINSGSGXXX", "label": "PT. BANK NEGARA INDONESIA" }, { "value": "RHBBSGSGXXX", "label": "RHB BANK BERHAD" }, { "value": "BSGPSGSGXXX", "label": "SINGAPORE ISLAND BANK" }, { "value": "ESSESGSGXXX", "label": "SKANDINAVISKA ENSKILDA BANKEN" }, { "value": "SOGESGSGXXX", "label": "SOCIETE GENERALE" }, { "value": "SCBLSG22XXX", "label": "STANDARD CHARTERED BANK" }, { "value": "SCBLSGSGXXX", "label": "STANDARD CHARTERED BANK" }, { "value": "SBINSGSGXXX", "label": "STATE BANK OF INDIA" }, { "value": "SMBCSGSGXXX", "label": "SUMITOMO MITSUI BANKING CORPORATION" }, { "value": "HANDSGSGXXX", "label": "SVENSKA HANDELSBANKEN AB (PUBL)" }, { "value": "UBSWSGSGXXX", "label": "SWISS BANK CORP" }, { "value": "BEASSGSGXXX", "label": "THE BANK OF EAST ASIA" }, { "value": "NOSCSGSGXXX", "label": "THE BANK OF NOVA SCOTIA" }, { "value": "UCBASGSGXXX", "label": "UCO BANK" }, { "value": "UBAFSGSXXXX", "label": "UNION DE BANQUES ARABES ET FRANCAISES" }, { "value": "UOVBSGSGXXX", "label": "UNITED OVERSEAS BANK LTD" }, { "value": "TRWISGSGXXX", "label": "Wise Asia-Pacific Pte Ltd" } ], "value": "AEIBSGSXXXX" }, { "key": "account_number", "placeholder": "140989", "type": "input", "title": "Account Number", "required": true, "validation": "/^\\d{4,32}$/" }, { "key": "nickname", "placeholder": "John Doe", "title": "Nickname", "required": false, "type": "input" }, { "key": "remark", "placeholder": "Example: Test SGD transfer to US", "title": "Remark", "required": false, "type": "input" }, { "key": "email", "placeholder": null, "title": "Email Address", "required": false, "type": "input", "validation": "email" }, { "key": "is_favourite", "placeholder": null, "title": "Mark this beneficiary as favourite", "required": false, "type": "checkbox-boolean", "value": false } ] } } } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": { "message": "The given data was invalid. The selected Country is invalid.", "errors": { "country": [ "The selected Country is invalid." ], "transfer_method": [ "The selected Transfer Method is invalid." ], "transfer_type": [ "The selected Transfer Type is invalid." ], "currency": [ "The selected Currency is invalid." ] } } } } } } } }, "deprecated": false } }, "/v1/beneficiaries": { "post": { "summary": "Create a new beneficiary", "description": "A beneficiary is a person or business receiving the funds. HitPay currently supports local beneficiaries, enabling payouts within the same country and region.", "operationId": "create-beneficiary", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "oneOf": [ { "title": "Singapore / SGD / FAST", "$ref": "#/components/schemas/beneficiary-sqd-fast" }, { "title": "Bangladesh / BDT / Local bank transfer", "$ref": "#/components/schemas/beneficiary-bd-local" }, { "title": "Bangladesh / BDT / Upay", "$ref": "#/components/schemas/beneficiary-bd-upay" }, { "title": "Bangladesh / BDT / bKash", "$ref": "#/components/schemas/beneficiary-bd-bkash" }, { "title": "Bangladesh / BDT / TAP", "$ref": "#/components/schemas/beneficiary-bd-tap" }, { "title": "Philippines / PHP / Local bank transfer", "$ref": "#/components/schemas/beneficiary-php-local" } ] }, "examples": { "Singapore / SGD / FAST": { "value": { "country": "sg", "transfer_method": "bank_transfer", "transfer_type": "local", "currency": "sgd", "holder_type": "individual", "holder_name": "John Tan", "bank_id": "BOFASG2XXXX[7065]", "account_number": "1409827" } }, "Bangladesh / BDT / Local bank transfer": { "value": { "country": "bd", "transfer_method": "bank_transfer", "transfer_type": "local", "currency": "bdt", "holder_type": "individual", "holder_name": "SHAH ALAM HERA", "bank_id": "brc-20", "bank_routing_number": "060261726", "account_number": "1503201781283001" } }, "Bangladesh / BDT / Upay": { "value": { "country": "bd", "transfer_method": "upay", "currency": "bdt", "holder_type": "individual", "holder_name": "Moulude Hossain", "district": "BD-03", "account_number": "+8801914538413" } }, "Bangladesh / BDT / bKash": { "value": { "country": "bd", "transfer_method": "bkash", "currency": "bdt", "holder_type": "individual", "holder_name": "Rashid", "district": "BD-03", "account_number": "+8801721940130" } }, "Bangladesh / BDT / TAP": { "value": { "country": "bd", "transfer_method": "tap", "currency": "bdt", "holder_type": "individual", "holder_name": "Moulude Hossain", "district": "BD-04", "account_number": "+8801914538413" } }, "Philippines / PHP / Local bank transfer": { "value": { "country": "ph", "transfer_method": "bank_transfer", "transfer_type": "local", "currency": "php", "holder_type": "individual", "holder_name": "Ben Yu", "bank_id": "10419995", "account_number": "14098377", "address": { "street": "Pedro Gil, cor Adriatico St", "postcode": "1000", "city": "Manila" } } } } } } }, "responses": { "201": { "description": "201", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9ec01865-7af1-4937-813d-7801912d2cd1", "status": "approved", "country": "sg", "currency": "sgd", "transfer_method": "bank_transfer", "transfer_type": "local", "nickname": null, "remark": null, "holder_name": "John Test", "holder_type": "individual", "account_number": "1409828", "bank_name": "BANK OF AMERICA", "bank_id": "BOFASG2XXXX[7065]", "email": null, "bank_swift_code": "BOFASG2XXXX", "is_favourite": false, "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-04-24T15:13:22+08:00", "updated_at": "2025-04-24T15:13:22+08:00", "deleted_at": null } } } } } }, "422": { "description": "201", "content": { "application/json": { "examples": { "Result": { "value": { "message": "The Country field is required. (and 4 more errors)", "errors": { "country": [ "The Country field is required." ], "transfer_method": [ "The Transfer Method field is required." ], "currency": [ "The Currency field is required." ], "holder_type": [ "The Entity Type field is required." ], "holder_name": [ "The Account Holder Name field is required." ] } } } } } } } }, "deprecated": false }, "get": { "summary": "Get list of beneficiaries", "description": "Get list of beneficiaries", "operationId": "get-all-beneficiary", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "query", "in": "query", "description": "Search by holder name / nickname", "schema": { "type": "string" } }, { "name": "per_page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 10 } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "data": [ { "id": "9eb3d3ff-3fb0-450e-bb61-7c0753974398", "status": "approved", "country": "sg", "currency": "sgd", "transfer_method": "bank_transfer", "transfer_type": "local", "nickname": "Test QA", "remark": "Test QA", "holder_name": "Test QA", "holder_type": "individual", "bank_branch_code": "001", "account_number": "173737377", "bank_name": "AMERICAN EXPRESS BANK LTD", "bank_id": "AEIBSGSXXXX[7454]", "email": "test@gmail.com", "bank_swift_code": "AEIBSGSXXXX", "is_favourite": true, "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-04-18T12:52:10+08:00", "updated_at": "2025-04-18T12:52:10+08:00", "deleted_at": null } ], "links": { "first": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=1", "last": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=23", "prev": null, "next": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=2" }, "meta": { "current_page": 1, "from": 1, "last_page": 23, "links": [ { "url": null, "label": "← Previous", "active": false }, { "url": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=1", "label": "1", "active": true }, { "url": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=2", "label": "2", "active": false }, { "url": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=3", "label": "3", "active": false }, { "url": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=4", "label": "4", "active": false }, { "url": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=5", "label": "5", "active": false }, { "url": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=6", "label": "6", "active": false }, { "url": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=7", "label": "7", "active": false }, { "url": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=8", "label": "8", "active": false }, { "url": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=9", "label": "9", "active": false }, { "url": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=10", "label": "10", "active": false }, { "url": null, "label": "...", "active": false }, { "url": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=22", "label": "22", "active": false }, { "url": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=23", "label": "23", "active": false }, { "url": "https://api.sandbox.hit-pay.com/v1/beneficiaries?page=2", "label": "Next →", "active": false } ], "path": "https://api.sandbox.hit-pay.com/v1/beneficiaries", "per_page": 10, "to": 1, "total": 23 } } } }, "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string" }, "country": { "type": "string" }, "currency": { "type": "string" }, "transfer_method": { "type": "string" }, "transfer_type": { "type": "string" }, "nickname": { "type": "string" }, "remark": { "type": [ "string", "null" ] }, "holder_name": { "type": "string" }, "holder_type": { "type": "string" }, "bank_branch_code": { "type": "string" }, "account_number": { "type": "string" }, "bank_name": { "type": "string" }, "bank_id": { "type": "string" }, "email": { "type": "string" }, "bank_swift_code": { "type": "string" }, "is_favourite": { "type": "boolean" }, "created_by": { "type": "object", "properties": { "id": { "type": "string" }, "display_name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" } }, "required": [ "id", "display_name", "first_name", "last_name" ] }, "created_at": { "type": "string" }, "updated_at": { "type": "string" }, "deleted_at": { "type": [ "string", "null" ] } }, "required": [ "id", "status", "country", "currency", "transfer_method", "transfer_type", "nickname", "remark", "holder_name", "holder_type", "bank_branch_code", "account_number", "bank_name", "bank_id", "email", "bank_swift_code", "is_favourite", "created_by", "created_at", "updated_at", "deleted_at" ] } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": {}, "next": { "type": "string" } }, "required": [ "first", "last", "prev", "next" ] }, "meta": { "type": "object", "properties": { "current_page": { "type": "number" }, "from": { "type": "number" }, "last_page": { "type": "number" }, "links": { "type": "array", "items": { "type": "object", "properties": { "url": { "type": "string" }, "label": { "type": "string" }, "active": { "type": "boolean" } }, "required": [ "label", "active" ] } }, "path": { "type": "string" }, "per_page": { "type": "number" }, "to": { "type": "number" }, "total": { "type": "number" } }, "required": [ "current_page", "from", "last_page", "links", "path", "per_page", "to", "total" ] } }, "required": [ "data", "links", "meta" ] } } } } }, "deprecated": false } }, "/v1/beneficiaries/{beneficiary_id}": { "patch": { "summary": "Update existing beneficiary", "description": "we only accept to update nickname, remark and is_favourite fields", "operationId": "update-beneficiary", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "beneficiary_id", "in": "path", "description": "The Beneficiary id", "schema": { "type": "string", "format": "uuid", "example": "9b294222-3a53-427f-9393-95dc6d63ee6c" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "nickname": { "type": "string", "maxLength": 255 }, "remark": { "type": "string", "maxLength": 255 }, "is_favourite": { "type": "boolean", "description": "Set to true to mark this beneficiary as favourite", "enum": [ true, false ] } } } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9eb3d3ff-3fb0-450e-bb61-7c0753974398", "status": "approved", "country": "sg", "currency": "sgd", "transfer_method": "bank_transfer", "transfer_type": "local", "nickname": "Harry Satterfield", "remark": "RemarkAnimi veniam recusandae nihil sapiente temporibus voluptas aliquam.", "holder_name": "Test QA", "holder_type": "individual", "bank_branch_code": "001", "account_number": "173737377", "bank_name": "AMERICAN EXPRESS BANK LTD", "bank_id": "AEIBSGSXXXX[7454]", "email": "test@gmail.com", "bank_swift_code": "AEIBSGSXXXX", "is_favourite": false, "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-04-18T12:52:10+08:00", "updated_at": "2025-04-24T16:03:03+08:00", "deleted_at": null } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string" }, "country": { "type": "string" }, "currency": { "type": "string" }, "transfer_method": { "type": "string" }, "transfer_type": { "type": "string" }, "nickname": { "type": "string" }, "remark": { "type": "string" }, "holder_name": { "type": "string" }, "holder_type": { "type": "string" }, "bank_branch_code": { "type": "string" }, "account_number": { "type": "string" }, "bank_name": { "type": "string" }, "bank_id": { "type": "string" }, "email": { "type": "string" }, "bank_swift_code": { "type": "string" }, "is_favourite": { "type": "boolean" }, "created_by": { "type": "object", "properties": { "id": { "type": "string" }, "display_name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" } }, "required": [ "id", "display_name", "first_name", "last_name" ] }, "created_at": { "type": "string" }, "updated_at": { "type": "string" }, "deleted_at": { "type": [ "string", "null" ] } }, "required": [ "id", "status", "country", "currency", "transfer_method", "transfer_type", "nickname", "remark", "holder_name", "holder_type", "bank_branch_code", "account_number", "bank_name", "bank_id", "email", "bank_swift_code", "is_favourite", "created_by", "created_at", "updated_at", "deleted_at" ] } } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": { "message": "The given data was invalid. The remark may not be greater than 255 characters.", "errors": { "remark": [ "The remark may not be greater than 255 characters." ] } } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request PATCH 'https://api.sandbox.hit-pay.com/v1/beneficiaries/9a3d60cb-2c8d-4050-abd0-bbd6725acb3e' \\\n--header 'X-BUSINESS-API-KEY: apikey' \\\n--header 'X-Requested-With: XMLHttpRequest' \\\n--header 'Content-Type: application/json' \\\n--data '{\n \"is_external\": true,\n \"country\": \"sg\",\n \"currency\": \"sgd\",\n \"nickname\": \"Paper Supplier 1695900354\",\n \"remark\": \"Update remark 1695900354\",\n \"holder_type\": \"company\",\n \"holder_name\": \"Holder Name Update 1695900354\",\n \"transfer_method\": \"local\",\n \"bank_id\": \"ABNASG2AXXX[7010]\",\n \"bank_branch_code\": \"050\",\n \"account_number\": \"000123456\",\n \"password\": \"xxx\"\n}'", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "delete": { "summary": "Delete existing beneficiary", "description": "", "operationId": "delete-beneficiary", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "beneficiary_id", "in": "path", "description": "The Beneficiary id", "schema": { "type": "string" }, "required": true } ], "responses": { "204": { "description": "204", "content": {} } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request DELETE 'https://api.sandbox.hit-pay.com/v1/beneficiaries/9a3d60cb-2c8d-4050-abd0-bbd6725acb3e' \\\n--header 'X-BUSINESS-API-KEY: apikey' \\\n--header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "get": { "summary": "Get a beneficiary by ID", "description": "Get a beneficiary by ID", "operationId": "get-beneficiary-detail", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "beneficiary_id", "in": "path", "description": "The Beneficiary id", "schema": { "type": "string", "example": "9b294222-3a53-427f-9393-95dc6d63ee6c" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9eb3d3ff-3fb0-450e-bb61-7c0753974398", "status": "approved", "country": "sg", "currency": "sgd", "transfer_method": "bank_transfer", "transfer_type": "local", "nickname": "Test QA", "remark": "Test QA", "holder_name": "Test QA", "holder_type": "individual", "bank_branch_code": "001", "account_number": "173737377", "bank_name": "AMERICAN EXPRESS BANK LTD", "bank_id": "AEIBSGSXXXX[7454]", "email": "test@gmail.com", "is_favourite": true, "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-04-18T12:52:10+08:00", "updated_at": "2025-04-18T12:52:10+08:00", "deleted_at": null } } }, "schema": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "Generated schema for Root", "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string" }, "country": { "type": "string" }, "currency": { "type": "string" }, "transfer_method": { "type": "string" }, "transfer_type": { "type": "string" }, "nickname": { "type": "string" }, "remark": { "type": "string" }, "holder_name": { "type": "string" }, "holder_type": { "type": "string" }, "bank_branch_code": { "type": "string" }, "account_number": { "type": "string" }, "bank_name": { "type": "string" }, "bank_id": { "type": "string" }, "email": { "type": "string" }, "bank_swift_code": { "type": "string" }, "is_favourite": { "type": "boolean" }, "created_by": { "type": "object", "properties": { "id": { "type": "string" }, "display_name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" } }, "required": [ "id", "display_name", "first_name", "last_name" ] }, "created_at": { "type": "string" }, "updated_at": { "type": "string" }, "deleted_at": { "type": [ "string", "null" ] } }, "required": [ "id", "status", "country", "currency", "transfer_method", "transfer_type", "nickname", "remark", "holder_name", "holder_type", "bank_branch_code", "account_number", "bank_name", "bank_id", "email", "bank_swift_code", "is_favourite", "created_by", "created_at", "updated_at", "deleted_at" ] } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": { "message": "No query results for model [App\\Models\\Business\\BankAccount] 9eb3d3ff-3fb0-450e-bb61-7c0753974392" } } } } } } }, "deprecated": false } }, "/v1/remitters": { "get": { "summary": "Get list of remitters", "description": "Get list of remitters", "operationId": "get-remitters", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "per_page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100 } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "data": [ { "id": "9f0083d4-7794-4c83-98a2-754244f0db85", "status": "pending", "entity_type": "individual", "full_name": "Keith Abbott", "email": null, "address": { "city": "Singapore", "state": "Singapore", "country": "sg", "postal_code": "238888", "street_address": "123 Orchard Rd" }, "id_type": "driving_license", "id_number": "A1748245605", "nationality": "sg", "company_name": "Cartwright Group", "date_of_birth": "1990-01-01", "contact_number": "+6591234567", "place_of_birth": "Singapore", "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-05-26T15:46:45+08:00", "updated_at": "2025-05-26T15:46:45+08:00" }, { "id": "9f0083c8-6670-4421-8cde-bc770389b27a", "status": "pending", "entity_type": "individual", "full_name": "Sharon Feil", "email": null, "address": { "city": "Singapore", "state": "Singapore", "country": "sg", "postal_code": "238888", "street_address": "123 Orchard Rd" }, "id_type": "passport", "id_number": "A1748245597", "nationality": "sg", "company_name": "Zboncak - Windler", "date_of_birth": "1990-01-01", "contact_number": "+6591234567", "place_of_birth": "Singapore", "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-05-26T15:46:37+08:00", "updated_at": "2025-05-26T15:46:37+08:00" }, { "id": "9f0083c0-2313-4a55-a2a1-ffd9de7f54b4", "status": "pending", "entity_type": "individual", "full_name": "Guadalupe Prohaska", "email": null, "address": { "city": "Singapore", "state": "Singapore", "country": "sg", "postal_code": "238888", "street_address": "123 Orchard Rd" }, "id_type": "national_id", "id_number": "A1748245592", "nationality": "sg", "company_name": "Robel LLC", "date_of_birth": "1990-01-01", "contact_number": "+6591234567", "place_of_birth": "Singapore", "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-05-26T15:46:32+08:00", "updated_at": "2025-05-26T15:46:32+08:00" }, { "id": "9eba1413-09be-4893-a0f0-9acbbdf5ba6e", "status": "pending", "entity_type": "company", "full_name": "Ms. Dana Abbott", "email": null, "address": { "city": "Singapore", "state": "Singapore", "country": "sg", "postal_code": "238888", "street_address": "123 Orchard Rd" }, "id_type": "national_id", "id_number": "A1745220378", "nationality": "sg", "company_name": "Acme Corporation", "date_of_birth": "1990-01-01", "contact_number": "+6591234567", "place_of_birth": "Singapore", "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-04-21T15:26:18+08:00", "updated_at": "2025-04-21T15:26:18+08:00" }, { "id": "9eb9b915-d16c-4458-b13a-b836693c55e2", "status": "pending", "entity_type": "individual", "full_name": "Lyle Greenholt", "email": null, "address": { "city": "Singapore", "state": "Singapore", "country": "sg", "postal_code": "238888", "street_address": "123 Orchard Rd" }, "id_type": "national_id", "id_number": "A1745205113", "nationality": "sg", "company_name": "Acme Corporation", "date_of_birth": "1990-01-01", "contact_number": "+6591234567", "place_of_birth": "Singapore", "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-04-21T11:11:53+08:00", "updated_at": "2025-04-21T11:11:53+08:00" }, { "id": "9e74249c-5831-4f06-b5bf-bd466d85aeb6", "status": "pending", "entity_type": "company", "full_name": "Emilio Yundt", "email": "email@gmail.com", "address": { "city": "Singapore", "state": "Singapore", "country": "sg", "postal_code": "089109", "street_address": "1 Keong Saik Road" }, "id_type": "passport", "id_number": "FB123456", "nationality": "sg", "company_name": "HitPay", "date_of_birth": "1990-10-28", "contact_number": "+6598644718", "place_of_birth": "Singapore", "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-03-17T21:04:36+08:00", "updated_at": "2025-03-17T21:04:36+08:00" }, { "id": "9e742406-edfd-4ba9-afc4-3f14f3abd41b", "status": "pending", "entity_type": "company", "full_name": "Carolyn Barrows", "email": "email@gmail.com", "address": { "city": "Singapore", "state": "Singapore", "country": "sg", "postal_code": "089109111111111", "street_address": "1 Keong Saik Road" }, "id_type": "passport", "id_number": "FB123456", "nationality": "sg", "company_name": "HitPay", "date_of_birth": "1990-10-28", "contact_number": "+6598644718", "place_of_birth": "Singapore", "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-03-17T21:02:58+08:00", "updated_at": "2025-03-17T21:02:58+08:00" }, { "id": "9e7423d8-4304-447b-87a6-9c195a7cf443", "status": "pending", "entity_type": "company", "full_name": "Connie Fahey", "email": "email@gmail.com", "address": { "city": "Singapore", "state": "Singapore", "country": "sg", "postal_code": "089109", "street_address": "1 Keong Saik Road" }, "id_type": "passport", "id_number": "FB123456", "nationality": "sg", "company_name": "HitPay", "date_of_birth": "1990-10-28", "contact_number": "+659864471812444444", "place_of_birth": "Singapore", "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-03-17T21:02:27+08:00", "updated_at": "2025-03-17T21:02:27+08:00" }, { "id": "9e7423b7-3650-4a78-a150-449735e435bf", "status": "pending", "entity_type": "company", "full_name": "Phyllis Hessel Sr.", "email": "email@gmail.com", "address": { "city": "Singapore", "state": "Singapore", "country": "sg", "postal_code": "089109", "street_address": "1 Keong Saik Road" }, "id_type": "passport", "id_number": "FB123456FB123456FB123456FB123456FB123456FB123456FB123456FB123456FB123456FB123456", "nationality": "sg", "company_name": "HitPay", "date_of_birth": "1990-10-28", "contact_number": "+6598644718", "place_of_birth": "Singapore", "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-03-17T21:02:06+08:00", "updated_at": "2025-03-17T21:02:06+08:00" }, { "id": "9e7420f7-55f2-400d-ae8f-3db9f75b1f8f", "status": "pending", "entity_type": "company", "full_name": "Test Sender", "email": "email@gmail.com", "address": { "city": "Singapore", "state": "Singapore", "country": "sg", "postal_code": "089109", "street_address": "1 Keong Saik Road" }, "id_type": "passport", "id_number": "FB123456", "nationality": "sg", "company_name": "HitPay", "date_of_birth": "1990-10-28", "contact_number": "+6598644718", "place_of_birth": "Singapore", "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-03-17T20:54:24+08:00", "updated_at": "2025-03-17T20:54:24+08:00" } ], "links": { "first": "https://api.sandbox.hit-pay.com/v1/remitters?page=1", "last": "https://api.sandbox.hit-pay.com/v1/remitters?page=1", "prev": null, "next": null }, "meta": { "current_page": 1, "from": 1, "last_page": 1, "links": [ { "url": null, "label": "← Previous", "active": false }, { "url": "https://api.sandbox.hit-pay.com/v1/remitters?page=1", "label": "1", "active": true }, { "url": null, "label": "Next →", "active": false } ], "path": "https://api.sandbox.hit-pay.com/v1/remitters", "per_page": 10, "to": 10, "total": 10 } } } }, "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string" }, "entity_type": { "type": "string", "enum": [ "individual", "company" ] }, "full_name": { "type": "string" }, "email": { "type": "string" }, "address": { "type": "object", "properties": { "city": { "type": "string" }, "state": { "type": "string" }, "country": { "type": "string" }, "postal_code": { "type": "string" }, "street_address": { "type": "string" } }, "required": [ "city", "state", "country", "postal_code", "street_address" ] }, "id_type": { "type": "string", "enum": [ "national_id", "passport", "driving_license" ] }, "id_number": { "type": "string" }, "nationality": { "type": "string" }, "company_name": { "type": "string" }, "date_of_birth": { "type": "string" }, "contact_number": { "type": "string" }, "place_of_birth": { "type": "string" }, "created_by": { "type": "object", "properties": { "id": { "type": "string" }, "display_name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" } }, "required": [ "id", "display_name", "first_name", "last_name" ] }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "status", "entity_type", "full_name", "address", "id_type", "id_number", "nationality", "company_name", "date_of_birth", "contact_number", "place_of_birth", "created_by", "created_at", "updated_at" ] } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": {}, "next": {} }, "required": [ "first", "last", "prev", "next" ] }, "meta": { "type": "object", "properties": { "current_page": { "type": "number" }, "from": { "type": "number" }, "last_page": { "type": "number" }, "links": { "type": "array", "items": { "type": "object", "properties": { "url": { "type": "string" }, "label": { "type": "string" }, "active": { "type": "boolean" } }, "required": [ "label", "active" ] } }, "path": { "type": "string" }, "per_page": { "type": "number" }, "to": { "type": "number" }, "total": { "type": "number" } }, "required": [ "current_page", "from", "last_page", "links", "path", "per_page", "to", "total" ] } }, "required": [ "data", "links", "meta" ] } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/transfers?perPage=10' \\\n--header 'X-BUSINESS-API-KEY: apikey' \\\n--header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "post": { "summary": "Create new remitter", "description": "Create new remitter.", "operationId": "create-remitter", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "entity_type": { "type": "string", "enum": [ "individual", "company" ] }, "full_name": { "type": "string" }, "id_number": { "type": "string" }, "id_type": { "type": "string", "enum": [ "national_id", "passport", "driving_license" ] }, "date_of_birth": { "type": "string", "example": "1990-01-01" }, "place_of_birth": { "type": "string", "example": "Singapore" }, "nationality": { "type": "string", "example": "sg" }, "contact_number": { "type": "string", "example": "+6591234567" }, "email": { "type": "string", "format": "email" }, "address": { "type": "object", "properties": { "street_address": { "type": "string", "maxLength": 255 }, "city": { "type": "string", "maxLength": 100 }, "state": { "type": "string", "maxLength": 100 }, "postal_code": { "type": "string", "maxLength": 100 }, "country": { "type": "string", "maxLength": 100 } }, "required": [ "street_address", "city", "state", "postal_code", "country" ] }, "company_name": { "type": "string", "description": "It's required if entity_type is company." } }, "required": [ "entity_type", "full_name", "date_of_birth", "address", "nationality", "contact_number" ] }, "examples": { "Result": { "value": { "entity_type": "individual", "full_name": "Saul Schumm", "id_number": "A1748247986", "id_type": "national_id", "date_of_birth": "1990-01-01", "place_of_birth": "Singapore", "nationality": "sg", "contact_number": "+6591234567", "email": "test@gmail.com", "address": { "street_address": "123 Orchard Rd", "city": "Singapore ", "state": "Singapore", "postal_code": "238888", "country": "sg" }, "company_name": "Ebert, Zulauf and Daugherty" } } } } } }, "responses": { "201": { "description": "201", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9f0092ca-4b7d-4e33-b503-9dd27b0807ba", "status": "pending", "entity_type": "individual", "full_name": "Hilda Ferry", "id_number": "A1748248115", "id_type": "national_id", "date_of_birth": "1990-01-01", "place_of_birth": "Singapore", "nationality": "sg", "contact_number": "+6591234567", "email": "test5@gmail.com", "address": { "street_address": "123 Orchard Rd", "city": "Singapore", "state": "Singapore", "postal_code": "238888", "country": "sg" }, "company_name": "Abernathy Inc", "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-05-26T16:28:35+08:00", "updated_at": "2025-05-26T16:28:35+08:00" } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string" }, "entity_type": { "type": "string", "enum": [ "individual", "company" ] }, "full_name": { "type": "string" }, "id_number": { "type": "string" }, "id_type": { "type": "string", "enum": [ "national_id", "passport", "driving_license" ] }, "date_of_birth": { "type": "string" }, "place_of_birth": { "type": "string" }, "nationality": { "type": "string" }, "contact_number": { "type": "string" }, "email": { "type": "string" }, "address": { "type": "object", "properties": { "street_address": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" }, "postal_code": { "type": "string" }, "country": { "type": "string" } }, "required": [ "street_address", "city", "state", "postal_code", "country" ] }, "company_name": { "type": "string" }, "created_by": { "type": "object", "properties": { "id": { "type": "string" }, "display_name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" } }, "required": [ "id", "display_name", "first_name", "last_name" ] }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "status", "entity_type", "full_name", "id_number", "id_type", "date_of_birth", "place_of_birth", "nationality", "contact_number", "email", "address", "company_name", "created_by", "created_at", "updated_at" ] } } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": { "message": "The entity type field is required. (and 10 more errors)", "errors": { "entity_type": [ "The entity type field is required." ], "full_name": [ "The full name field is required." ], "id_number": [ "The id number field is required." ], "id_type": [ "The id type field is required." ], "date_of_birth": [ "The date of birth field is required." ], "address": [ "The address field is required." ], "address.street_address": [ "The address.street address field is required." ], "address.city": [ "The address.city field is required." ], "address.state": [ "The address.state field is required." ], "address.postal_code": [ "The address.postal code field is required." ], "address.country": [ "The address.country field is required." ] } } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/transfers' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest' \\\n --form ", "name": "Example request" } ], "samples-languages": [ "curl" ] } } }, "/v1/remitters/{remitter_id}": { "get": { "summary": "Get remitter detail.", "description": "Get remitter detail", "operationId": "get-remitter", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "remitter_id", "in": "path", "description": "Remitter id", "schema": { "type": "string", "format": "uuid" }, "example": "9b294222-3a53-427f-9393-95dc6d63ee6c", "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9f0092ca-4b7d-4e33-b503-9dd27b0807ba", "status": "pending", "entity_type": "individual", "full_name": "Hilda Ferry", "email": "test@gmail.com", "address": { "city": "Singapore", "state": "Singapore", "country": "sg", "postal_code": "238888", "street_address": "123 Orchard Rd" }, "id_type": "national_id", "id_number": "A1748248115", "nationality": "sg", "company_name": "Abernathy Inc", "date_of_birth": "1990-01-01", "contact_number": "+6591234567", "place_of_birth": "Singapore", "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-05-26T16:28:35+08:00", "updated_at": "2025-05-26T16:28:35+08:00" } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string" }, "entity_type": { "type": "string", "enum": [ "individual", "company" ] }, "full_name": { "type": "string" }, "id_number": { "type": "string" }, "id_type": { "type": "string", "enum": [ "national_id", "passport", "driving_license" ] }, "date_of_birth": { "type": "string" }, "place_of_birth": { "type": "string" }, "nationality": { "type": "string" }, "contact_number": { "type": "string" }, "email": { "type": "string" }, "address": { "type": "object", "properties": { "street_address": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" }, "postal_code": { "type": "string" }, "country": { "type": "string" } }, "required": [ "street_address", "city", "state", "postal_code", "country" ] }, "company_name": { "type": "string" }, "created_by": { "type": "object", "properties": { "id": { "type": "string" }, "display_name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" } }, "required": [ "id", "display_name", "first_name", "last_name" ] }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "status", "entity_type", "full_name", "id_number", "id_type", "date_of_birth", "place_of_birth", "nationality", "contact_number", "email", "address", "company_name", "created_by", "created_at", "updated_at" ] } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/transfers?perPage=10' \\\n--header 'X-BUSINESS-API-KEY: apikey' \\\n--header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "delete": { "summary": "Delete remitter", "description": "Delete remitter.", "operationId": "delete-remitter", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "remitter_id", "in": "path", "description": "Remitter id", "schema": { "type": "string", "format": "uuid" }, "example": "9b294222-3a53-427f-9393-95dc6d63ee6c", "required": true } ], "responses": { "204": { "description": "204", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9f0092ca-4b7d-4e33-b503-9dd27b0807ba", "status": "pending", "entity_type": "individual", "full_name": "Hilda Ferry", "id_number": "A1748248115", "id_type": "national_id", "date_of_birth": "1990-01-01", "place_of_birth": "Singapore", "nationality": "sg", "contact_number": "+6591234567", "email": "test5@gmail.com", "address": { "street_address": "123 Orchard Rd", "city": "Singapore", "state": "Singapore", "postal_code": "238888", "country": "sg" }, "company_name": "Abernathy Inc", "created_by": { "id": "98566f58-1c76-4b8b-8f75-d20bba2bc7f8", "display_name": "TestingSG", "first_name": "QA", "last_name": "SG" }, "created_at": "2025-05-26T16:28:35+08:00", "updated_at": "2025-05-26T16:28:35+08:00" } } } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": { "message": "No query results for model [App\\Business\\Remitter] 9f0092ca-4b7d-4e33-b503-9dd27b0807ba" } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/transfers' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest' \\\n --form ", "name": "Example request" } ], "samples-languages": [ "curl" ] } } }, "/v1/transfers": { "get": { "summary": "Get list of transfers", "description": "Get list of transfers", "operationId": "get-transfers", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "beneficiary_id", "in": "query", "description": "The Beneficiary id", "schema": { "type": "string", "format": "uuid" } }, { "name": "keywords", "description": "The keywords to search by ID, beneficiary name and remark", "in": "query", "schema": { "type": "string", "format": "uuid" } }, { "name": "status", "description": "The status of the transfer", "in": "query", "schema": { "type": "string", "enum": [ "scheduled", "processing", "paid", "failed", "canceled" ] } }, { "name": "per_page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 10 } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "data": [ { "id": "9ec02ec7-a121-457f-9efc-1c4610fbe4e6", "beneficiary": { "id": "9ec01865-7af1-4937-813d-7801912d2cd1", "status": "approved", "country": "sg", "currency": "sgd", "transfer_method": "bank_transfer", "transfer_type": "local", "nickname": null, "remark": null, "holder_name": "John Test", "holder_type": "individual", "account_number": "1409828", "bank_name": "BANK OF AMERICA", "bank_id": "BOFASG2XXXX[7065]", "email": null, "bank_swift_code": "BOFASG2XXXX", "is_favourite": false, "created_at": "2025-04-24T15:13:22+08:00", "updated_at": "2025-04-24T15:13:22+08:00", "deleted_at": null }, "payment_currency": "sgd", "payment_amount": 20, "source_currency": "usd", "source_amount": 15.45, "exchange_rate": "1.293876", "fee": { "amount": 0, "currency": "usd", "paid_by": "payer" }, "remark": "Remark In deserunt voluptates aspernatur aut nisi occaecati.", "reference": null, "status": "scheduled", "attachment": null, "created_at": "2025-04-24T16:15:57+08:00" }, { "id": "9ec01866-a609-4ce4-a3d1-e3e230872509", "beneficiary": { "id": "9ec01865-7af1-4937-813d-7801912d2cd1", "status": "approved", "country": "sg", "currency": "sgd", "transfer_method": "bank_transfer", "transfer_type": "local", "nickname": null, "remark": null, "holder_name": "John Test", "holder_type": "individual", "account_number": "1409828", "bank_name": "BANK OF AMERICA", "bank_id": "BOFASG2XXXX[7065]", "email": null, "bank_swift_code": "BOFASG2XXXX", "is_favourite": false, "created_at": "2025-04-24T15:13:22+08:00", "updated_at": "2025-04-24T15:13:22+08:00", "deleted_at": null }, "payment_currency": "sgd", "payment_amount": 20, "source_currency": "usd", "source_amount": 15.45, "exchange_rate": "1.293876", "fee": { "amount": 0, "currency": "usd", "paid_by": "payer" }, "remark": "Remark Quia provident cumque molestiae corrupti molestiae.", "reference": null, "status": "scheduled", "attachment": null, "created_at": "2025-04-24T15:13:22+08:00" } ], "links": { "first": null, "last": null, "prev": null, "next": null }, "meta": { "path": "https://api.sandbox.hit-pay.com/v1/transfers", "per_page": 25, "next_cursor": null, "prev_cursor": null } } } }, "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "beneficiary": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string" }, "country": { "type": "string" }, "currency": { "type": "string" }, "transfer_method": { "type": "string" }, "transfer_type": { "type": "string" }, "nickname": { "type": "string" }, "remark": { "type": "string" }, "holder_name": { "type": "string" }, "holder_type": { "type": "string" }, "bank_branch_code": { "type": "string" }, "bank_routing_number": { "type": "string" }, "account_number": { "type": "string" }, "bank_name": { "type": "string" }, "bank_id": { "type": "string" }, "email": { "type": "string" }, "is_favourite": { "type": "boolean" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" }, "deleted_at": {} }, "required": [ "id", "is_external", "country", "currency", "transfer_method", "nickname", "remark", "holder_name", "holder_type", "email", "bank_routing_number", "account_number", "is_favourite", "created_at", "updated_at", "deleted_at" ] }, "payment_currency": { "type": "string" }, "payment_amount": { "type": "number" }, "source_currency": { "type": "string" }, "source_amount": { "type": "number" }, "exchange_rate": { "type": "string" }, "fee": { "type": "object", "properties": { "paid_by": { "type": "string", "enum": [ "payer", "beneficiary" ] }, "amount": { "type": "number" }, "currency": { "type": "string" } } }, "discount_fee_rate": { "type": "number" }, "fixed_fee": { "type": "number" }, "discount_fee": { "type": "number" }, "remark": { "type": "string" }, "status": { "type": "string", "enum": [ "scheduled", "processing", "paid", "failed", "canceled" ] }, "attachment": { "type": "string" }, "created_at": { "type": "string" } }, "required": [ "id", "beneficiary", "payment_currency", "payment_amount", "source_currency", "source_amount", "exchange_rate", "fixed_fee", "discount_fee", "discount_fee_rate", "fee", "status", "remark", "status", "source_type", "attachment", "created_at" ] } }, "links": { "type": "object", "properties": { "first": {}, "last": {}, "prev": {}, "next": { "type": "string" } }, "required": [ "first", "last", "prev", "next" ] }, "meta": { "type": "object", "properties": { "path": { "type": "string" }, "per_page": { "type": "number" }, "next_cursor": { "type": "string" }, "prev_cursor": {} }, "required": [ "path", "per_page", "next_cursor", "prev_cursor" ] } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/transfers?perPage=10' \\\n--header 'X-BUSINESS-API-KEY: apikey' \\\n--header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "post": { "summary": "Create a new transfer", "description": "Create a new transfer", "operationId": "create-transfer", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "beneficiary": { "type": "object", "description": "The beneficiary information. Only required if 'beneficiary_id' is not set. The payload depends on the country and payment method. Please refer `Create Beneficiary` for addtional fields", "externalDocs": { "description": "More info here", "url": "https://docs.hitpayapp.com/apis/payout/create-beneficiary" }, "properties": { "country": { "type": "string", "description": "The country code", "enum": [ "sg", "bd", "ph", "vn", "au" ] }, "currency": { "type": "string", "description": "The currency code", "enum": [ "sgd", "bdt", "php", "vnd", "aud" ] }, "transfer_method": { "type": "string", "description": "The transfer method" }, "transfer_type": { "type": "string", "description": "The transfer type", "enum": [ "local" ], "example": "local" }, "holder_type": { "type": "string", "description": "The Holder Type", "enum": [ "individual" ], "example": "individual" }, "holder_name": { "type": "string", "required": true, "description": "The Holder Name", "example": "John Doe", "maxLength": 255 } } }, "beneficiary_id": { "type": "string", "required": "true", "format": "uuid", "description": "The Beneficiary id. Only required if 'beneficiary' is not set." }, "source_currency": { "type": "string", "example": "sgd", "description": "It is beneficiary bank account currency." }, "source_amount": { "type": "number", "minimum": 1, "description": "The amount to be transferred. Only required if 'payment_amount' is not set.", "example": 112.42, "format": "double" }, "payment_amount": { "type": "number", "minimum": 1, "description": "The amount to be transferred. Only required if `source_amount` is not set.", "example": 10000.5, "format": "double" }, "remitter_id": { "type": "string", "description": "The remitter id. Only pass either `remitter` or `remitter_id`.", "example": "9b294222-3a53-427f-9393-95dc6d63ee6c" }, "remitter": { "type": "object", "description": "The remitter information. Only pass either `remitter` or `remitter_id`.", "properties": { "entity_type": { "type": "string", "example": "individual", "enum": [ "individual", "company" ] }, "full_name": { "type": "string", "maxLength": 255, "example": "John Doe" }, "id_number": { "type": "string", "maxLength": 255, "example": "FB123456" }, "id_type": { "type": "string", "example": "passport", "enum": [ "passport", "national_id", "driving_license" ] }, "date_of_birth": { "type": "string", "maxLength": 255, "example": "1990-01-01", "format": "date" }, "place_of_birth": { "type": "string", "example": "Singapore" }, "nationality": { "type": "string", "description": "2 letter code, lowercase", "minLength": 2, "maxLength": 2, "example": "sg" }, "contact_number": { "type": "string", "maxLength": 100, "example": "+6598765432" }, "email": { "type": "string", "maxLength": 255, "example": "abc@gmail.com" }, "address": { "type": "object", "properties": { "street_address": { "type": "string", "maxLength": 255, "example": "1 Keong Saik Road" }, "city": { "type": "string", "maxLength": 100, "example": "Singapore" }, "state": { "type": "string", "maxLength": 100, "example": "SG" }, "postal_code": { "type": "string", "maxLength": 30, "example": "089109" }, "country": { "type": "string", "description": "2 letter code, lowercase", "minLength": 2, "maxLength": 2, "example": "sg" } }, "required": [ "street", "city", "state", "postcode" ] }, "company_name": { "type": "string", "maxLength": 255, "description": "Only required if entity_type is company", "example": "HitPay Pte Ltd" } } }, "remark": { "type": "string", "maxLength": 120, "description": "Transfer note for internal use only" }, "reference": { "type": "string", "maxLength": 120, "description": "The reference for the transfer" } } }, "examples": { "Result": { "value": { "beneficiary_id": "9e64eb6c-90dd-45e0-afaf-bd9fa0253674", "source_currency": "sgd", "source_amount": 112.42, "payment_amount": 10000.5, "remitter": { "entity_type": "company", "full_name": "Test Sender", "id_number": "FB123456", "id_type": "passport", "date_of_birth": "1990-10-28", "place_of_birth": "Singapore", "nationality": "sg", "contact_number": "+6598644718", "email": "email@gmail.com", "address": { "street_address": "1 Keong Saik Road", "city": "Singapore", "state": "Singapore", "postal_code": "089109", "country": "sg" }, "company_name": "HitPay" } } } } } } }, "responses": { "201": { "description": "201", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9e64f9b8-0039-4bc1-bb98-be1c88212a7e", "beneficiary": { "id": "9e64eb6c-90dd-45e0-afaf-bd9fa0253674", "status": "approved", "country": "bd", "currency": "bdt", "transfer_method": "local", "holder_name": "SHAH ALAM HERA", "holder_type": "individual", "account_number": "1503201781283001", "bank_name": "BRAC Bank Ltd.", "bank_id": "brc-20", "email": null, "bank_routing_number": "060261726", "created_at": "2025-03-10T07:27:16+08:00", "updated_at": "2025-03-10T07:27:18+08:00" }, "payment_currency": "bdt", "payment_amount": 10000.5, "source_currency": "sgd", "source_amount": 112.42, "exchange_rate": "88.949505", "fee": { "amount": 0, "currency": "sgd", "paid_by": "payer" }, "status": "scheduled", "created_at": "2025-03-10T08:07:15+08:00" } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "beneficiary": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string" }, "country": { "type": "string" }, "currency": { "type": "string" }, "transfer_method": { "type": "string" }, "holder_name": { "type": "string" }, "holder_type": { "type": "string" }, "account_number": { "type": "string" }, "bank_name": { "type": "string" }, "bank_id": { "type": "string" }, "email": { "type": [ "string", "null" ] }, "bank_routing_number": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "status", "country", "currency", "transfer_method", "holder_name", "holder_type", "account_number", "bank_name", "bank_id", "email", "bank_routing_number", "created_at", "updated_at" ] }, "payment_currency": { "type": "string" }, "payment_amount": { "type": "number" }, "source_currency": { "type": "string" }, "source_amount": { "type": "number" }, "exchange_rate": { "type": "string" }, "fee": { "type": "object", "properties": { "amount": { "type": "number" }, "currency": { "type": "string" }, "paid_by": { "type": "string", "enum": [ "payer", "beneficiary" ] } }, "required": [ "amount", "currency", "paid_by" ] }, "status": { "type": "string", "enum": [ "scheduled", "processing", "paid", "failed", "canceled" ] }, "created_at": { "type": "string" } }, "required": [ "id", "beneficiary", "payment_currency", "payment_amount", "source_currency", "source_amount", "exchange_rate", "fee", "status", "created_at" ] } } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": { "message": "The beneficiary id field is required when beneficiary is not present. (and 4 more errors)", "errors": { "beneficiary_id": [ "The beneficiary id field is required when beneficiary is not present." ], "beneficiary": [ "The beneficiary field is required when beneficiary id is not present." ], "source_currency": [ "The source currency field is required." ], "source_amount": [ "The source amount field is required when payment amount is not present." ], "payment_amount": [ "The payment amount field is required when source amount is not present." ] } } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/transfers' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest' \\\n --form ", "name": "Example request" } ], "samples-languages": [ "curl" ] } } }, "/v1/transfers/{transfer_id}": { "get": { "summary": "Get transfer by ID", "description": "Get transfer by ID", "operationId": "get-transfer-detail", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "transfer_id", "in": "path", "description": "The Beneficiary id", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9eb3d44a-bb68-4107-b445-cc61cd27607c", "beneficiary": { "id": "9eb3d3ff-3fb0-450e-bb61-7c0753974398", "status": "approved", "country": "sg", "currency": "sgd", "transfer_method": "bank_transfer", "transfer_type": "local", "nickname": "Test QA", "remark": "Test QA", "holder_name": "Test QA", "holder_type": "individual", "bank_branch_code": "001", "account_number": "173737377", "bank_name": "AMERICAN EXPRESS BANK LTD", "bank_id": "AEIBSGSXXXX[7454]", "email": "test@gmail.com", "is_favourite": true, "created_at": "2025-04-18T12:52:10+08:00", "updated_at": "2025-04-18T12:52:10+08:00", "deleted_at": null }, "payment_currency": "sgd", "payment_amount": 100, "source_currency": "sgd", "source_amount": 100, "exchange_rate": "1.00000", "fee": { "amount": 10, "currency": "sgd", "paid_by": "payer" }, "discount_fee_rate": 0, "fixed_fee": 0, "discount_fee": 0, "remark": "Tessting Remark", "status": "scheduled", "attachment": "https://hitpay-sandbox-public.s3.ap-southeast-1.amazonaws.com/transfer-attachments/9eb3d44a-bb68-4107-b445-cc61cd27607c/9eb3d44ae7034b2a9e6feb52d3da185d.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAZ4FHSA4HSL4WZS7J%2F20250418%2Fap-southeast-1%2Fs3%2Faws4_request&X-Amz-Date=20250418T045412Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=c2057c3ce12abaf669effe9e685b8d1d082bb8b2ce64998bfa009fcd1151ff87", "created_by": null, "approved_by": null, "rejected_by": null, "created_at": "2025-04-18T12:53:00+08:00" } } }, "schema": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "Generated schema for Root", "type": "object", "properties": { "id": { "type": "string" }, "beneficiary": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string" }, "country": { "type": "string" }, "currency": { "type": "string" }, "transfer_method": { "type": "string" }, "transfer_type": { "type": "string" }, "nickname": { "type": "string" }, "remark": { "type": [ "string", "null" ] }, "holder_name": { "type": "string" }, "holder_type": { "type": "string" }, "bank_branch_code": { "type": "string" }, "account_number": { "type": "string" }, "bank_name": { "type": "string" }, "bank_id": { "type": "string" }, "email": { "type": "string" }, "is_favourite": { "type": "boolean" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" }, "deleted_at": { "type": [ "string", "null" ] } }, "required": [ "id", "status", "country", "currency", "transfer_method", "transfer_type", "nickname", "remark", "holder_name", "holder_type", "bank_branch_code", "account_number", "bank_name", "bank_id", "email", "is_favourite", "created_at", "updated_at", "deleted_at" ] }, "payment_currency": { "type": "string" }, "payment_amount": { "type": "number" }, "source_currency": { "type": "string" }, "source_amount": { "type": "number" }, "exchange_rate": { "type": "string" }, "fee": { "type": "object", "properties": { "amount": { "type": "number" }, "currency": { "type": "string" }, "paid_by": { "type": "string", "enum": [ "payer", "beneficiary" ] } }, "required": [ "amount", "currency", "paid_by" ] }, "discount_fee_rate": { "type": "number" }, "fixed_fee": { "type": "number" }, "discount_fee": { "type": "number" }, "remark": { "type": [ "string", "null" ] }, "status": { "type": "string", "enum": [ "scheduled", "processing", "paid", "failed", "canceled" ] }, "attachment": { "type": [ "string", "null" ] }, "created_by": { "type": [ "object", "null" ] }, "approved_by": { "type": [ "object", "null" ] }, "rejected_by": { "type": [ "object", "null" ] }, "created_at": { "type": "string" } }, "required": [ "id", "beneficiary", "payment_currency", "payment_amount", "source_currency", "source_amount", "exchange_rate", "fee", "discount_fee_rate", "fixed_fee", "discount_fee", "remark", "status", "attachment", "created_by", "approved_by", "rejected_by", "created_at" ] } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/transfers/99f01cd1-b111-4ba5-8887-c89d7dffeaec' \\\n--header 'X-BUSINESS-API-KEY: apikey' \\\n--header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } } }, "/v1/transfers/estimate": { "post": { "summary": "Estimate transfer fees", "description": "", "operationId": "estimate-fee", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "beneficiary_id", "source_currency" ], "properties": { "beneficiary_id": { "type": "string", "description": "The Beneficiary id", "examples": "9ad4789a-c864-48a6-a657-7fdfc57ba1fc" }, "source_currency": { "type": "string", "example": "sgd", "description": "The supported currency. " }, "source_amount": { "type": "number", "minimum": 1, "description": "The amount to be transferred. Only required if 'payment_amount' is not set.", "example": 112.42, "format": "double" }, "payment_amount": { "type": "number", "minimum": 1, "description": "The amount to be transferred. Only required if 'source_amount' is not set.", "example": 10000.5, "format": "double" } } }, "examples": { "Result": { "value": { "beneficiary_id": "9e3320ed-a47b-495b-8e60-e1b1347eb3e8", "source_currency": "sgd", "source_amount": 100 } } } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "source_amount": 100, "source_amount_fees": 0, "source_currency": "sgd", "exchange_rate": "1", "fx_pair": "sgdsgd", "payment_amount": 100, "payment_amount_fees": 0, "payment_currency": "sgd", "fee_payer": "beneficiary", "fee_currency": "sgd" } } }, "schema": { "type": "object", "properties": { "source_amount": { "type": "number" }, "source_amount_fees": { "type": "number" }, "source_currency": { "type": "string" }, "exchange_rate": { "type": "string" }, "fx_pair": { "type": "string" }, "payment_amount": { "type": "number" }, "payment_amount_fees": { "type": "number" }, "fee_payer": { "type": "string", "enum": [ "payer", "beneficiary" ] }, "fee_currency": { "type": "string" } }, "required": [ "source_amount", "source_amount_fees", "source_currency", "exchange_rate", "payment_amount", "payment_amount_fees", "payment_currency" ] } } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": { "message": "The beneficiary id field is required. (and 3 more errors)", "errors": { "beneficiary_id": [ "The beneficiary id field is required." ], "source_currency": [ "The source currency field is required." ], "source_amount": [ "The source amount field is required when payment amount is not present." ], "payment_amount": [ "The payment amount field is required when source amount is not present." ] } } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/transfers/estimate' \\\n--header 'X-BUSINESS-API-KEY: apikey' \\\n--header 'X-Requested-With: XMLHttpRequest' \\\n--header 'Content-Type: application/json' \\\n--data '{\n \"beneficiary_id\": \"9a3d60cb-2c8d-4050-abd0-bbd6725acb3e\",\n \"source_currency\": \"sgd\",\n \"source_amount\": 129,\n \"payment_amount\": 100\n}'", "name": "Example request" } ], "samples-languages": [ "curl" ] } } }, "/v1/customers": { "get": { "summary": "Get All Customers", "description": "This endpoint allows you to retrieve all customers", "operationId": "get-all-customers", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "page", "in": "query", "schema": { "type": "number", "default": 1 } }, { "name": "per_page", "in": "query", "schema": { "type": "number", "default": 10 } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": {} }, "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "birth_date": { "type": "string" }, "gender": { "type": "string" }, "email": { "type": "string" }, "phone_number": { "type": "string" }, "address": { "type": "object", "properties": { "city": { "type": "string" }, "state": { "type": "string" }, "street": { "type": "string" }, "postal_code": { "type": "string" }, "country": { "type": "string" } }, "required": [ "city", "state", "street", "postal_code" ] }, "remark": { "type": "string" }, "phone_number_country_code": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "name", "birth_date", "gender", "email", "phone_number", "address", "remark", "phone_number_country_code", "created_at", "updated_at" ] } }, "links": { "type": "object", "properties": { "first": {}, "last": {}, "prev": {}, "next": { "type": "string" } }, "required": [ "first", "last", "prev", "next" ] }, "meta": { "type": "object", "properties": { "path": { "type": "string" }, "per_page": { "type": "number" }, "next_cursor": { "type": "string" }, "prev_cursor": {} }, "required": [ "path", "per_page", "next_cursor", "prev_cursor" ] } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/customers' \\\n--header 'X-BUSINESS-API-KEY: apikey' \\\n--header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "post": { "summary": "Create a customer", "description": "This endpoint allows you to create a customer. The customer will be created with the provided details and will be returned in the response.", "operationId": "create-customer", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "email", "phone_number" ], "properties": { "name": { "type": "string", "examples": [ "John Doe" ], "description": "The name of the customer" }, "email": { "type": "string", "description": "The email of the customer", "format": "email" }, "phone_number": { "type": "string", "description": "The phone number of the customer" }, "phone_number_country_code": { "type": "string", "description": "The country code of the phone number" }, "remark": { "type": "string", "description": "The remark of the customer", "maxLength": 255 }, "birth_date": { "type": "string", "format": "date", "description": "The birth date of the customer" }, "gender": { "type": "string", "description": "The gender of the customer" }, "address": { "type": "object", "properties": { "city": { "type": "string" }, "state": { "type": "string" }, "street": { "type": "string" }, "postal_code": { "type": "string" }, "country": { "type": "string" } }, "required": [ "city", "state", "street", "postal_code" ] } } } } } }, "responses": { "201": { "description": "201", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9b2ada28-be3c-47ab-883f-ba72e5d8305d", "name": "John Doe", "birth_date": "", "email": "", "phone_number": "", "address": { "city": "", "state": "", "street": "", "postal_code": "", "country": "" }, "gender": "", "remark": "", "phone_number_country_code": "", "created_at": "2024-01-24T16:05:10+08:00", "updated_at": "2024-01-24T16:05:10+08:00" } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "birth_date": { "type": "string" }, "email": { "type": "string" }, "phone_number": { "type": "string" }, "address": { "type": "object", "properties": { "city": { "type": "string" }, "state": { "type": "string" }, "street": { "type": "string" }, "postal_code": { "type": "string" }, "country": { "type": "string" } }, "required": [ "city", "state", "street", "postal_code" ] }, "gender": { "type": "string" }, "remark": { "type": "string" }, "phone_number_country_code": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "name", "birth_date", "email", "phone_number", "address", "gender", "remark", "phone_number_country_code", "created_at", "updated_at" ] } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/customer' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest' \\\n --form ", "name": "Example request" } ], "samples-languages": [ "curl" ] } } }, "/v1/customers/{customer_id}": { "get": { "summary": "Get Customer Detail", "description": "A customer is a person or a company that is registered with HitPay. This endpoint allows you to retrieve a customer's details.", "operationId": "get-customer-details", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "customer_id", "in": "path", "description": "The Customer id", "schema": { "type": "string" }, "required": true } ], "responses": { "201": { "description": "201", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9b2ada28-be3c-47ab-883f-ba72e5d8305d", "name": "John Doe", "birth_date": "", "email": "", "phone_number": "", "address": { "city": "", "state": "", "street": "", "postal_code": "", "country": "" }, "gender": "", "remark": "", "phone_number_country_code": "", "created_at": "2024-01-24T16:05:10+08:00", "updated_at": "2024-01-24T16:05:10+08:00" } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "birth_date": { "type": "string" }, "email": { "type": "string" }, "phone_number": { "type": "string" }, "address": { "type": "object", "properties": { "city": { "type": "string" }, "state": { "type": "string" }, "street": { "type": "string" }, "postal_code": { "type": "string" }, "country": { "type": "string" } }, "required": [ "city", "state", "street", "postal_code" ] }, "gender": { "type": "string" }, "remark": { "type": "string" }, "phone_number_country_code": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "name", "birth_date", "email", "phone_number", "address", "gender", "remark", "phone_number_country_code", "created_at", "updated_at" ] } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\Customer] 973ee456-d28f-4418-93c5-d37e4b311685\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\Customer] 973ee456-d28f-4418-93c5-d37e4b311685" ] } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/customers/9b29471a-17bf-4332-835b-a6af8e0cc430' \\\n--header 'X-BUSINESS-API-KEY: apikey' \\\n--header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "patch": { "summary": "Update Customer", "description": "This endpoint allows you to update a customer's details.", "operationId": "update-customer", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "customer_id", "in": "path", "description": "The Customer id", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "examples": [ "John Doe" ], "description": "The name of the customer" }, "email": { "type": "string", "description": "The email of the customer" }, "phone_number": { "type": "string", "description": "The phone number of the customer" }, "phone_number_country_code": { "type": "string", "description": "The country code of the phone number" }, "remark": { "type": "string", "description": "The remark of the customer" }, "birth_date": { "type": "string", "format": "date", "description": "The birth date of the customer" }, "gender": { "type": "string", "description": "The gender of the customer" }, "address": { "type": "object", "properties": { "city": { "type": "string" }, "state": { "type": "string" }, "street": { "type": "string" }, "postal_code": { "type": "string" }, "country": { "type": "string" } }, "required": [ "city", "state", "street", "postal_code" ] } } } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9b2ada28-be3c-47ab-883f-ba72e5d8305d", "name": "John Doe", "birth_date": "", "email": "", "phone_number": "", "address": { "city": "", "state": "", "street": "", "postal_code": "", "country": "" }, "gender": "", "remark": "", "phone_number_country_code": "", "created_at": "2024-01-24T16:05:10+08:00", "updated_at": "2024-01-24T16:05:10+08:00" } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "birth_date": { "type": "string" }, "email": { "type": "string" }, "phone_number": { "type": "string" }, "address": { "type": "object", "properties": { "city": { "type": "string" }, "state": { "type": "string" }, "street": { "type": "string" }, "postal_code": { "type": "string" }, "country": { "type": "string" } }, "required": [ "city", "state", "street", "postal_code" ] }, "gender": { "type": "string" }, "remark": { "type": "string" }, "phone_number_country_code": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "name", "birth_date", "email", "phone_number", "address", "gender", "remark", "phone_number_country_code", "created_at", "updated_at" ] } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\Customer] 973ee456-d28f-4418-93c5-d37e4b311685\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\Customer] 973ee456-d28f-4418-93c5-d37e4b311685" ] } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/customer/9b2ada28-be3c-47ab-883f-ba72e5d8305d' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest' \\\n --form ", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "delete": { "summary": "Delete Customer", "description": "This endpoint allows you to delete a customer.", "operationId": "delete-customer", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "customer_id", "in": "path", "description": "The Customer id", "schema": { "type": "string" }, "required": true } ], "responses": { "204": { "description": "204", "content": { "application/json": { "examples": { "Result": { "value": "1" } }, "schema": { "type": "integer", "examples": [ 1 ], "default": 0 } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\Customer] 973ee456-d28f-4418-93c5-d37e4b311685\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\Customer] 973ee456-d28f-4418-93c5-d37e4b311685" ] } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request DELETE 'https://api.sandbox.hit-pay.com/v1/customer/9b2ada28-be3c-47ab-883f-ba72e5d8305d' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } } }, "/v1/products": { "get": { "summary": "Get All Products", "description": "This endpoint allows you to retrieve all products. You can also filter the products by name, category, and status.", "operationId": "get-all-products", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "statuses", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "draft", "published" ] } } }, { "name": "categories", "in": "query", "schema": { "type": "array", "items": { "type": "string", "format": "uuid", "example": [ "9bbbd5f4-8e48-45e3-bb24-cc3baa060793" ] } } }, { "name": "source", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "shopify", "wooCommerce" ] } } }, { "name": "inventory", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "in_stock", "out_of_stock" ] } } }, { "name": "location_ids", "in": "query", "schema": { "type": "array", "items": { "type": "string", "format": "uuid", "example": [ "9bbbd5f4-8e48-45e3-bb24-cc3baa060793" ] } } }, { "name": "channels", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "pos", "invoice", "online_store" ] } } }, { "name": "keywords", "in": "query", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "page", "in": "query", "schema": { "type": "number", "default": 1 } }, { "name": "per_page", "in": "query", "schema": { "type": "number", "default": 10 } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "data": [ { "id": "9a12fab4-d112-48af-9d6b-050d650b0a25", "business_id": "9130c422-bf97-4bd1-b370-07a3a6f40708", "category_id": [ "9a12fab0-d282-4437-9460-c3d26662d11a" ], "name": "Beanie", "headline": null, "description": "

Stylish hat suitable for the winter.

", "currency": "SGD", "price": 15, "price_display": "SGD 15.00", "price_stored": 1500, "tax_id": null, "is_manageable": 1, "is_pinned": false, "status": "published", "product_weight": 250, "delivery_method_required": true, "has_variations": true, "is_shopify": false, "product_url": "", "variations_count": 2, "variations": [ { "id": "9a12fab4-d998-44ea-ad11-8753be88a1c9", "stock_keeping_unit": null, "description": "Medium", "weight": null, "length": null, "width": null, "depth": null, "price": 18, "price_display": "SGD 18.00", "price_stored": 1800, "quantity": 150, "quantity_alert_level": 10, "product_variation_weight": 250, "variation_value_1": "Medium", "variation_value_2": null, "variation_value_3": null }, { "id": "9a12fab4-dd20-4f8f-9e74-de28629f863a", "stock_keeping_unit": null, "description": "Large", "weight": null, "length": null, "width": null, "depth": null, "price": 20, "price_display": "SGD 20.00", "price_stored": 2000, "quantity": 148, "quantity_alert_level": 10, "product_variation_weight": 255, "variation_value_1": "Large", "variation_value_2": null, "variation_value_3": null } ], "variation_key_1": "Size", "variation_key_2": null, "variation_key_3": null, "images": [ { "id": "9a12fab6-1e76-448e-8c45-e84e2e38f294", "caption": "Beanie", "url": "", "other_dimensions": [ { "size": "icon", "path": "" }, { "size": "large", "path": "" }, { "size": "small", "path": "" }, { "size": "medium", "path": "" }, { "size": "thumbnail", "path": "" } ] } ], "is_published": true, "created_at": "2023-09-07T13:04:22+08:00", "updated_at": "2023-09-18T14:36:54+08:00", "starts_at": null, "ends_at": null } ], "links": { "first": "", "last": "", "prev": null, "next": "h" }, "meta": { "current_page": 1, "from": 1, "last_page": 49, "links": [], "path": "", "per_page": 25, "to": 25, "total": 1214 } } } }, "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "business_id": { "type": "string" }, "category_id": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "headline": { "type": "string", "nullable": true }, "description": { "type": "string" }, "currency": { "type": "string" }, "price": { "type": "number" }, "price_display": { "type": "string" }, "price_stored": { "type": "integer" }, "tax_id": { "type": "string", "nullable": true }, "is_manageable": { "type": "integer" }, "is_pinned": { "type": "boolean" }, "status": { "type": "string" }, "product_weight": { "type": "integer", "description": "Weight in gram", "nullable": true }, "delivery_method_required": { "type": "boolean" }, "has_variations": { "type": "boolean" }, "is_shopify": { "type": "boolean" }, "product_url": { "type": "string" }, "variations_count": { "type": "integer" }, "variations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "stock_keeping_unit": { "type": "string", "nullable": true }, "description": { "type": "string" }, "weight": { "type": "string", "nullable": true }, "length": { "type": "string", "nullable": true }, "width": { "type": "string", "nullable": true }, "depth": { "type": "string", "nullable": true }, "price": { "type": "number" }, "price_display": { "type": "string" }, "price_stored": { "type": "integer" }, "quantity": { "type": "integer" }, "quantity_alert_level": { "type": "integer" }, "product_variation_weight": { "type": "integer", "description": "Weight in gram", "nullable": true }, "variation_value_1": { "type": "string" }, "variation_value_2": { "type": "string", "nullable": true }, "variation_value_3": { "type": "string", "nullable": true } }, "required": [ "id", "stock_keeping_unit", "description", "weight", "length", "width", "depth", "price", "price_display", "price_stored", "quantity", "quantity_alert_level", "variation_value_1", "variation_value_2", "variation_value_3" ] } }, "variation_key_1": { "type": "string", "nullable": true }, "variation_key_2": { "type": "string", "nullable": true }, "variation_key_3": { "type": "string", "nullable": true }, "images": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "caption": { "type": "string", "nullable": true }, "url": { "type": "string" }, "other_dimensions": { "type": "array", "items": { "type": "object", "properties": { "size": { "type": "string" }, "path": { "type": "string" } } } } }, "required": [ "id", "caption", "url", "other_dimensions" ] } }, "is_published": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "starts_at": { "type": "string", "format": "date-time", "nullable": true }, "ends_at": { "type": "string", "format": "date-time", "nullable": true } }, "required": [ "id", "business_id", "category_id", "name", "description", "currency", "price", "price_display", "price_stored", "is_manageable", "is_pinned", "status", "has_variations", "is_shopify", "product_url", "variations_count", "variations", "is_published", "created_at", "updated_at" ] } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string", "nullable": true }, "next": { "type": "string", "nullable": true } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "from": { "type": "integer" }, "last_page": { "type": "integer" }, "links": { "type": "array", "items": { "type": "object", "properties": { "url": { "type": "string" }, "label": { "type": "string" }, "active": { "type": "boolean" } } } }, "path": { "type": "string" }, "per_page": { "type": "integer" }, "to": { "type": "integer" }, "total": { "type": "integer" } } } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/products' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "post": { "summary": "Create a Product", "description": "This endpoint allows you to create a product.", "operationId": "create-product", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "name": { "type": "string", "example": "Product Beanie", "description": "The name of the product" }, "description": { "type": "string", "description": "The description of the product", "example": "

Stylish hat suitable for the winter.

" }, "barcode": { "type": "string", "description": "The barcode of the product", "maxLength": 255, "example": "1234567890123" }, "headline": { "type": "string", "description": "The headline of the product", "example": "Stylish hat suitable for the winter." }, "stock_keeping_unit": { "type": "string", "description": "The stock keeping unit of the product", "example": "SKU123456", "maxLength": 255 }, "quantity": { "type": "number", "examples": 1, "description": "The quantity of the product", "minimum": 0 }, "quantity_alert_level": { "type": "number", "examples": 1, "description": "The quantity alert level of the product. It is required when quantity alert level is present.", "minimum": 0 }, "currency": { "type": "string", "description": "The currency of the product", "example": "sgd" }, "price": { "type": "number", "description": "The price of the product", "example": 15 }, "category_ids": { "type": "array", "description": "The list of business product category ids of the product", "items": { "type": "string", "format": "uuid", "description": "The category ids of the product", "example": "9a12fab0-d282-4437-9460-c3d26662d11a" }, "example": [ "9a12fab0-d282-4437-9460-c3d26662d11a" ] }, "channels": { "type": "array", "items": { "type": "string", "enum": [ "online_store", "pos", "invoice" ], "description": "The channels of the product" } }, "location_ids": { "type": "array", "items": { "type": "string", "format": "uuid", "description": "The location ids of the product", "example": "9a12fab4-d112-48af-9d6b-050d650b0a25" } }, "locations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "The location id of the product", "example": "9a12fab4-d112-48af-9d6b-050d650b0a25" }, "manage_inventory": { "type": "string", "description": "The manage inventory of the product", "enum": [ "1", "0" ], "default": "1" }, "quantity": { "type": "integer", "description": "The quantity of the product", "minimum": 0 }, "quantity_alert_level": { "type": "integer", "description": "The quantity alert level of the product", "minimum": 0 } } } }, "open_amount": { "type": "string", "description": "The open amount of the product", "enum": [ "1", "0" ], "default": "0" }, "is_manageable": { "type": "string", "description": "The is manageable of the product", "enum": [ "1", "0" ], "default": "1" }, "is_pinned": { "type": "string", "description": "The is pinned of the product", "enum": [ "1", "0" ], "default": "0" }, "product_weight": { "type": "integer", "description": "Weight in gram", "example": 250 }, "delivery_method_required": { "type": "boolean", "default": true }, "variations": { "type": "array", "items": { "type": "object", "properties": { "image": { "type": "string", "format": "binary" }, "price": { "type": "number" }, "quantity": { "type": "integer" }, "quantity_alert_level": { "type": "integer" }, "product_variation_weight": { "type": "integer", "description": "Weight in gram", "nullable": true }, "variation_value_1": { "type": "string" }, "variation_value_2": { "type": "string", "nullable": true }, "variation_value_3": { "type": "string", "nullable": true } }, "required": [ "price", "quantity", "quantity_alert_level" ] } }, "image": { "type": "array", "items": { "type": "object", "properties": { "image": { "type": "string", "format": "binary" } } } }, "publish": { "type": "string", "enum": [ "1", "0" ], "default": "1" } }, "required": [ "name", "price" ] } } } }, "responses": { "201": { "description": "201", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9a12fab4-d112-48af-9d6b-050d650b0a25", "business_id": "9130c422-bf97-4bd1-b370-07a3a6f40708", "category_id": [ "9a12fab0-d282-4437-9460-c3d26662d11a" ], "name": "Beanie", "headline": null, "description": "

Stylish hat suitable for the winter.

", "currency": "SGD", "price": 15, "price_display": "SGD 15.00", "price_stored": 1500, "tax_id": null, "is_manageable": 1, "is_pinned": false, "status": "published", "product_weight": 250, "delivery_method_required": true, "has_variations": true, "is_shopify": false, "product_url": "", "variations_count": 2, "variations": [ { "id": "9a12fab4-d998-44ea-ad11-8753be88a1c9", "stock_keeping_unit": null, "description": "Medium", "weight": null, "length": null, "width": null, "depth": null, "price": 18, "price_display": "SGD 18.00", "price_stored": 1800, "quantity": 150, "quantity_alert_level": 10, "product_variation_weight": 250, "variation_value_1": "Medium", "variation_value_2": null, "variation_value_3": null }, { "id": "9a12fab4-dd20-4f8f-9e74-de28629f863a", "stock_keeping_unit": null, "description": "Large", "weight": null, "length": null, "width": null, "depth": null, "price": 20, "price_display": "SGD 20.00", "price_stored": 2000, "quantity": 148, "quantity_alert_level": 10, "product_variation_weight": 255, "variation_value_1": "Large", "variation_value_2": null, "variation_value_3": null } ], "variation_key_1": "Size", "variation_key_2": null, "variation_key_3": null, "images": [ { "id": "9a12fab6-1e76-448e-8c45-e84e2e38f294", "caption": "Beanie", "url": "", "other_dimensions": [ { "size": "icon", "path": "" }, { "size": "large", "path": "" }, { "size": "small", "path": "" }, { "size": "medium", "path": "" }, { "size": "thumbnail", "path": "" } ] } ], "is_published": true, "created_at": "2023-09-07T13:04:22+08:00", "updated_at": "2023-09-18T14:36:54+08:00", "starts_at": null, "ends_at": null } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "business_id": { "type": "string" }, "category_id": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "headline": { "type": "string", "nullable": true }, "description": { "type": "string" }, "currency": { "type": "string" }, "price": { "type": "number" }, "price_display": { "type": "string" }, "price_stored": { "type": "integer" }, "tax_id": { "type": "string", "nullable": true }, "is_manageable": { "type": "integer" }, "is_pinned": { "type": "boolean" }, "status": { "type": "string" }, "product_weight": { "type": "integer", "description": "Weight in gram" }, "delivery_method_required": { "type": "boolean" }, "has_variations": { "type": "boolean" }, "is_shopify": { "type": "boolean" }, "product_url": { "type": "string" }, "variations_count": { "type": "integer" }, "variations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "stock_keeping_unit": { "type": "string", "nullable": true }, "description": { "type": "string" }, "weight": { "type": "string", "nullable": true }, "length": { "type": "string", "nullable": true }, "width": { "type": "string", "nullable": true }, "depth": { "type": "string", "nullable": true }, "price": { "type": "number" }, "price_display": { "type": "string" }, "price_stored": { "type": "integer" }, "quantity": { "type": "integer" }, "quantity_alert_level": { "type": "integer" }, "variation_value_1": { "type": "string" }, "product_variation_weight": { "type": "integer", "description": "Weight in gram" }, "variation_value_2": { "type": "string", "nullable": true }, "variation_value_3": { "type": "string", "nullable": true } }, "required": [ "id", "stock_keeping_unit", "description", "weight", "length", "width", "depth", "price", "price_display", "price_stored", "quantity", "quantity_alert_level", "variation_value_1", "variation_value_2", "variation_value_3" ] } }, "variation_key_1": { "type": "string", "nullable": true }, "variation_key_2": { "type": "string", "nullable": true }, "variation_key_3": { "type": "string", "nullable": true }, "images": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "caption": { "type": "string", "nullable": true }, "url": { "type": "string" }, "other_dimensions": { "type": "array", "items": { "type": "object", "properties": { "size": { "type": "string" }, "path": { "type": "string" } } } } }, "required": [ "id", "caption", "url", "other_dimensions" ] } }, "is_published": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "starts_at": { "type": "string", "format": "date-time", "nullable": true }, "ends_at": { "type": "string", "format": "date-time", "nullable": true } }, "required": [ "id", "business_id", "category_id", "name", "description", "currency", "price", "price_display", "price_stored", "is_manageable", "is_pinned", "status", "has_variations", "is_shopify", "product_url", "variations_count", "variations", "is_published", "created_at", "updated_at" ] } } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": "{\"message\":\"The given data was invalid.\",\"errors\":{\"name\":[\"The name field is required.\"]}}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string" }, "errors": { "type": "object", "properties": { "name": { "type": "array", "items": { "type": "string" } } } } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request POST 'https://api.sandbox.hit-pay.com/v1/products' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\n--header 'X-Requested-With: XMLHttpRequest' \\n--header 'Content-Type: application/json' \\n--data-raw '{\"name\":\"Beanie\",\"headline\":\"\",\"description\":\"

Stylish hat suitable for the winter.

\",\"currency\":\"SGD\",\"price\":15,\"price_display\":\"SGD 15.00\",\"price_stored\":1500,\"tax_id\":null,\"is_manageable\":1,\"is_pinned\":false,\"status\":\"published\",\"has_variations\":true,\"is_shopify\":false,\"product_url\":\"\",\"variations_count\":2,\"variations\":[{\"id\":\"9a12fab4-d998-44ea-ad11-8753be88a1c9\",\"stock_keeping_unit\":null,\"description\":\"Medium\",\"weight\":null,\"length\":null,\"width\":null,\"depth\":null,\"price\":18,\"price_display\":\"SGD 18.00\",\"price_stored\":1800,\"quantity\":150,\"quantity_alert_level\":10,\"variation_value_1\":\"Medium\",\"variation_value_2\":null,\"variation_value_3\":null},{\"id\":\"9a12fab4-dd20-4f8f-9e74-de28629f863a\",\"stock_keeping_unit\":null,\"description\":\"Large\",\"weight\":null,\"length\":null,\"width\":null,\"depth\":null,\"price\":20,\"price_display\":\"SGD 20.00\",\"price_stored\":2000,\"quantity\":148,\"quantity_alert_level\":10,\"variation_value_1\":\"Large\",\"variation_value_2\":null,\"variation_value_3\":null}],\"variation_key_1\":\"Size\",\"variation_key_2\":null,\"variation_key_3\":null,\"starts_at\":null,\"ends_at\":null}'", "name": "Example request" } ], "samples-languages": [ "curl" ] } } }, "/v1/products/{product_id}": { "get": { "summary": "Get Product Detail", "description": "This endpoint allows you to get a product detail.", "operationId": "get-product", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "product_id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9a12fab4-d112-48af-9d6b-050d650b0a25", "business_id": "9130c422-bf97-4bd1-b370-07a3a6f40708", "category_id": [ "9a12fab0-d282-4437-9460-c3d26662d11a" ], "name": "Beanie", "headline": null, "description": "

Stylish hat suitable for the winter.

", "currency": "SGD", "price": 15, "price_display": "SGD 15.00", "price_stored": 1500, "tax_id": null, "is_manageable": 1, "is_pinned": false, "status": "published", "product_weight": 250, "delivery_method_required": true, "has_variations": true, "is_shopify": false, "product_url": "", "variations_count": 2, "variations": [ { "id": "9a12fab4-d998-44ea-ad11-8753be88a1c9", "stock_keeping_unit": null, "description": "Medium", "weight": null, "length": null, "width": null, "depth": null, "price": 18, "price_display": "SGD 18.00", "price_stored": 1800, "quantity": 150, "quantity_alert_level": 10, "product_variation_weight": 250, "variation_value_1": "Medium", "variation_value_2": null, "variation_value_3": null }, { "id": "9a12fab4-dd20-4f8f-9e74-de28629f863a", "stock_keeping_unit": null, "description": "Large", "weight": null, "length": null, "width": null, "depth": null, "price": 20, "price_display": "SGD 20.00", "price_stored": 2000, "quantity": 148, "quantity_alert_level": 10, "product_variation_weight": 255, "variation_value_1": "Large", "variation_value_2": null, "variation_value_3": null } ], "variation_key_1": "Size", "variation_key_2": null, "variation_key_3": null, "images": [ { "id": "9a12fab6-1e76-448e-8c45-e84e2e38f294", "caption": "Beanie", "url": "", "other_dimensions": [ { "size": "icon", "path": "" }, { "size": "large", "path": "" }, { "size": "small", "path": "" }, { "size": "medium", "path": "" }, { "size": "thumbnail", "path": "" } ] } ], "is_published": true, "created_at": "2023-09-07T13:04:22+08:00", "updated_at": "2023-09-18T14:36:54+08:00", "starts_at": null, "ends_at": null } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "business_id": { "type": "string" }, "category_id": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "headline": { "type": "string", "nullable": true }, "description": { "type": "string" }, "currency": { "type": "string" }, "price": { "type": "number" }, "price_display": { "type": "string" }, "price_stored": { "type": "integer" }, "tax_id": { "type": "string", "nullable": true }, "is_manageable": { "type": "integer" }, "is_pinned": { "type": "boolean" }, "status": { "type": "string" }, "product_weight": { "type": "integer", "description": "Weight in gram", "nullable": true }, "delivery_method_required": { "type": "boolean", "nullable": true }, "has_variations": { "type": "boolean" }, "is_shopify": { "type": "boolean" }, "product_url": { "type": "string" }, "variations_count": { "type": "integer" }, "variations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "stock_keeping_unit": { "type": "string", "nullable": true }, "description": { "type": "string" }, "weight": { "type": "string", "nullable": true }, "length": { "type": "string", "nullable": true }, "width": { "type": "string", "nullable": true }, "depth": { "type": "string", "nullable": true }, "price": { "type": "number" }, "price_display": { "type": "string" }, "price_stored": { "type": "integer" }, "quantity": { "type": "integer" }, "quantity_alert_level": { "type": "integer" }, "product_variation_weight": { "type": "integer", "description": "Weight in gram", "nullable": true }, "variation_value_1": { "type": "string" }, "variation_value_2": { "type": "string", "nullable": true }, "variation_value_3": { "type": "string", "nullable": true } }, "required": [ "id", "stock_keeping_unit", "description", "weight", "length", "width", "depth", "price", "price_display", "price_stored", "quantity", "quantity_alert_level", "variation_value_1", "variation_value_2", "variation_value_3" ] } }, "variation_key_1": { "type": "string", "nullable": true }, "variation_key_2": { "type": "string", "nullable": true }, "variation_key_3": { "type": "string", "nullable": true }, "images": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "caption": { "type": "string", "nullable": true }, "url": { "type": "string" }, "other_dimensions": { "type": "array", "items": { "type": "object", "properties": { "size": { "type": "string" }, "path": { "type": "string" } } } } }, "required": [ "id", "caption", "url", "other_dimensions" ] } }, "is_published": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "starts_at": { "type": "string", "format": "date-time", "nullable": true }, "ends_at": { "type": "string", "format": "date-time", "nullable": true } }, "required": [ "id", "business_id", "category_id", "name", "description", "currency", "price", "price_display", "price_stored", "is_manageable", "is_pinned", "status", "has_variations", "is_shopify", "product_url", "variations_count", "variations", "is_published", "created_at", "updated_at" ] } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\Product].\" 973ee456-d28f-4418-93c5-d37e4b311685\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string" } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request GET 'https://api.sandbox.hit-pay.com/v1/products/9a12fab4-d112-48af-9d6b-050d650b0a25' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\n--header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "post": { "summary": "Update the product", "description": "This endpoint allows you to update the product.", "operationId": "update-product", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "product_id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "name": { "type": "string", "examples": [ "Product Beanie" ], "description": "The name of the product" }, "description": { "type": "string", "description": "The description of the product" }, "headline": { "type": "string", "description": "The headline of the product" }, "quantity": { "type": "number", "examples": [ 1 ], "description": "The quantity of the product", "minimum": 0 }, "quantity_alert_level": { "type": "number", "examples": [ 1 ], "description": "The quantity alert level of the product. It is required when quantity alert level is present.", "minimum": 0 }, "currency": { "type": "string", "description": "The currency of the product", "example": "sgd" }, "price": { "type": "number", "description": "The price of the product" }, "category_ids": { "type": "array", "description": "The list of business product category ids of the product", "items": { "type": "string", "format": "uuid", "description": "The category ids of the product", "example": "9a12fab0-d282-4437-9460-c3d26662d11a" }, "example": [ "9a12fab0-d282-4437-9460-c3d26662d11a" ] }, "is_manageable": { "type": "string", "description": "The is manageable of the product", "enum": [ "1", "0" ], "default": "1" }, "is_pinned": { "type": "string", "description": "The is pinned of the product", "enum": [ "1", "0" ], "default": "0" }, "product_weight": { "type": "integer", "description": "Weight in gram", "nullable": true }, "delivery_method_required": { "type": "boolean", "nullable": true }, "existing_variation": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "image": { "type": "string", "format": "binary" }, "price": { "type": "number" }, "quantity": { "type": "integer" }, "quantity_alert_level": { "type": "integer" }, "product_variation_weight": { "type": "integer", "description": "Weight in gram", "nullable": true }, "variation_value_1": { "type": "string" }, "variation_value_2": { "type": "string", "nullable": true }, "variation_value_3": { "type": "string", "nullable": true } }, "required": [ "id", "price", "quantity", "quantity_alert_level" ] } }, "images": { "type": "array", "items": { "type": "object", "properties": { "image": { "type": "string", "format": "binary" } } } }, "publish": { "type": "string", "enum": [ "1", "0" ], "default": "1" }, "_method": { "type": "string", "default": "PATCH", "value": "PATCH" } }, "required": [ "name", "price" ] } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9a12fab4-d112-48af-9d6b-050d650b0a25", "business_id": "9130c422-bf97-4bd1-b370-07a3a6f40708", "category_id": [ "9a12fab0-d282-4437-9460-c3d26662d11a" ], "name": "Beanie", "headline": null, "description": "

Stylish hat suitable for the winter.

", "currency": "SGD", "price": 15, "price_display": "SGD 15.00", "price_stored": 1500, "tax_id": null, "is_manageable": 1, "is_pinned": false, "status": "published", "product_weight": 250, "delivery_method_required": true, "has_variations": true, "is_shopify": false, "product_url": "", "variations_count": 2, "variations": [ { "id": "9a12fab4-d998-44ea-ad11-8753be88a1c9", "stock_keeping_unit": null, "description": "Medium", "weight": null, "length": null, "width": null, "depth": null, "price": 18, "price_display": "SGD 18.00", "price_stored": 1800, "quantity": 150, "quantity_alert_level": 10, "product_variation_weight": 250, "variation_value_1": "Medium", "variation_value_2": null, "variation_value_3": null }, { "id": "9a12fab4-dd20-4f8f-9e74-de28629f863a", "stock_keeping_unit": null, "description": "Large", "weight": null, "length": null, "width": null, "depth": null, "price": 20, "price_display": "SGD 20.00", "price_stored": 2000, "quantity": 148, "quantity_alert_level": 10, "product_variation_weight": 255, "variation_value_1": "Large", "variation_value_2": null, "variation_value_3": null } ], "variation_key_1": "Size", "variation_key_2": null, "variation_key_3": null, "images": [ { "id": "9a12fab6-1e76-448e-8c45-e84e2e38f294", "caption": "Beanie", "url": "", "other_dimensions": [ { "size": "icon", "path": "" }, { "size": "large", "path": "" }, { "size": "small", "path": "" }, { "size": "medium", "path": "" }, { "size": "thumbnail", "path": "" } ] } ], "is_published": true, "created_at": "2023-09-07T13:04:22+08:00", "updated_at": "2023-09-18T14:36:54+08:00", "starts_at": null, "ends_at": null } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "business_id": { "type": "string" }, "category_id": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "headline": { "type": "string", "nullable": true }, "description": { "type": "string" }, "currency": { "type": "string" }, "price": { "type": "number" }, "price_display": { "type": "string" }, "price_stored": { "type": "integer" }, "tax_id": { "type": "string", "nullable": true }, "is_manageable": { "type": "integer" }, "is_pinned": { "type": "boolean" }, "status": { "type": "string" }, "has_variations": { "type": "boolean" }, "is_shopify": { "type": "boolean" }, "product_url": { "type": "string" }, "variations_count": { "type": "integer" }, "variations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "stock_keeping_unit": { "type": "string", "nullable": true }, "description": { "type": "string" }, "weight": { "type": "string", "nullable": true }, "length": { "type": "string", "nullable": true }, "width": { "type": "string", "nullable": true }, "depth": { "type": "string", "nullable": true }, "price": { "type": "number" }, "price_display": { "type": "string" }, "price_stored": { "type": "integer" }, "quantity": { "type": "integer" }, "quantity_alert_level": { "type": "integer" }, "variation_value_1": { "type": "string" }, "variation_value_2": { "type": "string", "nullable": true }, "variation_value_3": { "type": "string", "nullable": true } }, "required": [ "id", "stock_keeping_unit", "description", "weight", "length", "width", "depth", "price", "price_display", "price_stored", "quantity", "quantity_alert_level", "variation_value_1", "variation_value_2", "variation_value_3" ] } }, "variation_key_1": { "type": "string", "nullable": true }, "variation_key_2": { "type": "string", "nullable": true }, "variation_key_3": { "type": "string", "nullable": true }, "images": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "caption": { "type": "string", "nullable": true }, "url": { "type": "string" }, "other_dimensions": { "type": "array", "items": { "type": "object", "properties": { "size": { "type": "string" }, "path": { "type": "string" } } } } }, "required": [ "id", "caption", "url", "other_dimensions" ] } }, "is_published": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "starts_at": { "type": "string", "format": "date-time", "nullable": true }, "ends_at": { "type": "string", "format": "date-time", "nullable": true } }, "required": [ "id", "business_id", "category_id", "name", "description", "currency", "price", "price_display", "price_stored", "is_manageable", "is_pinned", "status", "has_variations", "is_shopify", "product_url", "variations_count", "variations", "is_published", "created_at", "updated_at" ] } } } }, "422": { "description": "422", "content": { "application/json": { "examples": { "Result": { "value": "{\"message\":\"The given data was invalid.\",\"errors\":{\"name\":[\"The name field is required.\"]}}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string" }, "errors": { "type": "object", "properties": { "name": { "type": "array", "items": { "type": "string" } } } } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request PATCH 'https://api.sandbox.hit-pay.com/v1/products/9a12fab4-d112-48af-9d6b-050d650b0a25' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\n--header 'X-Requested-With: XMLHttpRequest' \\n--header 'Content-Type: application/json' \\n--data-raw '{\"name\":\"Beanie\",\"headline\":\"\",\"description\":\"

Stylish hat suitable for the winter.

\",\"currency\":\"SGD\",\"price\":15,\"price_display\":\"SGD 15.00\",\"price_stored\":1500,\"tax_id\":null,\"is_manageable\":1,\"is_pinned\":false,\"status\":\"published\",\"has_variations\":true,\"is_shopify\":false,\"product_url\":\"\",\"variations_count\":2,\"variations\":[{\"id\":\"9a12fab4-d998-44ea-ad11-8753be88a1c9\",\"stock_keeping_unit\":null,\"description\":\"Medium\",\"weight\":null,\"length\":null,\"width\":null,\"depth\":null,\"price\":18,\"price_display\":\"SGD 18.00\",\"price_stored\":1800,\"quantity\":150,\"quantity_alert_level\":10,\"variation_value_1\":\"Medium\",\"variation_value_2\":null,\"variation_value_3\":null},{\"id\":\"9a12fab4-dd20-4f8f-9e74-de28629f863a\",\"stock_keeping_unit\":null,\"description\":\"Large\",\"weight\":null,\"length\":null,\"width\":null,\"depth\":null,\"price\":20,\"price_display\":\"SGD 20.00\",\"price_stored\":2000,\"quantity\":148,\"quantity_alert_level\":10,\"variation_value_1\":\"Large\",\"variation_value_2\":null,\"variation_value_3\":null}],\"variation_key_1\":\"Size\",\"variation_key_2\":null,\"variation_key_3\":null,\"starts_at\":null\"}" } ], "samples-languages": [ "curl" ] } }, "delete": { "summary": "Delete a Product", "description": "This endpoint allows you to delete a product.", "operationId": "delete-product", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "product_id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "204", "content": { "application/json": { "examples": { "Result": { "value": "1" } }, "schema": { "type": "integer" } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request DELETE 'https://api.sandbox.hit-pay.com/v1/products/9a12fab4-d112-48af-9d6b-050d650b0a25' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\n--header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } } }, "/v1/product-category": { "get": { "summary": "Get All Product Category", "description": "Use this API to get all product category", "operationId": "get-all-product-category", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "perPage", "in": "query", "required": false, "schema": { "type": "integer", "default": 20, "example": 20 } }, { "name": "page", "in": "query", "required": false, "schema": { "type": "integer", "default": 1, "example": 1 } }, { "name": "active", "in": "query", "required": false, "description": "Filter by active status", "schema": { "type": "boolean", "example": true } }, { "name": "parent_id", "in": "query", "required": false, "description": "The parent category id, to list all subcategories of a parent category", "schema": { "type": "string", "example": "9a12fab0-d282-4437-9460-c3d26662d11a" } }, { "name": "keywords", "in": "query", "required": false, "description": "Filter by keywords, name", "schema": { "type": "string", "example": "Beanie" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "example": "9d8cbab5-13fe-4102-8bf5-3b13668ab811" }, "name": { "type": "string", "example": "mens hat example" }, "description": { "type": "string", "nullable": true, "example": "mens hat example" }, "is_active": { "type": "boolean", "example": true }, "order": { "type": "integer", "example": 1 }, "children": { "type": "array", "items": { "type": "object" }, "example": [] }, "is_parent": { "type": "boolean", "example": true }, "image": { "type": "object", "nullable": true, "properties": { "id": { "type": "string", "format": "uuid" }, "caption": { "type": "string" }, "alt_text": { "type": "string", "nullable": true }, "group": { "type": "string" }, "order": { "type": "integer" }, "extension": { "type": "string" }, "status": { "type": "string", "nullable": true }, "disk": { "type": "string" }, "url": { "type": "string" }, "other_dimensions": { "type": "array", "items": { "type": "object", "properties": { "size": { "type": "string" }, "path": { "type": "string" } } } }, "urls": { "type": "object", "properties": { "icon": { "type": "string" }, "large": { "type": "string" }, "small": { "type": "string" }, "medium": { "type": "string" }, "thumbnail": { "type": "string" } } } } }, "emoji": { "type": "string", "nullable": true, "example": "?" }, "pos_color": { "type": "string", "nullable": true, "example": "#4C689C" } } } }, "links": { "type": "object", "properties": { "first": { "type": "string", "example": "https://api.sandbox.hit-pay.com/v1/product-category?page=1" }, "last": { "type": "string", "example": "https://api.sandbox.hit-pay.com/v1/product-category?page=4" }, "prev": { "type": "string", "nullable": true, "example": null }, "next": { "type": "string", "example": "https://api.sandbox.hit-pay.com/v1/product-category?page=2" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer", "example": 1 }, "from": { "type": "integer", "example": 1 }, "last_page": { "type": "integer", "example": 4 }, "links": { "type": "array", "items": { "type": "object", "properties": { "url": { "type": "string", "nullable": true }, "label": { "type": "string" }, "active": { "type": "boolean" } } } }, "path": { "type": "string", "example": "https://api.sandbox.hit-pay.com/v1/product-category" }, "per_page": { "type": "integer", "example": 20 }, "to": { "type": "integer", "example": 20 }, "total": { "type": "integer", "example": 66 } } } } }, "example": { "data": [ { "id": "9d8cbab5-13fe-4102-8bf5-3b13668ab811", "name": "mens hat example", "description": "mens hat example", "is_active": true, "order": 1, "children": [], "is_parent": true, "image": null, "emoji": null, "pos_color": null } ], "links": { "first": "https://api.sandbox.hit-pay.com/v1/product-category?page=1", "last": "https://api.sandbox.hit-pay.com/v1/product-category?page=4", "prev": null, "next": "https://api.sandbox.hit-pay.com/v1/product-category?page=2" }, "meta": { "current_page": 1, "from": 1, "last_page": 4, "links": [ { "url": null, "label": "← Previous", "active": false }, { "url": "https://api.sandbox.hit-pay.com/v1/product-category?page=2", "label": "Next →", "active": false } ], "path": "https://api.sandbox.hit-pay.com/v1/product-category", "per_page": 20, "to": 20, "total": 66 } } } } } } } }, "/v1/notifications": { "get": { "summary": "Get Notifications Setting", "description": "Use this API to get the notification setting", "operationId": "get-notification-setting", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": [ { "event": "customer_receipt", "channel": "email" }, { "event": "daily_collection", "channel": "email" }, { "event": "daily_collection", "channel": "push_notification" }, { "event": "daily_payout", "channel": "email" }, { "event": "incoming_payment", "channel": "email" }, { "event": "incoming_payment", "channel": "push_notification" }, { "event": "new_order", "channel": "email" }, { "event": "new_order", "channel": "push_notification" }, { "event": "mall_gto_sync", "channel": "email" } ] } }, "schema": { "type": "array", "items": { "type": "object", "properties": { "event": { "type": "string" }, "channel": { "type": "string" } }, "required": [ "event", "channel" ] } } } } } }, "deprecated": false }, "put": { "summary": "Update Notifications Setting", "description": "Use this API to update the notification setting", "operationId": "update-notification-setting", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "customer_receipt@email": { "type": "boolean", "examples": [ true ] }, "daily_collection@email": { "type": "boolean", "examples": [ true ] }, "daily_collection@push_notification": { "type": "boolean", "examples": [ true ] }, "daily_payout@email": { "type": "boolean", "examples": [ true ] }, "incoming_payment@email": { "type": "boolean", "examples": [ true ] }, "incoming_payment@push_notification": { "type": "boolean", "examples": [ true ] }, "new_order@email": { "type": "boolean", "examples": [ true ] }, "new_order@push_notification": { "type": "boolean", "examples": [ true ] }, "pending_order@email": { "type": "boolean", "examples": [ true ] }, "mall_gto_sync@email": { "type": "boolean", "examples": [ true ] } } } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": [ { "event": "customer_receipt", "channel": "email" }, { "event": "daily_collection", "channel": "email" }, { "event": "daily_collection", "channel": "push_notification" }, { "event": "daily_payout", "channel": "email" }, { "event": "incoming_payment", "channel": "email" }, { "event": "incoming_payment", "channel": "push_notification" }, { "event": "new_order", "channel": "email" }, { "event": "new_order", "channel": "push_notification" } ] } }, "schema": { "type": "array", "items": { "type": "object", "properties": { "event": { "type": "string" }, "channel": { "type": "string" } }, "required": [ "event", "channel" ] } } } } } }, "deprecated": false } }, "/v1/webhook-events": { "get": { "summary": "Get All Webhook Events", "description": "This endpoint allows you to get all webhook events. The webhook event will listen to the event types that you specify and send a POST request to the URL that you specify.", "operationId": "get-webhook-events-list", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "business_id": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "event_types": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "business_id", "name", "url", "event_types", "created_at", "updated_at" ] } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/webhook-events' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest' \\\n --form ", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "post": { "summary": "Create a Webhook Event", "description": "This endpoint allows you to create a webhook event. The webhook event will listen to the event types that you specify and send a POST request to the URL that you specify.", "operationId": "create-webhook-event", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "name", "url", "event_types" ], "properties": { "name": { "type": "string", "maxLength": 255, "examples": [ "Test Webhook Event" ], "description": "The name of the webhook event." }, "url": { "type": "string", "format": "uri", "description": "The URL of the webhook, must be a valid URL with `https` protocol" }, "event_types": { "type": "array", "items": { "type": "string", "enum": [ "charge.created", "charge.updated", "payout.created", "order.created", "order.updated", "invoice.created", "invoice.updated", "transfer.created", "transfer.updated" ] }, "description": "The event types that the webhook will listen to. The available events: charge.created, charge.updated, payout.created, order.created, order.updated, invoice.created, transfer.created, transfer.updated", "examples": [ "charge.created", "charge.updated", "payout.created", "order.created", "order.updated", "invoice.created", "invoice.updated", "transfer.created", "transfer.updated", "transfer.scheduled", "transfer.processing", "transfer.paid", "transfer.failed", "transfer.canceled" ] } } } } } }, "responses": { "201": { "description": "201", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9b2ada28-be3c-47ab-883f-ba72e5d8305d", "business_id": "9b294222-3a53-427f-9393-95dc6d63ee6c", "name": "Test Webhook Event", "url": "https://google.com", "event_types": [ "transfer.created", "transfer.updated" ], "created_at": "2024-01-24T16:05:10+08:00", "updated_at": "2024-01-24T16:05:10+08:00" } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "business_id": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "event_types": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "business_id", "name", "url", "event_types", "created_at", "updated_at" ] } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/webhook-events' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest' \\\n --form ", "name": "Example request" } ], "samples-languages": [ "curl" ] } } }, "/v1/webhook-events/{webhook_event_id}": { "get": { "summary": "Get Webhook Event Detail", "description": "This endpoint allows you to get a webhook event's details. You can use the `webhook_event_id` to get the webhook event's details.", "operationId": "get-webhook-event", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "webhook_event_id", "in": "path", "description": "The Webhook Event id", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9b29471a-17bf-4332-835b-a6af8e0cc430", "business_id": "9b294222-3a53-427f-9393-95dc6d63ee6c", "name": "Test Webhook Event", "url": "https://google.com", "event_types": [ "transfer.created", "transfer.updated" ], "created_at": "2024-01-24T16:05:10+08:00", "updated_at": "2024-01-24T16:05:10+08:00" } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "business_id": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "event_types": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "business_id", "name", "url", "event_types", "created_at", "updated_at" ] } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\Webhook] 973ee456-d28f-4418-93c5-d37e4b311685\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\Webhook] 973ee456-d28f-4418-93c5-d37e4b311685" ] } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/webhook-events/9b29471a-17bf-4332-835b-a6af8e0cc430' \\\n--header 'X-BUSINESS-API-KEY: apikey' \\\n--header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "put": { "summary": "Update Webhook Event", "description": "This endpoint allows you to update a webhook event. You can use the `webhook_event_id` to update the webhook event's details.", "operationId": "update-webhook-event", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "webhook_event_id", "in": "path", "description": "The Webhook Event id", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "examples": [ "Test Webhook Event" ], "description": "The name of the webhook event. It is a required field." }, "url": { "type": "string", "description": "The URL of the webhook, must be a valid URL with `https` protocol. This is the URL that the webhook will send the event data to. It is a required field." }, "event_types": { "type": "array", "items": { "type": "string", "enum": [ "charge.created", "charge.updated", "payout.created", "order.created", "order.updated", "invoice.created", "invoice.updated", "transfer.created", "transfer.updated", "transfer.scheduled", "transfer.processing", "transfer.paid", "transfer.failed", "transfer.canceled" ] }, "description": "The event types that the webhook will listen to. It is a required field.", "examples": [ "transfer.created", "transfer.updated" ] } } } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "id": "9b2ada28-be3c-47ab-883f-ba72e5d8305d", "business_id": "9b294222-3a53-427f-9393-95dc6d63ee6c", "name": "Test Webhook Event", "url": "https://google.com", "event_types": [ "transfer.created", "transfer.updated" ], "created_at": "2024-01-24T16:05:10+08:00", "updated_at": "2024-01-24T16:05:10+08:00" } } }, "schema": { "type": "object", "properties": { "id": { "type": "string" }, "business_id": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "event_types": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "business_id", "name", "url", "event_types", "created_at", "updated_at" ] } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\Webhook] 973ee456-d28f-4418-93c5-d37e4b311685\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\Webhook] 973ee456-d28f-4418-93c5-d37e4b311685" ] } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/webhook-events/9b2ada28-be3c-47ab-883f-ba72e5d8305d' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest' \\\n --form ", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "delete": { "summary": "Delete Webhook Event", "description": "This endpoint allows you to delete a webhook event. You can use the `webhook_event_id` to delete the webhook event.", "operationId": "delete-webhook-event", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "webhook_event_id", "in": "path", "description": "The Webhook Event id", "schema": { "type": "string" }, "required": true } ], "responses": { "204": { "description": "204", "content": { "application/json": { "examples": { "Result": { "value": "1" } }, "schema": { "type": "integer", "examples": [ 1 ], "default": 0 } } } }, "404": { "description": "404", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"message\": \"No query results for model [App\\\\Business\\\\Webhook] 973ee456-d28f-4418-93c5-d37e4b311685\"\n}" } }, "schema": { "type": "object", "properties": { "message": { "type": "string", "examples": [ "No query results for model [App\\Business\\Webhook] 973ee456-d28f-4418-93c5-d37e4b311685" ] } } } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request DELETE 'https://api.sandbox.hit-pay.com/v1/webhook-events/9b2ada28-be3c-47ab-883f-ba72e5d8305d' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } } }, "/v1/static_qr": { "get": { "summary": "Get All Static QRs", "description": "This endpoint allows you to get all static QR codes. The static QR codes are the QR codes that you can use to receive payments.", "operationId": "get-static-qr", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "reference": { "type": "string" }, "payment_provider": { "type": "string" }, "payment_provider_method": { "type": "string" }, "amount": { "type": "number" }, "currency": { "type": "string" }, "payment_provider_method_logos": { "type": "array", "items": { "type": "object", "properties": { "sm": { "type": "string" }, "md": { "type": "string" }, "lg": { "type": "string" }, "svg": { "type": "string" }, "svg_square": { "type": "string" }, "png_square": { "type": "string" }, "method": { "type": "string" }, "iconName": { "type": "string" }, "displayName": { "type": "string" } }, "required": [ "sm", "md", "lg", "svg", "svg_square", "png_square", "method", "iconName", "displayName" ] } }, "payment_provider_method_main_logo": { "type": "object", "properties": { "sm": { "type": "string" }, "md": { "type": "string" }, "lg": { "type": "string" }, "svg": { "type": "string" }, "svg_square": { "type": "string" }, "png_square": { "type": "string" }, "method": { "type": "string" }, "iconName": { "type": "string" }, "displayName": { "type": "string" } }, "required": [ "sm", "md", "lg", "svg", "svg_square", "png_square", "method", "iconName", "displayName" ] }, "created_by": { "type": "object", "properties": { "id": { "type": "string" }, "display_name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" } }, "required": [ "id", "display_name", "first_name", "last_name" ] }, "location_id": { "type": "string" }, "location": { "type": "object", "properties": { "name": { "type": "string" }, "address": { "type": "string" } }, "required": [ "name", "address" ] }, "device_id": { "type": "string" }, "device": { "type": "object", "properties": { "label": { "type": "string" } }, "required": [ "label" ] }, "qr_value": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "name", "reference", "payment_provider", "amount", "currency", "payment_provider_method", "payment_provider_method_logos", "payment_provider_method_main_logo", "created_by", "location_id", "location", "qr_value", "created_at", "updated_at" ] } }, "links": { "type": "object", "properties": { "first": {}, "last": {}, "prev": {}, "next": {} }, "required": [ "first", "last", "prev", "next" ] }, "meta": { "type": "object", "properties": { "path": { "type": "string" }, "per_page": { "type": "number" }, "next_cursor": {}, "prev_cursor": {} }, "required": [ "path", "per_page", "next_cursor", "prev_cursor" ] } }, "required": [ "data", "links", "meta" ] } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/static_qr' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest' \\\n --form ", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "post": { "summary": "Create a Static QR", "description": "This endpoint allows you to create static QR.", "operationId": "create-static-qr", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "name", "payment_provider_method" ], "properties": { "name": { "type": "string", "maxLength": 255, "description": "Static QR name" }, "payment_provider_method": { "type": "string", "enum": [ "paynow_online", "upi_qr", "qrph_netbank" ], "description": "The payment provider method that the static QR will use. The available methods: `paynow_online`, `upi_qr`, `qrph_netbank`" }, "device_id": { "type": "string", "format": "uuid", "description": "The device id that the static QR will use." }, "location_id": { "type": "string", "format": "uuid", "description": "The active location id that the static QR will use." }, "amount": { "type": "number", "minimum": 0, "description": "The amount for static QR.", "example": 10.99 }, "currency": { "type": "string", "maxLength": 3, "description": "The currency for static QR. It's required field if the amount is present.", "example": "sgd" } } } } } }, "responses": { "201": { "description": "201", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "reference": { "type": "string" }, "payment_provider": { "type": "string" }, "payment_provider_method": { "type": "string" }, "amount": { "type": "number" }, "currency": { "type": "string" }, "payment_provider_method_logos": { "type": "array", "items": { "type": "object", "properties": { "sm": { "type": "string" }, "md": { "type": "string" }, "lg": { "type": "string" }, "svg": { "type": "string" }, "svg_square": { "type": "string" }, "png_square": { "type": "string" }, "method": { "type": "string" }, "iconName": { "type": "string" }, "displayName": { "type": "string" } }, "required": [ "sm", "md", "lg", "svg", "svg_square", "png_square", "method", "iconName", "displayName" ] } }, "payment_provider_method_main_logo": { "type": "object", "properties": { "sm": { "type": "string" }, "md": { "type": "string" }, "lg": { "type": "string" }, "svg": { "type": "string" }, "svg_square": { "type": "string" }, "png_square": { "type": "string" }, "method": { "type": "string" }, "iconName": { "type": "string" }, "displayName": { "type": "string" } }, "required": [ "sm", "md", "lg", "svg", "svg_square", "png_square", "method", "iconName", "displayName" ] }, "created_by": { "type": "object", "properties": { "id": { "type": "string" }, "display_name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" } }, "required": [ "id", "display_name", "first_name", "last_name" ] }, "location_id": { "type": [ "string", "null" ] }, "location": { "type": [ "object", "null" ], "properties": { "name": { "type": "string" }, "address": { "type": "string" } }, "required": [ "name", "address" ] }, "device_id": {}, "device": {}, "qr_value": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "name", "reference", "payment_provider", "payment_provider_method", "amount", "currency", "payment_provider_method_logos", "payment_provider_method_main_logo", "created_by", "location_id", "location", "device_id", "device", "qr_value", "created_at", "updated_at" ] } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/static_qr' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest' \\\n --form ", "name": "Example request" } ], "samples-languages": [ "curl" ] } } }, "/v1/static_qr/{static_qr_id}": { "get": { "summary": "Get Static QR Detail", "description": "This endpoint allows you to get a static QR details.", "operationId": "get-static-qr-details", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "static_qr_id", "in": "path", "description": "Static QR id", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "reference": { "type": "string" }, "payment_provider": { "type": "string" }, "payment_provider_method": { "type": "string" }, "amount": { "type": "number" }, "currency": { "type": "string" }, "payment_provider_method_logos": { "type": "array", "items": { "type": "object", "properties": { "sm": { "type": "string" }, "md": { "type": "string" }, "lg": { "type": "string" }, "svg": { "type": "string" }, "svg_square": { "type": "string" }, "png_square": { "type": "string" }, "method": { "type": "string" }, "iconName": { "type": "string" }, "displayName": { "type": "string" } }, "required": [ "sm", "md", "lg", "svg", "svg_square", "png_square", "method", "iconName", "displayName" ] } }, "payment_provider_method_main_logo": { "type": "object", "properties": { "sm": { "type": "string" }, "md": { "type": "string" }, "lg": { "type": "string" }, "svg": { "type": "string" }, "svg_square": { "type": "string" }, "png_square": { "type": "string" }, "method": { "type": "string" }, "iconName": { "type": "string" }, "displayName": { "type": "string" } }, "required": [ "sm", "md", "lg", "svg", "svg_square", "png_square", "method", "iconName", "displayName" ] }, "created_by": { "type": "object", "properties": { "id": { "type": "string" }, "display_name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" } }, "required": [ "id", "display_name", "first_name", "last_name" ] }, "location_id": { "type": [ "string", "null" ] }, "location": { "type": [ "object", "null" ], "properties": { "name": { "type": "string" }, "address": { "type": "string" } }, "required": [ "name", "address" ] }, "device_id": {}, "device": {}, "qr_value": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "name", "reference", "payment_provider", "payment_provider_method", "amount", "currency", "payment_provider_method_logos", "payment_provider_method_main_logo", "created_by", "location_id", "location", "device_id", "device", "qr_value", "created_at", "updated_at" ] } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/static_qr/9b29471a-17bf-4332-835b-a6af8e0cc430' \\\n--header 'X-BUSINESS-API-KEY: apikey' \\\n--header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "put": { "summary": "Update Static QR", "description": "This endpoint allows you to update a static QR.", "operationId": "update-static-qr", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "static_qr_id", "in": "path", "description": "The static QR id", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 255, "description": "Static QR name" }, "location_id": { "type": "string", "format": "uuid", "example": "9cc4aee8-c1b4-4401-af57-aea884c780cb", "description": "The active location id that the static QR will use." }, "amount": { "type": "number", "minimum": 0, "description": "The amount for static QR.", "example": 10.99 }, "currency": { "type": "string", "maxLength": 3, "description": "The currency for static QR. It's required field if the amount is present.", "example": "sgd" } } } } } }, "responses": { "200": { "description": "200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "reference": { "type": "string" }, "payment_provider": { "type": "string" }, "payment_provider_method": { "type": "string" }, "amount": { "type": "number" }, "currency": { "type": "string" }, "payment_provider_method_logos": { "type": "array", "items": { "type": "object", "properties": { "sm": { "type": "string" }, "md": { "type": "string" }, "lg": { "type": "string" }, "svg": { "type": "string" }, "svg_square": { "type": "string" }, "png_square": { "type": "string" }, "method": { "type": "string" }, "iconName": { "type": "string" }, "displayName": { "type": "string" } }, "required": [ "sm", "md", "lg", "svg", "svg_square", "png_square", "method", "iconName", "displayName" ] } }, "payment_provider_method_main_logo": { "type": "object", "properties": { "sm": { "type": "string" }, "md": { "type": "string" }, "lg": { "type": "string" }, "svg": { "type": "string" }, "svg_square": { "type": "string" }, "png_square": { "type": "string" }, "method": { "type": "string" }, "iconName": { "type": "string" }, "displayName": { "type": "string" } }, "required": [ "sm", "md", "lg", "svg", "svg_square", "png_square", "method", "iconName", "displayName" ] }, "created_by": { "type": "object", "properties": { "id": { "type": "string" }, "display_name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" } }, "required": [ "id", "display_name", "first_name", "last_name" ] }, "location_id": { "type": [ "string", "null" ] }, "location": { "type": [ "object", "null" ], "properties": { "name": { "type": "string" }, "address": { "type": "string" } }, "required": [ "name", "address" ] }, "device_id": {}, "device": {}, "qr_value": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "name", "reference", "payment_provider", "payment_provider_method", "amount", "currency", "payment_provider_method_logos", "payment_provider_method_main_logo", "created_by", "location_id", "location", "device_id", "device", "qr_value", "created_at", "updated_at" ] } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/static_qr/9b2ada28-be3c-47ab-883f-ba72e5d8305d' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest' \\\n --form ", "name": "Example request" } ], "samples-languages": [ "curl" ] } }, "delete": { "summary": "Delete the static QR", "description": "This endpoint allows you to delete the static QR", "operationId": "delete-static-qr", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "static_qr_id", "in": "path", "description": "The Static QR id", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": { "message": "Static QR deleted successfully." } } }, "schema": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ] } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location --request DELETE 'https://api.sandbox.hit-pay.com/v1/static_qr/9b2ada28-be3c-47ab-883f-ba72e5d8305d' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } } }, "/v1/readers": { "get": { "summary": "Get all card readers", "description": "Get all card readers", "operationId": "get-card-reader", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "limit", "in": "query", "description": " The number of items in page.", "schema": { "type": "number", "default": 10, "maximum": 100 } }, { "name": "page", "in": "query", "schema": { "type": "number", "default": 1 } } ], "responses": { "200": { "description": "200", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "device_type": { "type": "string" }, "details": { "type": "object", "properties": { "title": { "type": "string" }, "image": { "type": "string" } }, "required": [ "title", "image" ] }, "data": { "type": "object", "properties": { "id": { "type": "string" }, "serial_number": { "type": "string" } }, "required": [ "id", "serial_number" ] }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id", "name", "device_type", "details", "data", "created_at", "updated_at" ] } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": {}, "next": {} }, "required": [ "first", "last", "prev", "next" ] }, "meta": { "type": "object", "properties": { "current_page": { "type": "number" }, "from": { "type": "number" }, "last_page": { "type": "number" }, "links": { "type": "array", "items": { "type": "object", "properties": { "url": { "type": "string" }, "label": { "type": "string" }, "active": { "type": "boolean" } }, "required": [ "label", "active" ] } }, "path": { "type": "string" }, "per_page": { "type": "number" }, "to": { "type": "number" }, "total": { "type": "number" } }, "required": [ "current_page", "from", "last_page", "links", "path", "per_page", "to", "total" ] } }, "required": [ "data", "links", "meta" ] } } } } }, "deprecated": false, "x-readme": { "code-samples": [ { "language": "curl", "code": "curl --location 'https://api.sandbox.hit-pay.com/v1/readers' \\n--header 'X-BUSINESS-API-KEY: 9011d0e1e03c1e2d79cdcf1fd7147eaa6d339e4ba5e42df38d8b495e7ed8e9fc' \\\n --header 'X-Requested-With: XMLHttpRequest'", "name": "Example request" } ], "samples-languages": [ "curl" ] } } }, "/v1/readers/cancel": { "post": { "summary": "Cancel the terminal reader", "description": "Cancel the terminal reader.", "operationId": "cancel-reader", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "reader_id" ], "properties": { "reader_id": { "type": "string", "example": "tmr_FTQMPAL1boM2kE", "description": "The reader id" } } } } } }, "responses": { "204": { "description": "204", "content": { "application/json": { "examples": { "Result": { "value": 1 } }, "schema": { "type": "integer", "example": 1 } } } }, "400": { "description": "400", "content": { "application/json": { "examples": { "Result": { "value": { "message": "This terminal is not connected to your business. Please go to Settings > Check Reader Connection > Select a terminal, or contact support@hit-pay.com if you face any issues." } } }, "schema": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ] } } } } }, "deprecated": false, "x-readme": { "code-samples": [ {} ], "samples-languages": [ "curl" ] } } }, "/v1/virtual-accounts": { "get": { "tags": [ "Virtual Accounts" ], "summary": "Get virtual accounts", "description": "Retrieve the list of virtual accounts for a business. Results are paginated using cursor-based pagination\nand ordered by creation date (newest first).\n", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "cursor", "in": "query", "schema": { "type": [ "string", "null" ] }, "description": "Cursor for pagination" }, { "name": "per_page", "in": "query", "schema": { "type": "integer", "enum": [ 5, 10, 20, 25, 50, 100 ], "default": 25 }, "description": "Number of results per page" } ], "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "Display name of the virtual account" }, "reference": { "type": "string", "description": "Virtual account reference number" }, "payment_provider": { "type": "string", "description": "Payment provider identifier (e.g., dbs_sg)" }, "payment_provider_method": { "type": "string", "description": "Payment provider method identifier (e.g., dbs_sg_virtual_account)" }, "payment_provider_method_logos": { "type": "array", "items": { "type": "object", "properties": { "method": { "type": "string", "description": "Payment method identifier" }, "iconName": { "type": "string", "description": "Icon file name" }, "displayName": { "type": "string", "description": "Human-readable method name" }, "description": { "type": "string", "description": "Method description" }, "sm": { "type": "string", "format": "uri", "description": "Small PNG logo URL" }, "md": { "type": "string", "format": "uri", "description": "Medium PNG logo URL" }, "lg": { "type": "string", "format": "uri", "description": "Large PNG logo URL" }, "svg": { "type": "string", "format": "uri", "description": "SVG logo URL" }, "svg_square": { "type": "string", "format": "uri", "description": "Square SVG logo URL" } } }, "description": "Array of logo objects for the payment method" }, "payment_provider_method_main_logo": { "oneOf": [ { "type": "object", "properties": { "method": { "type": "string", "description": "Payment method identifier" }, "iconName": { "type": "string", "description": "Icon file name" }, "displayName": { "type": "string", "description": "Human-readable method name" }, "description": { "type": "string", "description": "Method description" }, "sm": { "type": "string", "format": "uri", "description": "Small PNG logo URL" }, "md": { "type": "string", "format": "uri", "description": "Medium PNG logo URL" }, "lg": { "type": "string", "format": "uri", "description": "Large PNG logo URL" }, "svg": { "type": "string", "format": "uri", "description": "SVG logo URL" }, "svg_square": { "type": "string", "format": "uri", "description": "Square SVG logo URL" } } }, { "type": "null" } ], "description": "Main logo object for the payment method, or null" }, "supported_currencies": { "type": [ "array", "null" ], "items": { "type": "string" }, "description": "List of supported currency codes" }, "transfer_types": { "type": "array", "items": { "type": "string" }, "description": "Supported transfer types for this virtual account" }, "address": { "type": "string", "description": "Business address" }, "status": { "type": [ "string", "null" ], "description": "Current status of the virtual account" }, "created_by": { "oneOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "display_name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" } } }, { "type": "null" } ], "description": "User who created the virtual account, or null" }, "created_at": { "type": "string", "format": "date-time", "description": "Creation timestamp (Atom format)" }, "updated_at": { "type": "string", "format": "date-time", "description": "Last update timestamp (Atom format)" } } } }, "links": { "type": "object", "properties": { "first": { "type": [ "string", "null" ] }, "last": { "type": [ "string", "null" ] }, "prev": { "type": [ "string", "null" ] }, "next": { "type": [ "string", "null" ] } } }, "meta": { "type": "object", "properties": { "path": { "type": "string" }, "per_page": { "type": "integer" }, "next_cursor": { "type": [ "string", "null" ] }, "prev_cursor": { "type": [ "string", "null" ] } } } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "Error message" }, "errors": { "type": "array" } } } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "Error message" }, "errors": { "type": "array" } } } } } } } }, "post": { "tags": [ "Virtual Accounts" ], "summary": "Create a virtual account", "description": "Create a new virtual account for the business. The payment provider and method are automatically\ndetermined based on the business configuration.\n\nA business can only have one virtual account per payment provider method. If a virtual account\nalready exists for the same provider method, a 409 Conflict error is returned.\n\nThe business must have payments enabled to create a virtual account.\n", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } } ], "responses": { "201": { "description": "Virtual account created successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "Display name of the virtual account" }, "reference": { "type": "string", "description": "Virtual account reference number" }, "payment_provider": { "type": "string", "description": "Payment provider identifier (e.g., dbs_sg)" }, "payment_provider_method": { "type": "string", "description": "Payment provider method identifier (e.g., dbs_sg_virtual_account)" }, "payment_provider_method_logos": { "type": "array", "items": { "type": "object", "properties": { "method": { "type": "string", "description": "Payment method identifier" }, "iconName": { "type": "string", "description": "Icon file name" }, "displayName": { "type": "string", "description": "Human-readable method name" }, "description": { "type": "string", "description": "Method description" }, "sm": { "type": "string", "format": "uri", "description": "Small PNG logo URL" }, "md": { "type": "string", "format": "uri", "description": "Medium PNG logo URL" }, "lg": { "type": "string", "format": "uri", "description": "Large PNG logo URL" }, "svg": { "type": "string", "format": "uri", "description": "SVG logo URL" }, "svg_square": { "type": "string", "format": "uri", "description": "Square SVG logo URL" } } }, "description": "Array of logo objects for the payment method" }, "payment_provider_method_main_logo": { "oneOf": [ { "type": "object", "properties": { "method": { "type": "string", "description": "Payment method identifier" }, "iconName": { "type": "string", "description": "Icon file name" }, "displayName": { "type": "string", "description": "Human-readable method name" }, "description": { "type": "string", "description": "Method description" }, "sm": { "type": "string", "format": "uri", "description": "Small PNG logo URL" }, "md": { "type": "string", "format": "uri", "description": "Medium PNG logo URL" }, "lg": { "type": "string", "format": "uri", "description": "Large PNG logo URL" }, "svg": { "type": "string", "format": "uri", "description": "SVG logo URL" }, "svg_square": { "type": "string", "format": "uri", "description": "Square SVG logo URL" } } }, { "type": "null" } ], "description": "Main logo object for the payment method, or null" }, "supported_currencies": { "type": [ "array", "null" ], "items": { "type": "string" }, "description": "List of supported currency codes" }, "transfer_types": { "type": "array", "items": { "type": "string" }, "description": "Supported transfer types for this virtual account" }, "address": { "type": "string", "description": "Business address" }, "status": { "type": [ "string", "null" ], "description": "Current status of the virtual account" }, "created_by": { "oneOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "display_name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" } } }, { "type": "null" } ], "description": "User who created the virtual account, or null" }, "created_at": { "type": "string", "format": "date-time", "description": "Creation timestamp (Atom format)" }, "updated_at": { "type": "string", "format": "date-time", "description": "Last update timestamp (Atom format)" } } } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "Error message" }, "errors": { "type": "array" } } } } } }, "403": { "description": "Forbidden — business does not have payments enabled", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "Error message" }, "errors": { "type": "array" } } } } } }, "409": { "description": "Conflict — a virtual account already exists for this provider method", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "Error message" }, "errors": { "type": "array" } } } } } } } } }, "/v1/virtual-accounts/{virtual_account_id}": { "get": { "tags": [ "Virtual Accounts" ], "summary": "Get virtual account details", "description": "Retrieve detailed information about a specific virtual account.\n", "parameters": [ { "name": "X-BUSINESS-API-KEY", "in": "header", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d" } }, { "name": "virtual_account_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" }, "description": "The virtual account ID" } ], "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "description": "Display name of the virtual account" }, "reference": { "type": "string", "description": "Virtual account reference number" }, "payment_provider": { "type": "string", "description": "Payment provider identifier (e.g., dbs_sg)" }, "payment_provider_method": { "type": "string", "description": "Payment provider method identifier (e.g., dbs_sg_virtual_account)" }, "payment_provider_method_logos": { "type": "array", "items": { "type": "object", "properties": { "method": { "type": "string", "description": "Payment method identifier" }, "iconName": { "type": "string", "description": "Icon file name" }, "displayName": { "type": "string", "description": "Human-readable method name" }, "description": { "type": "string", "description": "Method description" }, "sm": { "type": "string", "format": "uri", "description": "Small PNG logo URL" }, "md": { "type": "string", "format": "uri", "description": "Medium PNG logo URL" }, "lg": { "type": "string", "format": "uri", "description": "Large PNG logo URL" }, "svg": { "type": "string", "format": "uri", "description": "SVG logo URL" }, "svg_square": { "type": "string", "format": "uri", "description": "Square SVG logo URL" } } }, "description": "Array of logo objects for the payment method" }, "payment_provider_method_main_logo": { "oneOf": [ { "type": "object", "properties": { "method": { "type": "string", "description": "Payment method identifier" }, "iconName": { "type": "string", "description": "Icon file name" }, "displayName": { "type": "string", "description": "Human-readable method name" }, "description": { "type": "string", "description": "Method description" }, "sm": { "type": "string", "format": "uri", "description": "Small PNG logo URL" }, "md": { "type": "string", "format": "uri", "description": "Medium PNG logo URL" }, "lg": { "type": "string", "format": "uri", "description": "Large PNG logo URL" }, "svg": { "type": "string", "format": "uri", "description": "SVG logo URL" }, "svg_square": { "type": "string", "format": "uri", "description": "Square SVG logo URL" } } }, { "type": "null" } ], "description": "Main logo object for the payment method, or null" }, "supported_currencies": { "type": [ "array", "null" ], "items": { "type": "string" }, "description": "List of supported currency codes" }, "transfer_types": { "type": "array", "items": { "type": "string" }, "description": "Supported transfer types for this virtual account" }, "address": { "type": "string", "description": "Business address" }, "status": { "type": [ "string", "null" ], "description": "Current status of the virtual account" }, "created_by": { "oneOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "display_name": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" } } }, { "type": "null" } ], "description": "User who created the virtual account, or null" }, "created_at": { "type": "string", "format": "date-time", "description": "Creation timestamp (Atom format)" }, "updated_at": { "type": "string", "format": "date-time", "description": "Last update timestamp (Atom format)" } } } } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "Error message" }, "errors": { "type": "array" } } } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "Error message" }, "errors": { "type": "array" } } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "Error message" }, "errors": { "type": "array" } } } } } } } } } }, "components": { "schemas": { "beneficiary-sqd-fast": { "type": "object", "required": [ "country", "transfer_method", "currency", "transfer_type", "holder_type", "holder_name", "account_number" ], "properties": { "country": { "type": "string", "description": "Beneficiary bank country/region", "example": "sg", "enum": [ "sg" ] }, "transfer_method": { "type": "string", "description": "The transfer method needs to be specified to ensure that accurate banking details are captured and validated for the specified transfer method. This is required for timely and accurate delivery of funds to the beneficiary account", "enum": [ "bank_transfer" ], "example": "bank_transfer" }, "transfer_type": { "type": "string", "enum": [ "local" ], "example": "local" }, "currency": { "type": "string", "enum": [ "sgd" ], "example": "sgd", "description": "It is beneficiary bank account currency." }, "holder_type": { "type": "string", "description": "The Holder Type", "enum": [ "individual" ], "example": "individual" }, "holder_name": { "type": "string", "required": true, "description": "The Holder Name", "example": "John Doe", "maxLength": 255 }, "bank_swift_code": { "type": "string", "required": true, "description": "It's bank swift code. To obtain a list of supported SWIFT codes, call `Get the API schema` API with the following parameters: `country: sg`, currency: `sgd`,transfer_method: `bank_transfer`, transfer_type: `local` and holder_type: `individual`.", "maxLength": 255, "example": "BOFASG2XXXX" }, "account_number": { "type": "string", "required": true, "description": "The account number", "maxLength": 255, "example": "1409827" }, "nickname": { "type": "string", "description": "Nickname", "maxLength": 255 }, "remark": { "type": "string", "description": "Remark", "maxLength": 255, "example": "This is a remark" }, "is_favourite": { "type": "boolean" }, "email": { "type": "string", "format": "email", "description": "Email address", "example": "abc@gmail.com" } }, "example": { "country": "sg", "transfer_method": "bank_transfer", "transfer_type": "local", "currency": "sgd", "holder_type": "individual", "holder_name": "John Tan", "bank_id": "BOFASG2XXXX[7065]", "account_number": "1409827" } }, "beneficiary-bd-local": { "type": "object", "required": [ "country", "transfer_method", "currency", "transfer_type", "holder_type", "holder_name", "bank_id", "bank_routing_number", "account_number" ], "properties": { "country": { "type": "string", "required": true, "description": "Beneficiary bank country/region", "enum": [ "bd" ] }, "transfer_method": { "type": "string", "required": true, "description": "The transfer method needs to be specified to ensure that accurate banking details are captured and validated for the specified transfer method. This is required for timely and accurate delivery of funds to the beneficiary account", "enum": [ "bank_transfer" ], "example": "bank_transfer" }, "transfer_type": { "type": "string", "required": true, "enum": [ "local" ], "value": "local" }, "currency": { "type": "string", "required": true, "enum": [ "bdt" ], "value": "bdt", "description": "It is beneficiary bank account currency." }, "holder_type": { "type": "string", "required": true, "enum": [ "individual" ], "example": "individual", "description": "The Holder Type" }, "holder_name": { "type": "string", "required": true, "example": "John Doe", "description": "The Holder Name", "maxLength": 255 }, "bank_id": { "type": "string", "required": true, "description": "It's bank id. To obtain a list of supported values for `bank_id`, call `Get the API schema` API with the following parameters: `country: bd`, currency: `bdt`,transfer_method: `bank_transfer`, transfer_type: `local` and holder_type: `individual` to get the the correct supported bank id.", "example": "brc-20", "maxLength": 255 }, "bank_routing_number": { "type": "string", "required": true, "description": "Bank Rounting Number", "maxLength": 255, "example": "060261726" }, "account_number": { "type": "string", "required": true, "description": "The account number", "maxLength": 255, "example": "1503201781283001" }, "nickname": { "type": "string", "description": "Nickname", "maxLength": 255 }, "remark": { "type": "string", "description": "Remark", "maxLength": 255, "example": "This is a remark" }, "is_favourite": { "type": "boolean", "description": "Remark" }, "email": { "type": "string", "format": "email", "description": "Email address", "example": "abc@gmail.com" } }, "example": { "country": "bd", "transfer_method": "bank_transfer", "transfer_type": "local", "currency": "bdt", "holder_type": "individual", "holder_name": "SHAH ALAM HERA", "bank_id": "brc-20", "bank_routing_number": "060261726", "account_number": "1503201781283001" } }, "beneficiary-bd-upay": { "type": "object", "required": [ "country", "transfer_method", "currency", "holder_type", "holder_name", "district", "account_number" ], "properties": { "country": { "type": "string", "required": true, "description": "Beneficiary bank country/region", "enum": [ "bd" ] }, "transfer_method": { "type": "string", "required": true, "description": "The transfer method needs to be specified to ensure that accurate banking details are captured and validated for the specified transfer method. This is required for timely and accurate delivery of funds to the beneficiary account", "enum": [ "upay" ], "example": "upay" }, "currency": { "type": "string", "required": true, "enum": [ "bdt" ], "example": "bdt", "description": "It is beneficiary bank account currency." }, "holder_type": { "type": "string", "required": true, "enum": [ "individual" ], "example": "individual", "description": "The Holder Type" }, "holder_name": { "type": "string", "required": true, "example": "John Doe", "description": "The Holder Name", "maxLength": 255 }, "district": { "type": "string", "required": true, "description": "District", "maxLength": 255, "example": "BD-03" }, "account_number": { "type": "string", "required": true, "description": "The account number", "maxLength": 255, "example": "+8801914538413" }, "nickname": { "type": "string", "example": "John", "description": "Nickname", "maxLength": 255 }, "remark": { "type": "string", "description": "Remark", "maxLength": 255, "example": "This is a remark" }, "is_favourite": { "type": "boolean", "description": "Remark" }, "email": { "type": "string", "format": "email", "description": "Email address", "example": "abc@gmail.com" } }, "example": { "country": "bd", "transfer_method": "upay", "currency": "bdt", "holder_type": "individual", "holder_name": "Moulude Hossain", "district": "BD-03", "account_number": "+8801914538413" } }, "beneficiary-bd-bkash": { "type": "object", "required": [ "country", "transfer_method", "currency", "holder_type", "holder_name", "district", "account_number" ], "properties": { "country": { "type": "string", "required": true, "description": "Beneficiary bank country/region", "enum": [ "bd" ] }, "transfer_method": { "type": "string", "required": true, "description": "The transfer method needs to be specified to ensure that accurate banking details are captured and validated for the specified transfer method. This is required for timely and accurate delivery of funds to the beneficiary account", "enum": [ "bkash" ], "example": "bkash" }, "currency": { "type": "string", "required": true, "emum": [ "bdt" ], "example": "bdt", "description": "It is beneficiary bank account currency." }, "holder_type": { "type": "string", "required": true, "enum": [ "individual" ], "example": "individual", "description": "The Holder Type" }, "holder_name": { "type": "string", "required": true, "example": "Rashid", "description": "The Holder Name", "maxLength": 255 }, "district": { "type": "string", "required": true, "example": "BD-03", "description": "District", "maxLength": 255 }, "account_number": { "type": "string", "required": true, "example": "+8801721940130", "description": "The account number", "maxLength": 255 }, "nickname": { "type": "string", "example": "John", "description": "Nickname", "maxLength": 255 }, "remark": { "type": "string", "description": "Remark", "maxLength": 255, "example": "This is a remark" }, "is_favourite": { "type": "boolean", "description": "Remark" }, "email": { "type": "string", "format": "email", "description": "Email address", "example": "abc@gmail.com" } }, "example": { "country": "bd", "transfer_method": "bkash", "currency": "bdt", "holder_type": "individual", "holder_name": "Rashid", "district": "BD-03", "account_number": "+8801721940130" } }, "beneficiary-bd-tap": { "type": "object", "required": [ "country", "transfer_method", "currency", "holder_type", "holder_name", "district", "account_number" ], "properties": { "country": { "type": "string", "required": true, "description": "Beneficiary bank country/region", "enum": [ "bd" ] }, "transfer_method": { "type": "string", "required": true, "description": "The transfer method needs to be specified to ensure that accurate banking details are captured and validated for the specified transfer method. This is required for timely and accurate delivery of funds to the beneficiary account", "enum": [ "tap" ], "example": "tap" }, "currency": { "type": "string", "required": true, "emum": [ "bdt" ], "example": "bdt", "description": "It is beneficiary bank account currency." }, "holder_type": { "type": "string", "required": true, "enum": [ "individual" ], "example": "individual", "description": "The Holder Type" }, "holder_name": { "type": "string", "required": true, "example": "Rashid", "description": "The Holder Name", "maxLength": 255 }, "district": { "type": "string", "required": true, "example": "BD-03", "description": "District", "maxLength": 255 }, "account_number": { "type": "string", "required": true, "example": "+8801721940130", "description": "The account number", "maxLength": 255 }, "nickname": { "type": "string", "example": "John", "description": "Nickname", "maxLength": 255 }, "remark": { "type": "string", "description": "Remark", "maxLength": 255, "example": "This is a remark" }, "is_favourite": { "type": "boolean", "description": "Remark" }, "email": { "type": "string", "format": "email", "description": "Email address", "example": "abc@gmail.com" } }, "example": { "country": "bd", "transfer_method": "tap", "currency": "bdt", "holder_type": "individual", "holder_name": "Moulude Hossain", "district": "BD-04", "account_number": "+8801914538413" } }, "beneficiary-php-local": { "type": "object", "required": [ "country", "transfer_method", "currency", "holder_type", "holder_name", "bank_id", "account_number", "address" ], "properties": { "country": { "type": "string", "required": true, "description": "Beneficiary bank country/region", "enum": [ "ph" ] }, "transfer_method": { "type": "string", "required": true, "description": "The transfer method needs to be specified to ensure that accurate banking details are captured and validated for the specified transfer method. This is required for timely and accurate delivery of funds to the beneficiary account", "enum": [ "bank_transfer" ], "example": "bank_transfer" }, "transfer_type": { "type": "string", "required": true, "enum": [ "local" ], "example": "local" }, "currency": { "type": "string", "required": true, "enum": [ "php" ], "description": "It is beneficiary bank account currency." }, "holder_type": { "type": "string", "required": true, "enum": [ "individual" ], "example": "individual", "description": "The Holder Type" }, "holder_name": { "type": "string", "required": true, "example": "John Doe", "description": "The Holder Name", "maxLength": 255 }, "bank_id": { "type": "string", "required": true, "description": "It's bank id. To obtain a list of supported values for `bank_id`, call `Get the API schema` API with the following parameters: `country: ph`, currency: `php`,transfer_method: `bank_transfer`, transfer_type: `local` and holder_type: `individual` to get the the correct supported bank id.", "example": "10419995", "maxLength": 255 }, "account_number": { "type": "string", "required": true, "example": "14098377", "description": "The account number", "maxLength": 255 }, "address": { "type": "object", "required": [ "street", "postcode", "city" ], "properties": { "street": { "type": "string", "example": "Pedro Gil, cor Adriatico St" }, "postcode": { "type": "string", "example": "1000" }, "city": { "type": "string", "example": "Manila" } } }, "nickname": { "type": "string", "example": "John", "description": "Nickname", "maxLength": 255 }, "remark": { "type": "string", "description": "Remark", "maxLength": 255, "example": "This is a remark" }, "is_favourite": { "type": "boolean" }, "email": { "type": "string", "format": "email", "description": "Email address", "example": "abc@gmail.com" } }, "example": { "country": "ph", "transfer_method": "bank_transfer", "transfer_type": "local", "currency": "php", "holder_type": "individual", "holder_name": "Ben Yu", "bank_id": "10419995", "account_number": "14098377", "address": { "street": "Pedro Gil, cor Adriatico St", "postcode": "1000", "city": "Manila" } } } } }, "x-readme": { "headers": [], "explorer-enabled": true, "proxy-enabled": true, "samples-enabled": true }, "x-readme-fauxas": true }