### Install HitPay CLI from Source Source: https://docs.hitpayapp.com/apis/guide/cli Instructions for installing the HitPay CLI from its GitHub repository, useful if the npm package is unavailable or outdated. This involves cloning the repository, installing dependencies, building the project, and linking it locally. ```bash git clone https://github.com/hit-pay/cli.git cd cli && npm install && npm run build && npm link ``` -------------------------------- ### Install and Log in to HitPay CLI Source: https://docs.hitpayapp.com/apis/guide/ai-developer-tools Install the HitPay CLI globally using npm and log in to your HitPay account. This command-line tool allows you to manage payments and webhooks. ```bash npm install -g @hit-pay/cli hitpay login ``` -------------------------------- ### Create Remitter Request Example Source: https://docs.hitpayapp.com/apis/remitters/create-remitter Use this example to create a new remitter. Ensure all required fields are populated correctly. ```yaml 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 security: [] paths: /v1/remitters: 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 ``` -------------------------------- ### Run HitPay CLI Without Installation Source: https://docs.hitpayapp.com/apis/guide/cli Execute the CLI using npx without a global installation. Useful for quick tests or when installation is not desired. ```bash npx @hit-pay/cli --help ``` -------------------------------- ### Install HitPay CLI Globally Source: https://docs.hitpayapp.com/apis/guide/cli Install the CLI globally using npm. Requires Node.js 18 or later. ```bash npm install -g @hit-pay/cli ``` -------------------------------- ### Install HitPay Agent Skills Source: https://docs.hitpayapp.com/apis/guide/ai-skills Install the HitPay skill in your project using npm. This command is compatible with various AI coding assistants. ```bash npx skills add hit-pay/agent-skills ``` -------------------------------- ### Create Beneficiary Response Example Source: https://docs.hitpayapp.com/apis/payout/create-beneficiary Example of a successful response when creating a beneficiary. The response includes the beneficiary's ID, status, and details provided in the request. ```json { "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" } ``` -------------------------------- ### Get All Staffs OpenAPI Specification Source: https://docs.hitpayapp.com/apis/staffs/staffs This OpenAPI specification defines the GET /v1/staffs endpoint for retrieving all staff members. It includes request parameters, response structure, and example data. ```yaml 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 security: [] paths: /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 ``` -------------------------------- ### Create Recurring Billing with Instructions Source: https://docs.hitpayapp.com/apis/guide/embedded-recurring-billing Use this snippet to create a recurring billing session that provides setup instructions. This is intended for the GIRO payment method, where customers will follow specific steps to complete the setup. The instructions will be returned inline. ```bash curl -X POST https://api.hit-pay.com/v1/recurring-billing \ -u YOUR_API_KEY: \ -d "name=GIRO Setup" \ -d "customer_email=paul@hitpayapp.com" \ -d "amount=50.00" \ -d "currency=sgd" \ -d "payment_methods[]=giro" \ -d "generate_instructions=true" ``` -------------------------------- ### Get Customer Details OpenAPI Specification Source: https://docs.hitpayapp.com/apis/customers/get-customer-details This OpenAPI specification defines the GET /v1/customers/{customer_id} endpoint for retrieving customer details. It includes request parameters, response schemas for success (201) and not found (404) cases, and example payloads. ```yaml 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 security: [] paths: /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: |- { "message": "No query results for model [App\\Business\\Customer] 973ee456-d28f-4418-93c5-d37e4b311685" } schema: type: object properties: message: type: string examples: - >- No query results for model [App\Business\Customer] 973ee456-d28f-4418-93c5-d37e4b311685 deprecated: false ``` -------------------------------- ### Initiate In-Person Payment with WiFi Card Reader Source: https://docs.hitpayapp.com/apis/guide/in-person-payments/overview This example demonstrates how to initiate an in-person payment request using a WiFi card reader. Mandatory fields include amount and currency. ```APIDOC ## POST /v1/payment-requests ### Description Initiates an in-person payment request using a WiFi card reader. ### Method POST ### Endpoint /v1/payment-requests ### Parameters #### Query Parameters - **amount** (float) - Required - The amount related to the payment. - **payment_methods[]** (string) - Required - Indicate that the request is for in-person payments using a wifi card reader. Example: `wifi_card_reader`. - **currency** (string) - Required - In-Person payments only support the home currency of your business. Example: `SGD`. - **wifi_terminal_id** (string) - Required - The reader ID can be found in your dashboard under "POS > Terminals". For Ingenico DX4000 PH terminals, use the last 8 digits of your terminal SN located at the back of your terminal. Examples: `tmr_123123123` (WisePOSE), `MD9Q2493` (Ingenico PH), `S1F2-001582391283` (All-in-One S1F2). ### Request Example ```php $client = new http\Client; $request = new http\Client\Request; $request->setRequestUrl('https://api.sandbox.hit-pay.com/v1/payment-requests'); $request->setRequestMethod('POST'); $body = new http\Message\Body; $body->append(new http\QueryString(array( 'amount' => '599', 'currency' => 'SGD', 'payment_methods[]' => 'wifi_card_reader', 'wifi_terminal_id' => 'tmr_123123123'))); $request->setBody($body); $request->setOptions(array()); $request->setHeaders(array( 'X-BUSINESS-API-KEY' => 'meowmeowmeow', 'Content-Type' => 'application/x-www-form-urlencoded', 'X-Requested-With' => 'XMLHttpRequest' )); $client->enqueue($request)->send(); $response = $client->getResponse(); echo $response->getBody(); ``` ### Response #### Success Response (200) (Response details not provided in source) ``` -------------------------------- ### Get Account Status Source: https://docs.hitpayapp.com/apis/accounts/account-status Retrieves the current status of your HitPay account, including verification details and the setup status for integrated payment providers. ```APIDOC ## GET /v1/account-status ### Description Get the account status ### Method GET ### Endpoint /v1/account-status ### Parameters #### Header Parameters - **X-BUSINESS-API-KEY** (string) - Required - Your business API key for authentication. ### Response #### Success Response (200) - **bank_account_status** (string) - The status of the bank account setup. - **verification** (object) - Details about the account verification status. - **overall_status** (string) - The overall verification status of the account. - **owner_verification** (string) - The status of the owner verification. - **business_verification** (string) - The status of the business verification. - **payment_providers** (object) - An object containing the setup status for each payment provider. - **[provider_name]** (object) - Details for a specific payment provider. - **setup_status** (string) - The setup status for the payment provider. - **payment_enabled** (boolean) - Indicates if payments are enabled for this provider (if applicable). - **payout_enabled** (boolean) - Indicates if payouts are enabled for this provider (if applicable). ### Response Example ```json { "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 } } } ``` ``` -------------------------------- ### Get Account Status OpenAPI Specification Source: https://docs.hitpayapp.com/apis/accounts/account-status This OpenAPI specification defines the GET request for the /v1/account-status endpoint. It includes details on the required 'X-BUSINESS-API-KEY' header and the structure of the JSON response, which outlines bank account status, verification details, and payment provider setup. ```yaml 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 security: [] 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 ``` -------------------------------- ### Create Payment Request with QR Code Source: https://docs.hitpayapp.com/apis/guide/in-person-payments/overview This example demonstrates how to create a payment request for in-person payments, generating a QR code for the customer to scan. It includes parameters for amount, currency, payment methods, and terminal ID. ```APIDOC ## POST /v1/payment-requests ### Description Creates a payment request for in-person transactions, optionally generating QR code data. ### Method POST ### Endpoint /v1/payment-requests ### Parameters #### Query Parameters - **amount** (string) - Required - The amount related to the payment. - **payment_methods[]** (string) - Required - One of the supported QR payment methods (e.g., paynow_online). - **currency** (string) - Required - In-Person payments only support the home currency of your business. - **wifi_terminal_id** (string) - Required - The reader ID can be found in your dashboard under "POS > Terminals". For Ingenico DX4000 PH terminals, use the last 8 digits of your terminal SN located at the back of your terminal. - **generate_qr** (boolean) - Optional - Set to `true` to generate QR code data. ### Request Example ```json { "amount": "599", "currency": "SGD", "payment_methods[]": "paynow_online", "generate_qr": "true", "wifi_terminal_id": "tmr_123123123" } ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier for the payment request. - **amount** (string) - The payment amount. - **currency** (string) - The currency of the payment. - **status** (string) - The current status of the payment (e.g., 'pending'). - **payment_methods** (array) - The payment methods used for this request. - **wifi_terminal_id** (string) - The terminal ID used for the transaction. - **qr_code_data** (object) - Contains data for generating a QR code. - **qr_code** (string) - The QR code data string. - **qr_code_expiry** (string|null) - The expiry time of the QR code. #### Response Example ```json { "id": "9c262fb5-f3cd-4187-8c3e-fbe20730b9c6", "amount": "599.00", "currency": "sgd", "status": "pending", "payment_methods": [ "paynow_online" ], "wifi_terminal_id": "tmr_123123123", "qr_code_data": { "qr_code": "00020101021226550009SG.PAYNOW010120210201605883W030100414202405281445315204000053037025406599.005802SG5905Nitin6009Singapore62290125DICNP17168782314914MWULPX63043561", "qr_code_expiry": null } } ``` ``` -------------------------------- ### Handle Form-Encoded Webhook for Failed Payments (Node.js) Source: https://docs.hitpayapp.com/apis/guide/in-person-payments/failed-payments This Node.js example demonstrates how to handle form-encoded webhook payloads for failed payments. It parses the request body to get error details and updates the order status. ```javascript // In your webhook handler (Node.js example) app.post('/webhook', express.urlencoded({ extended: true }), (req, res) => { const payload = req.body; // Form-encoded payload if (payload.status === 'failed') { const errorMessage = payload.error_message || 'Payment failed'; const paymentRequestId = payload.payment_request_id; // Update your order/payment status updateOrderStatus(paymentRequestId, 'failed'); // Notify your client/UI about the failure notifyClientFailure(paymentRequestId, errorMessage); // Display error to user // You should show the error_message to the user } res.status(200).send('OK'); }); ``` -------------------------------- ### Install HitPay Claude Code Plugin Source: https://docs.hitpayapp.com/apis/guide/claude-code-plugin Install the plugin via the marketplace or clone it locally for development. Ensure you have Claude Code installed. ```bash /plugin marketplace add hit-pay/claude-code-plugin /plugin install hitpay@hitpay-plugins ``` ```bash git clone https://github.com/hit-pay/claude-code-plugin.git hitpay-plugin claude --plugin-dir ./hitpay-plugin ``` -------------------------------- ### Create Subscription Plan (PHP) Source: https://docs.hitpayapp.com/apis/guide/recurring-billing This PHP script demonstrates how to create a subscription plan using the Guzzle HTTP client. It includes necessary headers and form parameters. ```php request('POST', 'https://api.staging.hit-pay.com/v1/subscription-plan', [ 'form_params' =>[ 'name' => 'Spotify Premium', 'description' => 'Spotify Monthly Subscription', 'currency' => 'SGD' 'amount' => 9.90, 'cycle' => 'monthly', 'reference' => 'spotify_premium_2022' ], 'headers' => [ 'Content-Type' => 'application/x-www-form-urlencoded', 'X-Requested-With' => 'XMLHttpRequest', 'accept' => 'application/json', 'x-api-key' => 'meowmeowmeow', ], ]); echo $response->getBody(); ``` -------------------------------- ### Create Beneficiary Request Examples Source: https://docs.hitpayapp.com/apis/payout/create-beneficiary Examples of request bodies for creating beneficiaries in different countries and with various transfer methods. Ensure the correct `country`, `transfer_method`, `currency`, and other required fields are provided for each specific case. ```json { "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" } ``` ```json { "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" } ``` ```json { "country": "bd", "transfer_method": "upay", "currency": "bdt", "holder_type": "individual", "holder_name": "Moulude Hossain", "district": "BD-03", "account_number": "+8801914538413" } ``` ```json { "country": "bd", "transfer_method": "bkash", "currency": "bdt", "holder_type": "individual", "holder_name": "Rashid", "district": "BD-03", "account_number": "+8801721940130" } ``` ```json { "country": "bd", "transfer_method": "tap", "currency": "bdt", "holder_type": "individual", "holder_name": "Moulude Hossain", "district": "BD-04", "account_number": "+8801914538413" } ``` ```json { "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" } } ``` -------------------------------- ### Initiating QR Payments Source: https://docs.hitpayapp.com/apis/guide/in-person-payments/overview This section outlines the process for initiating QR code payments, which are currently in public beta. It details the steps involved from creating a payment request to receiving webhook notifications. ```APIDOC ## Initiating QR Payments ### Description To initiate a QR payment, follow these steps: 1. **Create Payment Request**: Use the Payment Request API with `payment_methods[]` set to any supported QR payment method and `generate_qr` set to `true`. 2. **QR Code Display**: The card reader will automatically display a QR code on its screen. 3. **Customer Scanning**: Ask your customer to scan the QR code using their mobile payment app (e.g., PayNow, GrabPay, etc.). 4. **Payment Processing**: The customer completes the payment through their mobile app. 5. **Webhook Notification**: You'll receive a webhook with the payment status. ### Supported QR Payment Methods For QR payments, you need to use one of the supported QR payment methods. See the complete list of [supported QR payment methods](/apis/guide/embedded-qr-code-payments#supported-methods). QRPH payment method is currently not supported through in-person payment request APIs ``` -------------------------------- ### Get Webhook Event Details Source: https://docs.hitpayapp.com/apis/webhook-events/get-webhook-event-details 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. ```APIDOC ## GET /v1/webhook-events/{webhook_event_id} ### Description Retrieve the details of a specific webhook event using its ID. ### Method GET ### Endpoint /v1/webhook-events/{webhook_event_id} ### Parameters #### Path Parameters - **webhook_event_id** (string) - Required - The Webhook Event id #### Headers - **X-BUSINESS-API-KEY** (string) - Required - Your business API key ### Response #### Success Response (200) - **id** (string) - The unique identifier of the webhook event. - **business_id** (string) - The identifier of the business associated with the webhook event. - **name** (string) - The name of the webhook event. - **url** (string) - The URL configured for the webhook. - **event_types** (array of strings) - A list of event types that trigger this webhook. - **created_at** (string) - The timestamp when the webhook event was created. - **updated_at** (string) - The timestamp when the webhook event was last updated. #### Error Response (404) - **message** (string) - A message indicating that no query results were found for the specified webhook event ID. ### Request Example (No request body for GET requests) ### Response Example (200 OK) ```json { "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" } ``` ### Response Example (404 Not Found) ```json { "message": "No query results for model [App\\Business\\Webhook] 973ee456-d28f-4418-93c5-d37e4b311685" } ``` ``` -------------------------------- ### Create Product Source: https://docs.hitpayapp.com/apis/product/create-product Allows users to create a new product by providing product details. ```APIDOC ## POST /products ### Description Creates a new product with the provided details. ### Method POST ### Endpoint /products ### Request Body - **business_id** (string) - Required - The ID of the business. - **category_id** (string) - Required - The ID of the category. - **name** (string) - Required - The name of the product. - **description** (string) - Required - The description of the product. - **currency** (string) - Required - The currency for the product price. - **price** (number) - Required - The price of the product. - **price_display** (string) - Required - The display price of the product. - **price_stored** (integer) - Required - The stored price of the product. - **is_manageable** (boolean) - Required - Indicates if the product is manageable. - **is_pinned** (boolean) - Required - Indicates if the product is pinned. - **status** (string) - Required - The status of the product. - **has_variations** (boolean) - Required - Indicates if the product has variations. - **is_shopify** (boolean) - Required - Indicates if the product is from Shopify. - **product_url** (string) - Required - The URL of the product. - **variations_count** (integer) - Required - The number of variations. - **is_published** (boolean) - Optional - Indicates if the product is published. - **images** (array) - Optional - An array of image objects, each containing `id`, `caption`, `url`, and `other_dimensions`. - **starts_at** (string) - Optional - The start date/time for the product. - **ends_at** (string) - Optional - The end date/time for the product. ### Response #### Success Response (200) - **id** (string) - The unique identifier of the created product. - **business_id** (string) - The ID of the business. - **category_id** (string) - The ID of the category. - **name** (string) - The name of the product. - **description** (string) - The description of the product. - **currency** (string) - The currency for the product price. - **price** (number) - The price of the product. - **price_display** (string) - The display price of the product. - **price_stored** (integer) - The stored price of the product. - **is_manageable** (boolean) - Indicates if the product is manageable. - **is_pinned** (boolean) - Indicates if the product is pinned. - **status** (string) - The status of the product. - **has_variations** (boolean) - Indicates if the product has variations. - **is_shopify** (boolean) - Indicates if the product is from Shopify. - **product_url** (string) - The URL of the product. - **variations_count** (integer) - The number of variations. - **is_published** (boolean) - Indicates if the product is published. - **images** (array) - An array of image objects. - **created_at** (string) - The timestamp when the product was created. - **updated_at** (string) - The timestamp when the product was last updated. - **starts_at** (string) - The start date/time for the product. - **ends_at** (string) - The end date/time for the product. #### Error Response (422) - **message** (string) - Indicates that the data provided was invalid. - **errors** (object) - An object containing specific validation errors. ``` -------------------------------- ### Install Claude Code Plugin Source: https://docs.hitpayapp.com/apis/guide/ai-developer-tools Install the HitPay plugin within Claude Code to access its features. This requires two commands to add and install the plugin from the marketplace. ```bash /plugin marketplace add hit-pay/claude-code-plugin /plugin install hitpay@hitpay-plugins ``` -------------------------------- ### Get Notifications Setting Source: https://docs.hitpayapp.com/apis/notifications/get-notifications Use this API to get the notification setting for your account. ```APIDOC ## GET /v1/notifications ### Description Retrieve current notification settings for your account. ### Method GET ### Endpoint /v1/notifications ### Parameters #### Header Parameters - **X-BUSINESS-API-KEY** (string) - Required - Your business API key. ### Response #### Success Response (200) - **event** (string) - The type of event. - **channel** (string) - The notification channel (e.g., email, push_notification). ### Response Example ```json [ { "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" } ] ``` ``` -------------------------------- ### Create Recurring Billing With a Plan Source: https://docs.hitpayapp.com/apis/guide/recurring-billing This example shows how to create a recurring billing request using an existing subscription plan. Include 'plan_id', 'customer_email', and 'start_date' as mandatory fields. ```HTTP POST https://api.sandbox.hit-pay.com/v1/recurring-billing Content-Type: application/x-www-form-urlencoded plan_id=973ee344-6737-4897-9929-edbc9d7bf433 &customer_email=paul@hitpayapp.com &start_date=2022-11-11 ```