# Account Setup Source: https://docs.mayar.id/accountsetup Create your MAYAR account and start receiving payments in minutes. ## Overview Welcome to the MAYAR Account Creation process! In this guide, we will walk you through the steps of creating a MAYAR account, so you can smoothly manage your business transactions and payments. Whether you are a new MAYAR user or looking to create a trial account, we are here to assist you. * **Sign Up**: To get started with MAYAR, please go to [mayar.id](http://mayar.id) and register to unlock a fast and simple payment solution. Gambar1 Pn ### **Follow these steps to create your account:** First, create a new account on the MAYAR platform. You will need to sign up using your Google account. After registering, you will receive a "Welcome to MAYAR" email. After logging in with your Google account, you will be asked to fill in your business information, including: Business name, Phone number, Monthly revenue, Products or services offered, Number of employees, Upload your business logo, and How you found out about MAYAR. Now, add your bank account or e-wallet details (GoPay, OVO, Dana, ShopeePay, Mandiri E-Cash, LinkAja). This is where you will receive payments from your product sales. Before you can start selling, you need to verify your account. This means uploading some documents to confirm your identity and business. Once your account is verified, you can start adding your products to the MAYAR platform. # Get Account Balance Source: https://docs.mayar.id/api-reference-v2/balance/accountbalance GET /endpointbalancev2/accountbalance Endpoint where you can get your account balance ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/balances' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "balanceActive": 0, "balancePending": 0, "balance": 0 } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/balances ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/balances ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Response Successful Response ## Main Structure (Root) Status code returned by the API. Status message that describes the status code. The account balance object. ### data Structure (Object) Active balance that can be used/withdrawn immediately. Pending balance (cannot be withdrawn). Total overall balance (Active balance + Pending balance). # Get Bundling Detail Source: https://docs.mayar.id/api-reference-v2/bundling/detail GET /endpointbundlingv2/detail Endpoint used to view the details of a bundling product ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/bundling/a1b2c3d4-e5f6-4789-a012-3456789abcde' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "name": "Paket Belajar Lengkap", "amount": 150000, "description": "

Paket bundling kelas online dan produk digital.

\n", "type": "bundling", "status": "active", "link": "paket-belajar-lengkap", "updatedAt": 1782557015266, "createdAt": 1773826841895, "subType": null, "tax": null, "items": null, "limit": null, "expiredAt": null, "redirectUrl": "", "notes": "Catatan internal paket bundling.", "terms": null, "target": null, "reason": null, "receiver": null, "usage": null, "category": null, "affiliateCommission": null, "paymentType": null, "qty": null, "bundlingProductType": "payment_link", "coverImageId": null, "multipleImageId": null, "customerId": null, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "event": null, "coverImage": null, "multipleImage": null, "customer": null, "user": { "id": "348e083d-315a-4e5c-96b1-5a2a98c48413", "accountId": "d4e5f6a7-b8c9-4012-d345-6789abcdef01", "account": { "id": "d4e5f6a7-b8c9-4012-d345-6789abcdef01", "name": "Mayar Demo Account" } }, "products": [ { "id": "6f8c19ff-2b6a-4c7e-9f1d-1a2b3c4d5e6f", "status": "ENABLED", "variantId": null, "updatedAt": 1773826843750, "paymentLinkId": "21d84338-7c2e-4a9b-8d3f-4e5f6a7b8c9d", "paymentLink": { "id": "21d84338-7c2e-4a9b-8d3f-4e5f6a7b8c9d", "name": "Kelas Online Dasar", "type": "course", "amount": 0, "variant": null } }, { "id": "b2c3d4e5-f6a7-4890-b123-456789abcdef", "status": "ENABLED", "variantId": null, "updatedAt": 1773826843750, "paymentLinkId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "paymentLink": { "id": "348e083d-315a-4e5c-96b1-5a2a98c48413", "name": "Produk Digital Premium", "type": "digital_product", "amount": 100000, "variant": null } } ] } } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/bundling/{uuId} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/bundling/{uuId} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters A unique identifier of the bundling product. If accessed through the dashboard, it can be found in the URL on the bundling details page. Example: `a1b2c3d4-e5f6-4789-a012-3456789abcde` ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The bundling detail object. ### data Structure (Object) Unique ID of the bundling product. Name of the bundling product. Price of the bundle. Bundle description (may contain HTML). Item type. Always `bundling`. Bundle status (example: `active`, `closed`). Unique link slug. Last update time in epoch format (ms). Creation time in epoch format (ms). Redirect URL after payment (if any). Internal notes (if any). Type of products that make up the bundle (example: `payment_link`). Cover image ID (if any). Cover image details (if any). Additional image IDs (if any). Additional image details (if any). ID of the merchant account that owns the bundle. Summary of the owning merchant account. List of products included in the bundle. The detail object also returns a number of nullable product attributes shared across all product types — `subType`, `tax`, `items`, `limit`, `expiredAt`, `terms`, `target`, `reason`, `receiver`, `usage`, `category`, `affiliateCommission`, `paymentType`, `qty`, `customerId`, `customer`, and `event` — which are `null` for bundling products. ### user Structure (Object) Merchant account ID. Associated account ID. Account summary (`id`, `name`). ### products Structure (Array Of Object) ID of the bundle-product link record. Status of the product within the bundle (example: `ENABLED`). ID of the selected product variant (if any). Last update time of the bundle-product link in epoch format (ms). ID of the underlying product/payment link. Summary of the underlying product/payment link (`id`, `name`, `type`, `amount`, `variant`). ## Errors Returned with `messages: "Bundling not found"` when no bundling product matches the supplied `uuId`. # Get Bundling Source: https://docs.mayar.id/api-reference-v2/bundling/index GET /endpointbundlingv2/index Endpoint to get a list of bundling products ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/bundling?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "name": "Paket Belajar Lengkap", "amount": 150000, "description": "

Paket bundling kelas online dan produk digital.

\n", "type": "bundling", "status": "active", "link": "paket-belajar-lengkap", "updatedAt": 1782557015266, "createdAt": 1773826841895, "bundlingProductType": "payment_link", "coverImageId": null, "coverImage": null, "products": [ { "id": "6f8c19ff-2b6a-4c7e-9f1d-1a2b3c4d5e6f", "status": "ENABLED", "paymentLinkId": "21d84338-7c2e-4a9b-8d3f-4e5f6a7b8c9d", "paymentLink": { "id": "21d84338-7c2e-4a9b-8d3f-4e5f6a7b8c9d", "name": "Kelas Online Dasar", "type": "course", "amount": 0 } }, { "id": "b2c3d4e5-f6a7-4890-b123-456789abcdef", "status": "ENABLED", "paymentLinkId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "paymentLink": { "id": "348e083d-315a-4e5c-96b1-5a2a98c48413", "name": "Produk Digital Premium", "type": "digital_product", "amount": 100000 } }, { "id": "c3d4e5f6-a7b8-4901-c234-56789abcdef0", "status": "ENABLED", "paymentLinkId": "7c9d2e1f-3a4b-4c5d-8e6f-7a8b9c0d1e2f", "paymentLink": { "id": "7c9d2e1f-3a4b-4c5d-8e6f-7a8b9c0d1e2f", "name": "Link Pembayaran Tambahan", "type": "generic_link", "amount": 50000 } } ] } ], "hasMore": false, "nextStartingAfter": null } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/bundling?limit=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/bundling?limit=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Number of items to return per page. Defaults to `10`, with a maximum of `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a Unix timestamp in milliseconds, as a string) to fetch the next page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of bundling products. Each item is a bundling-type product object. Information on whether there is additional data to be retrieved (true/false). Cursor to pass as `startingAfter` to fetch the next page. `null` when there is no further data. ### data Structure (Array Of Object) Unique ID of the bundling product. Name of the bundling product. Price of the bundle. Bundle description (may contain HTML). Item type. Always `bundling` for this list. Bundle status (example: `active`, `closed`). Unique link slug. Last update time in epoch format (ms). Creation time in epoch format (ms). Type of products that make up the bundle (example: `payment_link`). Cover image ID (if any). Cover image details (if any). List of products included in the bundle. ### products Structure (Array Of Object) ID of the bundle-product link record. Status of the product within the bundle (example: `ENABLED`). ID of the underlying product/payment link. Summary of the underlying product/payment link. ### products.paymentLink Structure (Object) ID of the product/payment link. Name of the product/payment link. Product type (example: `course`, `digital_product`, `generic_link`). Price of the underlying product. # Add Customer Credit Source: https://docs.mayar.id/api-reference-v2/credit/add-credit POST /endpointcreditv2/add-credit Endpoint for merchants to top-up (add) credit to a customer's add-on wallet. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/credit/customer/add-credit' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --header 'Content-Type: application/json' \ --data-raw '{ "customerId": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "productId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f", "amount": 50000 }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "customerNewBalance": 150000 } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/credit/customer/add-credit ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/credit/customer/add-credit ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The unique identifier of the customer to add credit to. The unique identifier of the credit-based or membership product. The unique identifier of the membership tier (required when the product is a membership product with multiple tiers). The amount of credit to add to the customer's add-on wallet. Must be a positive integer. ## Response Successful Response ### Main Structure (Root) Status code from the API. Status message that describes the status code. The top-up result object. The customer's updated total balance after the top-up. ## Errors Returned when required fields are missing or the amount is invalid. Returned when the API key does not have access to the specified product. # Get Customer Credit Balance Source: https://docs.mayar.id/api-reference-v2/credit/balance GET /endpointcreditv2/balance Endpoint to get the credit balance of a customer for a specific credit-based or membership product. ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/credit/customer/balance?customerId=a1b2c3d4-e5f6-4789-a012-3456789abcde&productId=7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 (Credit Usage Product) theme={null} { "statusCode": 200, "messages": "success", "data": { "customerBalance": 50000, "customerBalanceMain": 50000, "customerBalanceAddon": 0 } } ``` ```json Response Example 200 (Membership Product) theme={null} { "statusCode": 200, "messages": "success", "data": { "customerBalance": 50000, "customerBalanceMembership": 50000, "customerBalanceAddon": 0, "customerDetail": { "customerName": "Budi Santoso", "customerEmail": "budi.santoso@example.com", "customerMobile": "081234567890" }, "membershipCustomerDetail": { "nextPayment": "2026-08-15T15:29:59.430Z", "expiredAt": "2026-07-15T15:29:59.430Z", "status": "active" } } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/credit/customer/balance?customerId=(customerId)&productId=(productId) ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/credit/customer/balance?customerId=(customerId)&productId=(productId) ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters The unique identifier of the customer whose credit balance you want to retrieve. The unique identifier of the credit-based or membership product. The unique identifier of the membership tier (required when the product is a membership product with multiple tiers). ## Response Successful Response ### Main Structure (Root) Status code from the API. Status message that describes the status code. The credit balance object. Shape depends on the product type (credit-usage vs membership). ### data Structure (Object) Total customer balance across all wallets. Main wallet balance (credit-usage product only). Membership wallet balance (membership product only). Add-on wallet balance (merchant top-up credit). Customer detail information (membership product only). Membership customer detail including `nextPayment`, `expiredAt`, and `status` (membership product only). ## Errors Returned with `messages: "Invalid query parameters"` when required parameters are missing or fail validation. Returned when the API key does not have access to the specified product. # Generate Immutable Checkout Link Source: https://docs.mayar.id/api-reference-v2/credit/generate-immutable-checkout POST /endpointcreditv2/generate-immutable-checkout Endpoint to generate an immutable checkout link pre-filled with customer information for credit-based or membership products. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/credit/generate/immutable/checkout' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --header 'Content-Type: application/json' \ --data-raw '{ "productId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f", "customerInfo": { "name": "Budi Santoso", "email": "budi.santoso@example.com", "mobile": "081234567890" }, "creditAmount": 50000 }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "success", "data": { "checkoutLink": "https://web.mayar.id/pl/checkout?product=7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f&immutable=eyJhbGciOiJIUzI1NiJ9.eyJjdXN0b21lck5hbWUiOiJcdTAwMjZndDsiLCJjdXN0b21lckVtYWlsIjoiY..." } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/credit/generate/immutable/checkout ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/credit/generate/immutable/checkout ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The unique identifier of the credit-based or membership product. The customer's contact details to pre-fill in the checkout link. The customer's full name. The customer's email address. The customer's mobile phone number. The amount of credit to set as the default value in the checkout. For membership products this determines the tier pricing displayed. ## Response Successful Response ### Main Structure (Root) Status code from the API. Status message (singular — write endpoints use `message`). The checkout link result. The immutable checkout URL with customer information embedded as an HMAC-signed token. This URL can be safely shared with the customer. ## Errors Returned when required fields are missing or fail validation. Returned when the API key does not have access to the specified product. # Paginate Customer Credit History Source: https://docs.mayar.id/api-reference-v2/credit/paginate-credit-history GET /endpointcreditv2/paginate-credit-history Endpoint to retrieve paginated credit transaction history for a customer. ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/credit/customer/paginate-credit-history/a1b2c3d4-e5f6-4789-a012-3456789abcde?productId=7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f&page=1&limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "f1e2d3c4-b5a6-4789-9012-3456789abcdef", "datetime": "2026-06-20T09:10:57.994Z", "type": "CREDIT_USAGE", "amount": 10000, "balanceBefore": 60000, "balanceAfter": 50000, "walletType": "MAIN", "description": "Credit usage for product order", "customerId": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "productId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f" }, { "id": "a1b2c3d4-e5f6-4789-9012-3456789abcdef", "datetime": "2026-06-19T15:30:00.000Z", "type": "MERCHANT_TOPUP", "amount": 50000, "balanceBefore": 10000, "balanceAfter": 60000, "walletType": "ADD_ON", "description": "Merchant top-up", "customerId": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "productId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f" } ], "metadata": { "page": 1, "limit": 10, "totalPages": 1, "totalData": 2 } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/credit/customer/paginate-credit-history/(customerId)?productId=(productId)&page=1&limit=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/credit/customer/paginate-credit-history/(customerId)?productId=(productId)&page=1&limit=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters The unique identifier of the customer whose credit history you want to retrieve. ## Query Parameters The unique identifier of the product to filter credit history by. The unique identifier of the membership tier to filter by. Page number for pagination. Number of records per page. Field to sort by (for example `datetime`, `amount`). Sort order: `asc` or `desc`. Start date filter (ISO 8601 format). End date filter (ISO 8601 format). Filter by wallet type: `MEMBERSHIP`, `ADD_ON`, or `MAIN`. Filter by transaction type: `TOPUP`, `MERCHANT_TOPUP`, `TRIAL_TOPUP`, `EXPIRE_VOID`, `CREDIT_USAGE`. ## Response Successful Response ### Main Structure (Root) Status code from the API. Status message that describes the status code. Array of credit transaction records. Pagination metadata containing `page`, `limit`, `totalPages`, and `totalData`. ### data Structure (Array Of Object) Unique identifier of the credit transaction. ISO 8601 timestamp (UTC) of the transaction. Transaction type: `TOPUP`, `MERCHANT_TOPUP`, `TRIAL_TOPUP`, `EXPIRE_VOID`, or `CREDIT_USAGE`. The amount of credit involved in the transaction. Customer balance before the transaction. Customer balance after the transaction. Wallet type affected: `MAIN`, `MEMBERSHIP`, or `ADD_ON`. Description of the transaction. Customer identifier associated with the transaction. Product identifier associated with the transaction. ## Errors Returned when required parameters are missing or fail validation. Returned when the specified customer is not found. # Register Credit Usage Customer Source: https://docs.mayar.id/api-reference-v2/credit/regist-credit-usage POST /endpointcreditv2/regist-credit-usage Endpoint to register a new customer for a credit-usage product. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/credit/credit-usage/customer/regist' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --header 'Content-Type: application/json' \ --data-raw '{ "productId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f", "customerInfo": { "name": "Budi Santoso", "email": "budi.santoso@example.com", "mobile": "081234567890" }, "trialCredit": 25000 }' ``` ```json Response Example 201 theme={null} { "statusCode": 201, "message": "success", "data": { "customerId": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "customerName": "Budi Santoso", "customerEmail": "budi.santoso@example.com", "customerBalance": 25000, "checkoutLink": "https://web.mayar.id/pl/checkout?product=7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f&customer=a1b2c3d4" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/credit/credit-usage/customer/regist ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/credit/credit-usage/customer/regist ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The unique identifier of the credit-usage product. The customer's contact details. The customer's full name. The customer's email address. The customer's mobile phone number. Optional trial credit amount to grant to the customer upon registration. ## Response Successful Response — HTTP `201` ### Main Structure (Root) Status code from the API. `201` on successful registration. Status message (singular — write endpoints use `message`). The registration result containing customer details, balance, and checkout link. The unique identifier of the created or existing customer. The customer's full name. The customer's email address. The customer's initial credit balance (including trial credit if granted). The checkout URL for the customer to purchase additional credit. ## Errors Returned when the request body fails validation. Returned when a customer with this email already has a paid transaction on this product. # Register Membership Customer Source: https://docs.mayar.id/api-reference-v2/credit/regist-membership POST /endpointcreditv2/regist-membership Endpoint to register a new customer for a membership (subscription) product with trial credit. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/credit/membership/customer/regist' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --header 'Content-Type: application/json' \ --data-raw '{ "productId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f", "membershipTierId": "9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d", "customerInfo": { "name": "Budi Santoso", "email": "budi.santoso@example.com", "mobile": "081234567890" }, "trialCredit": 50000, "membershipMonthlyPeriod": 1 }' ``` ```json Response Example 201 theme={null} { "statusCode": 201, "message": "success", "data": { "membershipCustomer": { "id": "c4d5e6f7-a8b9-4c0d-8e1f-2a3b4c5d6e7f", "memberId": "MBR8X2QK", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "customerId": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "membershipTierId": "9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d", "paymentLinkId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f", "monthlyPaymentPeriod": 1, "status": "active", "nextPayment": "2026-08-20T09:10:57.994Z", "expiredAt": null, "createdAt": "2026-07-20T09:10:57.994Z", "updatedAt": "2026-07-20T09:10:57.994Z" }, "paymentLink": "https://web.mayar.id/pay-membership/MBR8X2QK" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/credit/membership/customer/regist ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/credit/membership/customer/regist ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The unique identifier of the membership product. The unique identifier of the membership tier to enroll the customer in. The customer's contact details. The customer's full name (3-250 characters). The customer's email address (6-55 characters). The customer's mobile phone number (10-15 characters). Optional trial credit amount to grant to the customer upon registration. The monthly billing period for the membership. Accepted values: `1`, `3`, `6`, `12`. ## Response Successful Response — HTTP `201` ### Main Structure (Root) Status code from the API. `201` on successful registration. Status message (singular — write endpoints use `message`). The registration result wrapper. The newly created membership customer record. The checkout URL for the member's first payment. ## Errors Returned when the request body fails validation. Returned when a customer with this email is already registered on this tier. Returned when the membership tier has reached its maximum member limit. # Spend Customer Credit Source: https://docs.mayar.id/api-reference-v2/credit/spend POST /endpointcreditv2/spend Endpoint to spend (deduct) customer credit from their balance. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/credit/customer/spend' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --header 'Content-Type: application/json' \ --data-raw '{ "customerId": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "productId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f", "amount": 10000 }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "customerNewBalance": 90000 } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/credit/customer/spend ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/credit/customer/spend ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The unique identifier of the customer whose credit will be spent. The unique identifier of the credit-based or membership product. The unique identifier of the membership tier (required when the product is a membership product with multiple tiers). The amount of credit to spend. Must be a positive integer not exceeding the customer's available balance. ## Response Successful Response ### Main Structure (Root) Status code from the API. Status message that describes the status code. The spend result object. The customer's remaining balance after the spend operation. ## Errors Returned when the customer does not have enough credit to spend the requested amount. Returned when required fields are missing or the amount is invalid. # Create Customer Source: https://docs.mayar.id/api-reference-v2/customer/create POST /endpointcustomerv2/create Endpoint used to create customer ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/customers/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "name": "Budi Santoso", "email": "budi.santoso@example.com", "mobile": "081234567890" } ' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "name": "Budi Santoso", "email": "budi.santoso@example.com", "mobile": "081234567890", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "customerId": "a1b2c3d4-e5f6-4789-a012-3456789abcde" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/customers/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/customers/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Customer Name. Customer email. Customer telephone number. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The created customer data (echoes the submitted body and appends `customerId`). ### data Structure (Object) Customer name. Customer email address. Customer phone number. Unique ID for the user (the account owner). Unique ID for the customer associated with the user. ## Errors Returned with `messages: "Validation Error"` when the request body fails validation (e.g. missing or malformed `name`, `email`, or `mobile`). # Create Magic Link Source: https://docs.mayar.id/api-reference-v2/customer/createmagiclink POST /endpointcustomerv2/createmagiclink Endpoint to create magic link and send to customer email for their login in our customer portal ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/customers/portal-login' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "email": "budi.santoso@example.com" } ' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "url": "Sudah kami kirim ke email anda" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/customers/portal-login ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/customers/portal-login ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Customer email. The magic link is sent to this address. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The magic-link request result. ### data Structure (Object) Information about the magic link request that was made. ## Errors Returned with `messages: "Validation Error."` when the request body fails validation (e.g. missing `email`). Returned with `messages: "Email tidak terdaftar"` when no customer matches the email. # Get Customer Source: https://docs.mayar.id/api-reference-v2/customer/getdetail GET /endpointcustomerv2/getdetail Endpoint where you can get your customer list ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/customers?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "createdAt": 1761557824548, "email": "budi.santoso@example.com", "mobile": "081234567890", "name": "Budi Santoso", "status": "active", "updatedAt": 1761557824548, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413" }, { "id": "b2c3d4e5-f6a7-4890-b123-456789abcdef", "createdAt": 1707302705027, "email": "siti.aminah@example.com", "mobile": "081298765432", "name": "Siti Aminah", "status": "active", "updatedAt": 1707302705027, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413" }, { "id": "c3d4e5f6-a7b8-4901-c234-56789abcdef0", "createdAt": 1769830909621, "email": "andi.pratama@example.com", "mobile": "081200000001", "name": "Andi Pratama", "status": "active", "updatedAt": 1769830909621, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413" } ], "hasMore": true, "nextStartingAfter": "1769830909621" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/customers?limit=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/customers?limit=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Filter customers by a specific payment link ID. Start of the date range to filter by (Unix timestamp in milliseconds). End of the date range to filter by (Unix timestamp in milliseconds). Number of items to return per page. Defaults to `10`, with a maximum of `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a Unix timestamp in milliseconds, as a string) to fetch the next page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of customers displayed. Information on whether there is additional data to be retrieved (true/false). Cursor to pass as `startingAfter` to fetch the next page. `null` when there is no further data. ### data Structure (Array Of Object) Unique customer ID. The time the data was created. Customer's email address. Customer's phone number. Customer's name. Customer status, e.g., "active", "inactive". The last time the data was updated. The user ID of the owner of this data/customer. # Search Customer By Email Source: https://docs.mayar.id/api-reference-v2/customer/searchcustomerbyemail GET /endpointcustomerv2/searchcustomerbyemail Endpoint to retrieve customer details by email ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/customers/detail?email=budi.santoso@example.com' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "createdAt": 1761557824548, "email": "budi.santoso@example.com", "mobile": "081234567890", "name": "Budi Santoso", "status": "active", "updatedAt": 1761557824548, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "user": { "id": "348e083d-315a-4e5c-96b1-5a2a98c48413", "name": "Toko Mayar Demo", "urlHook": "https://webhook.example.com/mayar-payment-webhook", "email": "merchant@example.com", "paymeLink": "testingmayar", "isSelfDomain": false, "accountId": "be305ea4-5fe1-4bb9-a5c8-6bc1d0bfd279", "account": { "id": "be305ea4-5fe1-4bb9-a5c8-6bc1d0bfd279", "name": "Mayar Demo Account", "imageId": "efeecb5d-acac-45f8-8249-396f8a5b6a95", "logo": { "id": "efeecb5d-acac-45f8-8249-396f8a5b6a95", "fileType": "jpeg", "url": "https://media.mayar.id/images/efeecb5d-acac-45f8-8249-396f8a5b6a95.jpeg" } } } } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/customers/detail?email={inputyourcustomeremail} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/customers/detail?email={inputyourcustomeremail} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-Api-Key-Here` ## Query Parameters Customer email address used to search customer details. Returns `400` with `Email query parameter is required` when omitted, and `404` with `Customer not found` when no customer matches the email. ## Response Successful Response ## Main Structure (Root) Status code returned by the API. Status message that describes the API response. Customer detail object. ### data Structure (Object) Unique customer ID. Unix timestamp in milliseconds indicating when the customer was created. Customer email address. Customer phone number. Customer full name. Current customer status. Unix timestamp in milliseconds indicating when the customer was last updated. Unique user ID associated with the customer. User information object associated with the customer. Unique user ID. User full name. Webhook URL configured by the user. User email address. User payment link identifier. Indicates whether the user uses a custom domain. Unique account ID associated with the user. Account information object. Unique account ID. Account name. Unique image ID associated with the account logo. Account logo object. Unique logo image ID. Logo file type. Public URL of the account logo image. # Update Customer Email Source: https://docs.mayar.id/api-reference-v2/customer/update POST /endpointcustomerv2/update Endpoint is used to update customer email. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/customers/update' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "fromEmail": "budi.santoso@example.com", "toEmail": "budi.santoso.new@example.com" } ' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/customers/update ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/customers/update ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The email of the customer to be updated from. The new email of the customer. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. ## Errors Returned with `messages: "Validation Error"` when the request body fails validation (e.g. missing `fromEmail` or `toEmail`). Returned with `messages: "Email {fromEmail} tidak terdaftar sebagai customer"` when no customer matches `fromEmail`. # Create Digital Product Source: https://docs.mayar.id/api-reference-v2/digitalproduct/create POST /endpointdigitalproductv2/create Endpoint used to create a digital product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/products/digital-product/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "name": "E-Book Panduan Bisnis Buat Pemula", "description": "Panduan lengkap memulai bisnis online", "amount": 75000, "crossoutPrice": 150000, "redirectUrl": "https://example.com/ebook-download", "notes": "diskon-50", "expiredAt": "2026-06-15T12:00:00.000Z", "limit": 200, "tax": 7500 }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "6894b1b2-f303-423b-a6b6-93e230e1d393", "link": "https://testingmayar.myr.id/catalog/E-Book-Panduan-Bisnis-Buat-Pemula" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/digital-product/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/digital-product/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Digital product name. Digital product description. Digital product price amount. Crossed-out price displayed as the original price. URL where the customer will be redirected after completing payment. Additional notes for the digital product. Product expiration date in ISO 8601 format. Maximum purchase limit. Tax amount applied to the product. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The created digital product data. ### data Structure (Object) Unique identifier of the digital product. Public URL of the created digital product. ### Errors Returned when the request body fails validation: `{ "statusCode": 400, "messages": "Validation Error" }`. Returned when a product with the same identifier already exists: `{ "statusCode": 409, "messages": "already exist" }`. # Edit Digital Product Source: https://docs.mayar.id/api-reference-v2/digitalproduct/edit POST /endpointdigitalproductv2/edit Endpoint used to edit a digital product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/products/digital-product/6894b1b2-f303-423b-a6b6-93e230e1d393/update' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "id": "6894b1b2-f303-423b-a6b6-93e230e1d393", "name": "E-Book Panduan Bisnis Buat Pemula Edisi Revisi", "description": "Panduan lengkap memulai bisnis online", "amount": 85000, "redirectUrl": "https://example.com/ebook-download", "notes": "diskon-50", "expiredAt": "2026-06-15T12:00:00.000Z" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "6894b1b2-f303-423b-a6b6-93e230e1d393", "link": "https://testingmayar.myr.id/catalog/E-Book-Panduan-Bisnis-Buat-Pemula" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/digital-product/{id}/update ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/digital-product/{id}/update ``` The product to edit is identified by the `id` field in the request body, not by the `{id}` segment in the URL path. ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Unique identifier of the digital product to edit. This is read from the request body. Digital product name. Digital product description. Digital product price amount. Crossed-out price displayed as the original price. URL where the customer will be redirected after completing payment. Additional notes for the digital product. Product expiration date in ISO 8601 format. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The updated digital product data. ### data Structure (Object) Unique identifier of the digital product. Public URL of the updated digital product. ### Errors When the request body fails validation, this endpoint still responds with HTTP `200` but sets `messages` to `failed` and returns the validator errors in `data`: `{ "statusCode": 200, "messages": "failed", "data": { ... } }`. Returned when the product does not belong to the authenticated account: `{ "statusCode": 401, "messages": "Unauthorized" }`. Returned when the product does not exist: `{ "statusCode": 404, "messages": "Product not found" }`. # Check Coupon Usage Source: https://docs.mayar.id/api-reference-v2/discount/check POST /endpointdiscountv2/check Endpoint used to check how many times a coupon has been used and how much quota remains ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/coupons/check' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '{ "couponCode": "HARIBAIK" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "couponCode": "HARIBAIK", "isUsed": false, "totalUsed": 12, "limit": 100, "remaining": 88 } } ``` ```json Response Example 404 theme={null} { "statusCode": 404, "messages": "Kode kupon tidak ditemukan.", "data": null } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/coupons/check ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/coupons/check ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Coupon code to check (1–50 characters). ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. Coupon usage details. ### data Structure (Object) The coupon code that was checked. `true` when the coupon has reached its usage limit (`totalUsed >= limit` and `limit > 0`), otherwise `false`. Number of times the coupon has been used. Maximum usage limit for the coupon (`0` when no limit is set). Remaining usage quota (`limit - totalUsed`, never below `0`). ## Errors Returned with `messages: "Validation Error"` when the request body fails validation (e.g. missing `couponCode`). Returned with `messages: "Kode kupon tidak ditemukan."` when the coupon code does not exist for the authenticated account. # Create Discount with Coupon Source: https://docs.mayar.id/api-reference-v2/discount/create POST /endpointdiscountv2/create Endpoint used to create discount coupons ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/coupons/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "name": "Diskon Murmer", "expiredAt": "2030-01-01T09:06:14.933Z", "discount": { "discountType": "monetary", "eligibleCustomerType": "all", "minimumPurchase": 500000, "value": 100000, "totalCoupons": 100 }, "coupon": { "code": "haribaik", "type": "reusable" }, "products": [] } ' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "c9aa143a-53f9-44e7-a9c6-83229ad7199b", "name": "Diskon Murmer", "discountType": "monetary", "value": 100000, "minimumPurchase": 500000, "eligibleCustomerType": "all", "totalCoupons": 100, "discountProductType": "all", "expiredAt": "2030-01-01T09:06:14.933Z", "isLifeTime": null, "status": "active", "coupons": [ { "id": "532858fe-3722-4cf4-a8eb-f7c6765aba17", "code": "haribaik", "type": "reusable", "expiredAt": "2030-01-01T09:06:14.933Z" } ], "products": [], "createdAt": "2026-06-29T07:12:41.029Z" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/coupons/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/coupons/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Discount name (minimum 5 characters). Discount coupon expiration date. When omitted, the discount and its coupon do not expire (`expiredAt` is stored as `null`). Details of the discount conditions. Coupon code details. List of eligible products (maximum 2). Leave empty to apply the discount to all products. When provided, each item requires a product `id` you own. ### discount Structure (Object) Discount type: * monetary * percentage For `percentage`, a `value` greater than `99` is automatically capped at `99`. Target customers who can use the discount coupon: * all * new * old Minimum purchase amount required to use the discount. Discount amount (must be positive). Available coupon quota (must be positive). For `onetime` coupons, a maximum of 50 codes are generated per request. ### coupon Structure (Object) Discount coupon code. Optional — when omitted, a random code is generated. Only used for `reusable` coupons; `onetime` coupons always receive generated codes. Coupon type: * reusable * onetime ### products Structure (Array Of Object) Product (payment link) ID to attach the discount to. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The created discount details. ### data Structure (Object) Discount ID. Discount name. Discount type. Discount value. Minimum purchase amount to apply the discount. `null` if not set. Eligible customer scope. Total number of coupons available. Discount product scope: `all` when no products are attached, `selected` when one or more products are provided. Expiration date in ISO 8601 format, or `null` when the discount does not expire. Indicates if the discount is lifetime (`true`/`false`) or `null`. Discount status (example: `"active"`). List of coupons created for this discount. List of products attached to the discount (empty when applied to all products). Creation time in ISO 8601 format. ### coupons Structure (Array Of Object) Coupon ID. Present for `reusable` coupons; omitted for `onetime` coupons. Coupon code. Coupon type (`reusable` or `onetime`). Coupon expiration date, or `null` when it does not expire. ### products Structure (Array Of Object) Attached product (payment link) ID. ## Errors Returned with `messages: "Validation Error"` when the request body fails validation (e.g. missing or malformed `name`, `discount`, or `coupon` fields). Returned with `messages: "Product Tidak Bisa Ditambahkan"` when an attached product is not owned by the authenticated account. Returned with `messages: "Product Tidak Ditemukan"` when an attached product cannot be found. Returned with `messages: "Coupon code already in use"` when a `reusable` coupon code already exists. # Get Coupon Detail Source: https://docs.mayar.id/api-reference-v2/discount/detail GET /endpointdiscountv2/detail Endpoint used to view details and status of coupons that have been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/coupons/c9aa143a-53f9-44e7-a9c6-83229ad7199b' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "c9aa143a-53f9-44e7-a9c6-83229ad7199b", "createdAt": 1755665561029, "expiredAt": 1893488774933, "productDiscount": [], "discountType": "monetary", "discountProductType": "all", "eligibleCustomerType": "all", "name": "Diskon Murmer", "minimumPurchase": 500000, "isLifeTime": null, "totalCoupons": 100, "value": 100000, "coupons": [ { "id": "532858fe-3722-4cf4-a8eb-f7c6765aba17", "code": "haribaik", "createdAt": 1755665561256, "discountId": "c9aa143a-53f9-44e7-a9c6-83229ad7199b", "endMonthTrial": null, "expiredAt": 1893488774933, "isActive": true, "limit": 100, "type": "reusable", "updatedAt": 1755665561256, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413" } ] } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/coupons/{uuId} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/coupons/{uuId} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters A unique identifier obtained when creating a discount. If accessed through the dashboard, it can be found in the URL on the discount details page. Example: `c9aa143a-53f9-44e7-a9c6-83229ad7199b` ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The discount details, including its coupons. ### data Structure (Object) Discount ID. Creation time (timestamp in ms). Expiration time (timestamp in ms), or `null` when the discount does not expire. Product-specific discount rules (empty if not applied). Discount type. Discount product scope. Eligible customer scope. Discount name. Minimum purchase amount required to apply the discount. `null` if not set. Indicates if the discount is lifetime (`true`/`false`) or `null`. Total number of coupons available. Discount value. List of coupons associated with this discount. ### coupons Structure (Array Of Object) Coupon ID (UUID). Coupon code. Coupon creation time (timestamp in ms). Related Discount ID. End of trial month (if applicable). Coupon expiration time (timestamp in ms), or `null` when it does not expire. Whether the coupon is active (`true` or `false`). Maximum usage limit for the coupon. Coupon type. Last updated time (timestamp in ms). ID of the account that owns the coupon. # Get List Coupon Source: https://docs.mayar.id/api-reference-v2/discount/index GET /endpointdiscountv2/index Endpoint used to view the paginated list of coupons and discount campaigns that have been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/coupons?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "coupons": [ { "id": "3f1c8b02-9d4a-4e17-b6c5-0a71d2e93f48", "name": "Diskon Awal Tahun", "status": "active", "discountValue": 50000, "totalUsage": 12, "createdAt": "2026-01-05T04:21:37.118Z", "expiredAt": "2026-12-31T16:59:59.000Z", "products": [] }, { "id": "8a52d7e4-6b30-4c91-9f28-4d6e1b0a75c3", "name": "Promo Kelas Online", "status": "inactive", "discountValue": 25000, "totalUsage": 0, "createdAt": "2026-02-18T09:44:02.503Z", "expiredAt": null, "products": [ { "id": "6f8c19ff-2b6a-4c7e-9f1d-1a2b3c4d5e6f", "name": "Kelas Online Dasar" } ] } ] }, "hasMore": false, "nextStartingAfter": null } ``` ```json Response Example 400 theme={null} { "statusCode": 400, "messages": "Validation Error", "data": null } ``` ```json Response Example 500 theme={null} { "statusCode": 500, "messages": "Internal Server Error", "data": null } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/coupons?limit=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/coupons?limit=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Number of items to return per page. Defaults to `10`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response to fetch the next page. Filter the list by campaign status. Accepted values: `active`, `inactive`, `expired`, `upcoming`. Filter the list by keyword, matched against the coupon / discount campaign name. Return only the campaigns that apply to the given product (payment link) ID. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The list payload, holding the `coupons` array. Information on whether there is additional data to be retrieved (true/false). Cursor to pass as `startingAfter` to fetch the next page. `null` when there is no further data. ### data Structure (Object) List of coupons / discount campaigns. Each item is one discount campaign. ### coupons Structure (Array Of Object) Discount campaign ID. Discount campaign name. Campaign status (`active`, `inactive`, `expired`, or `upcoming`). Discount value applied by the campaign. Number of times the campaign's coupons have been used. Creation time in ISO 8601 format. Expiration time in ISO 8601 format, or `null` when the campaign does not expire. Products the campaign applies to (empty when it applies to all products). ### coupons.products Structure (Array Of Object) Product (payment link) ID the campaign applies to. Name of the product (payment link). # Validate Coupon Source: https://docs.mayar.id/api-reference-v2/discount/validate POST /endpointdiscountv2/validate Endpoint used to validate whether a coupon code can be applied to a checkout ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/coupons/validate' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '{ "couponCode": "HARIBAIK", "paymentLinkId": "4d26ea37-d093-4b92-8f5f-0faec64d65b0", "amount": 0, "customerEmail": "", "tickets": [] }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "valid": true, "coupon": { "id": "08d233e9-91bc-4d9b-afc2-1dbbe38a1186", "code": "HARIBAIK", "discountType": "percentage", "discountValue": 10, "minimumPurchase": null, "eligibleCustomerType": "all" } } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/coupons/validate ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/coupons/validate ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Coupon code applied to the checkout. Unique identifier of the payment link the coupon is applied to. Transaction amount used to check the minimum-purchase requirement. Defaults to `0` when omitted. Email address of the customer performing the checkout. Required to validate coupons restricted to `new` or `old` customers. Membership tier ID. Used together with `paymentLinkType` of `membership_payment` to resolve the payment link for membership checkouts. Type of the payment link (example: `membership_payment`). List of selected tickets for the checkout. Leave empty if not applicable. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. Coupon validation result. ### data Structure (Object) Indicates whether the coupon is valid for the checkout. Object containing the validated coupon details. Unique identifier of the coupon. Coupon code applied to the checkout. Type of discount applied (`monetary` or `percentage`). Discount value based on the discount type. Minimum purchase amount required to use the coupon. Returns `null` if not set. Type of customers eligible to use the coupon (`all`, `new`, or `old`). ## Errors This endpoint returns a `messages` string describing why a coupon cannot be applied. The notable cases: Returned with `messages: "Validation Error"` when the request body fails validation (e.g. missing `couponCode` or `paymentLinkId`). Returned with `messages: "Gagal! Kode diskon ini tidak ditemukan."` when the coupon does not exist or is not valid for the payment link. Returned with `messages: "Gagal! Kode diskon ini sudah tidak aktif."` when the discount is inactive. Returned with `messages: "Gagal! Kode diskon ini belum berlaku dan tidak dapat digunakan."` when the discount start date has not been reached. Returned with `messages: "Gagal! Kode diskon ini telah kadaluarsa dan tidak dapat digunakan."` when the discount has expired. Returned with `messages: "Gagal! Kode diskon tidak dapat digunakan untuk produk {productLabel}"` when the payment link type is not eligible for discounts (e.g. payment requests or fundraising links). Returned with `messages: "Kode diskon ini hanya berlaku untuk transaksi dengan harga minimal {amount}."` when `amount` is below the discount's minimum purchase. Returned with a `messages` string explaining that the coupon is restricted to `new` or `old` (existing) customers when `customerEmail` does not satisfy the eligibility rule. Returned with `messages: "Gagal! Kode diskon telah mencapai batas pemakaian dan tidak dapat digunakan kembali."` when the coupon has reached its usage limit. # Create Event Source: https://docs.mayar.id/api-reference-v2/event/create POST /endpointeventv2/create Endpoint used to create an event product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/products/event/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "name": "Bootcamp Coding Fullstack Asix", "description": "Workshop fullstack development 2 hari", "amount": 3100000, "crossoutPrice": 500000, "eventUrl": "https://meet.google.com/abc-defg-hij", "notes": "offline-jakarta", "terms": "Tiket tidak dapat di-refund", "redirectUrl": "https://example.com/event-thanks", "paymentType": "paid", "startAt": "2026-07-01T08:00:00.000Z", "eventStartAt": "2026-07-15T08:00:00.000Z", "eventEndAt": "2026-07-16T17:00:00.000Z", "expiredAt": "2026-07-10T17:00:00.000Z", "limit": 50, "event": { "eventAddress": "jl perjuangan no 32", "isOnlineEvent": false, "maxTicket": 5 } }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "7f992557-8791-41b5-a1c8-c5641c3e72b5", "link": "https://testingmayar.myr.id/event/Bootcamp-Coding-Fullstack-Asix" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/event/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/event/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Event product name. Event product description in text or HTML format. Event ticket or product price amount. Crossed-out price displayed as the original price. Event URL, such as an online meeting link. Additional notes for the event. Terms and conditions for the event purchase. URL where the customer will be redirected after completing payment. Payment type for the event. Sales start date in ISO 8601 format. Event start date in ISO 8601 format. Event end date in ISO 8601 format. Event product expiration date in ISO 8601 format. Maximum participant or purchase limit. Additional event details. ### event Structure (Object) Event location or address. Indicates whether the event is conducted online. Maximum number of tickets that can be purchased per transaction. Defaults to `50`. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The created event product data. ### data Structure (Object) Unique identifier of the event product. Public URL of the created event product. ### Errors Returned when the request body fails validation: `{ "statusCode": 400, "messages": "Validation Error" }`. Returned when a product with the same identifier already exists: `{ "statusCode": 409, "messages": "already exist" }`. # Edit Event Source: https://docs.mayar.id/api-reference-v2/event/edit POST /endpointeventv2/edit Endpoint used to edit an event product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/products/event/7f992557-8791-41b5-a1c8-c5641c3e72b5/update' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "id": "7f992557-8791-41b5-a1c8-c5641c3e72b5", "name": "Bootcamp Coding Fullstack Asix Batch 2", "description": "Workshop fullstack development 2 hari", "amount": 3500000, "redirectUrl": "https://example.com/event-thanks", "expiredAt": "2026-07-10T17:00:00.000Z", "event": { "eventAddress": "jl perjuangan no 32", "isOnlineEvent": false, "maxTicket": 5 } }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "7f992557-8791-41b5-a1c8-c5641c3e72b5", "link": "https://testingmayar.myr.id/event/Bootcamp-Coding-Fullstack-Asix" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/event/{id}/update ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/event/{id}/update ``` The product to edit is identified by the `id` field in the request body, not by the `{id}` segment in the URL path. ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Unique identifier of the event product to edit. This is read from the request body. Event product name. Event product description in text or HTML format. Event ticket or product price amount. Crossed-out price displayed as the original price. Event URL, such as an online meeting link. URL where the customer will be redirected after completing payment. Event product expiration date in ISO 8601 format. Additional event details. ### event Structure (Object) Event location or address. Indicates whether the event is conducted online. Maximum number of tickets that can be purchased per transaction. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The updated event product data. ### data Structure (Object) Unique identifier of the event product. Public URL of the updated event product. ### Errors When the request body fails validation, this endpoint still responds with HTTP `200` but sets `messages` to `failed` and returns the validator errors in `data`: `{ "statusCode": 200, "messages": "failed", "data": { ... } }`. Returned when the product does not belong to the authenticated account: `{ "statusCode": 401, "messages": "Unauthorized" }`. Returned when the product does not exist: `{ "statusCode": 404, "messages": "Product not found" }`. # Create Product Source: https://docs.mayar.id/api-reference-v2/genericlink/create POST /endpointgenericlinkv2/create Endpoint used to create a generic link product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/products/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "name": "Jasa Buat Website Kece", "description": "Untuk testing API", "amount": 150000, "redirectUrl": "https://example.com/thank-you", "notes": "catatan opsional", "expiredAt": "2026-06-15T12:00:00.000Z" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "21d84338-b46d-42d7-9b49-d402520407a5", "link": "https://testingmayar.myr.id/pl/Jasa-Buat-Website-Kece" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/create ``` This endpoint shares the same handler and request body as [Create Payment Link](/api-reference-v2/genericlink/createpaymentlink) (`POST /products/payment-link/create`). Both create a `generic_link` product. ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Generic payment link product name. Product price amount. Generic payment link product description. URL where the customer will be redirected after completing payment. Cover image for the product. Payment link expiration date in ISO 8601 format. Maximum purchase limit. Additional notes for the payment link. Tax amount applied to the product. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The created generic payment link product data. ### data Structure (Object) Unique identifier of the generic payment link product. Public URL of the created generic payment link product. ### Errors Returned when the request body fails validation: `{ "statusCode": 400, "messages": "Validation Error" }`. Returned when a product with the same identifier already exists: `{ "statusCode": 409, "messages": "already exist" }`. # Create Payment Link Source: https://docs.mayar.id/api-reference-v2/genericlink/createpaymentlink POST /endpointgenericlinkv2/createpaymentlink Endpoint used to create a generic payment link product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/products/payment-link/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "name": "Jasa Buat Website Kece", "description": "Untuk testing API", "amount": 150000, "redirectUrl": "https://example.com/thank-you", "notes": "catatan opsional", "expiredAt": "2026-06-15T12:00:00.000Z" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "21d84338-b46d-42d7-9b49-d402520407a5", "link": "https://testingmayar.myr.id/pl/Jasa-Buat-Website-Kece" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/payment-link/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/payment-link/create ``` This endpoint shares the same handler and request body as [Create Product](/api-reference-v2/genericlink/create) (`POST /products/create`). Both create a `generic_link` product. ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Generic payment link product name. Product price amount. Generic payment link product description. URL where the customer will be redirected after completing payment. Cover image for the product. Payment link expiration date in ISO 8601 format. Maximum purchase limit. Additional notes for the payment link. Tax amount applied to the product. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The created generic payment link product data. ### data Structure (Object) Unique identifier of the generic payment link product. Public URL of the created generic payment link product. ### Errors Returned when the request body fails validation: `{ "statusCode": 400, "messages": "Validation Error" }`. Returned when a product with the same identifier already exists: `{ "statusCode": 409, "messages": "already exist" }`. # Edit Payment Link Source: https://docs.mayar.id/api-reference-v2/genericlink/edit POST /endpointgenericlinkv2/edit Endpoint used to edit a generic payment link product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/products/payment-link/21d84338-b46d-42d7-9b49-d402520407a5/update' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "id": "21d84338-b46d-42d7-9b49-d402520407a5", "name": "Jasa Buat Website Kece Editan", "description": "Deskripsinya diubah", "amount": 150000, "redirectUrl": "https://example.com/thank-you", "notes": "catatan opsional", "expiredAt": "2026-06-15T12:00:00.000Z" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "21d84338-b46d-42d7-9b49-d402520407a5", "link": "https://testingmayar.myr.id/pl/Jasa-Buat-Website-Kece" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/payment-link/{id}/update ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/payment-link/{id}/update ``` The product to edit is identified by the `id` field in the request body, not by the `{id}` segment in the URL path. This endpoint shares the same handler as [Update Payment Link](/api-reference-v2/genericlink/editpaymentlink) (`POST /payment-links/{id}/update`). ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Unique identifier of the generic payment link product to edit. This is read from the request body. Generic payment link product name. Generic payment link product description. Product price amount. URL where the customer will be redirected after completing payment. Additional notes for the payment link. Payment link expiration date in ISO 8601 format. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The updated generic payment link product data. ### data Structure (Object) Unique identifier of the generic payment link product. Public payment link URL of the updated product. ### Errors When the request body fails validation, this endpoint still responds with HTTP `200` but sets `messages` to `failed` and returns the validator errors in `data`: `{ "statusCode": 200, "messages": "failed", "data": { ... } }`. Returned when the product does not belong to the authenticated account: `{ "statusCode": 401, "messages": "Unauthorized" }`. Returned when the product does not exist: `{ "statusCode": 404, "messages": "Product not found" }`. # Update Payment Link Source: https://docs.mayar.id/api-reference-v2/genericlink/editpaymentlink POST /endpointgenericlinkv2/editpaymentlink Endpoint used to update a payment link product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/payment-links/21d84338-b46d-42d7-9b49-d402520407a5/update' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "id": "21d84338-b46d-42d7-9b49-d402520407a5", "name": "Jasa Buat Website Kece Editan", "description": "Deskripsinya diubah", "amount": 150000, "redirectUrl": "https://example.com/thank-you", "notes": "catatan opsional", "expiredAt": "2026-06-15T12:00:00.000Z" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "21d84338-b46d-42d7-9b49-d402520407a5", "link": "https://testingmayar.myr.id/pl/Jasa-Buat-Website-Kece" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/payment-links/{id}/update ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/payment-links/{id}/update ``` The product to update is identified by the `id` field in the request body, not by the `{id}` segment in the URL path. This endpoint shares the same handler as [Edit Payment Link](/api-reference-v2/genericlink/edit) (`POST /products/payment-link/{id}/update`). ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Unique identifier of the payment link product to update. This is read from the request body. Payment link product name. Payment link product description. Product price amount. URL where the customer will be redirected after completing payment. Additional notes for the payment link. Payment link expiration date in ISO 8601 format. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The updated payment link product data. ### data Structure (Object) Unique identifier of the payment link product. Public payment link URL of the updated product. ### Errors When the request body fails validation, this endpoint still responds with HTTP `200` but sets `messages` to `failed` and returns the validator errors in `data`: `{ "statusCode": 200, "messages": "failed", "data": { ... } }`. Returned when the product does not belong to the authenticated account: `{ "statusCode": 401, "messages": "Unauthorized" }`. Returned when the product does not exist: `{ "statusCode": 404, "messages": "Product not found" }`. # Sort Payment Links by Type Source: https://docs.mayar.id/api-reference-v2/genericlink/sort POST /endpointgenericlinkv2/sort Endpoint that returns active products of a given type ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/payment-links/sort/generic_link' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "3d4a503a-04a7-4587-915a-8983f0ab05f7", "amount": 150000, "category": null, "createdAt": 1768375011056, "description": "

Jasa pembuatan website company profile.

\n", "link": "jasa-pembuatan-website", "type": "generic_link", "status": "active", "name": "Jasa Pembuatan Website", "limit": null, "redirectUrl": null, "installmentId": null, "event": null, "order": null, "coverImageId": "2529541f-dc98-4ca0-93bb-3c1d35a8dd07", "multipleImageId": null, "transactions": [], "coverImage": { "id": "2529541f-dc98-4ca0-93bb-3c1d35a8dd07", "fileType": "jpeg", "url": "https://media.mayar.id/images/2529541f-dc98-4ca0-93bb-3c1d35a8dd07.jpeg" }, "multipleImage": null } ], "hasMore": true, "nextStartingAfter": "1768375011056" } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/payment-links/sort/{type} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/payment-links/sort/{type} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters Product type whose active products you want to list (e.g. `generic_link`, `event`, `webinar`, `digital_product`). ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. List of active products of the requested type. Information on whether there is additional data to be retrieved (true/false). Cursor to pass for forward pagination. `null` when there is no further data. ### data Structure (Array Of Object) Unique identifier of the product. Product price amount. Product category if available. Timestamp in milliseconds indicating when the product was created. Product description in HTML format. Unique slug or identifier used in the product URL. Product type. Current product status (e.g., `active`, `inactive`). Product name. Purchase or access limit if configured. URL where the customer will be redirected after checkout. Installment identifier if the product supports installment payments. Event details. Order configuration if applicable. Identifier of the cover image. Identifier list of additional images. List of related transactions (empty if none). Cover image object containing image details. List of additional image objects. # POST Create Installment Source: https://docs.mayar.id/api-reference-v2/installment/create POST /endpointinstallmentv2/create Endpoint used to create an installment ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/installments/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "email": "budi.santoso@example.com", "mobile": "081234567890", "name": "Budi Santoso", "amount": 1500000, "installment": { "description": "Cicil Produk Kelas Online 3 Bulan", "interest": 0, "tenure": 3, "dueDate": 11 } } ' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "ba82c2dd-06c1-4b6c-bc59-a9c00801c842", "amount": 1500000, "interest": 0, "interestType": "FLAT", "period": "MONTHLY", "tenure": 3, "dueDate": 11, "totalInterest": 0, "totalAmount": 1500000, "description": "Cicil Produk Kelas Online 3 Bulan", "customer": { "email": "budi.santoso@example.com", "name": "Budi Santoso", "mobile": "081234567890" }, "status": "unpaid", "invoices": [ { "id": "9fe1b9c4-b5d5-4d45-bf1a-5c4849631725", "index": 1, "amount": 500000, "interestAmount": 0, "remainingAmount": 1000000, "dueDate": "2026-07-11T00:00:00.000Z", "status": "unpaid", "link": "mkcn4u72ki" }, { "id": "977777d6-af25-464e-a8ca-e290b3007275", "index": 2, "amount": 500000, "interestAmount": 0, "remainingAmount": 500000, "dueDate": "2026-08-11T00:00:00.000Z", "status": "unpaid", "link": "0ll429zxvsue" }, { "id": "1dde3426-f6a4-43d2-a1d9-2cd2fa05eb9a", "index": 3, "amount": 500000, "interestAmount": 0, "remainingAmount": 0, "dueDate": "2026-09-11T00:00:00.000Z", "status": "unpaid", "link": "h8fiobqkek" } ], "createdAt": "2026-06-19T17:20:09.521Z" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/installments/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/installments/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Customer email used to send proof of payment, or payment reminders. Customer telephone number. Customer name. Nominal amount of payment. Installment details. General description of the transaction or order. Installment interest (%). Installment tenor period in months (minimum `3`, maximum `24`). Due date each month (minimum `1`, maximum `28`). ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The created installment data. ### data Structure (Object) Main installment ID. Total installment amount. Interest value. Type of interest (example: `"FLAT"`). Installment period (example: `"MONTHLY"`). Installment duration (in months). Due date each month (example: `11`). Total interest across all installments. Total amount payable across all installments. Installment description. Customer details. Installment status (example: `"unpaid"`). List of installment invoices. Creation time in ISO 8601 format. ### customer Structure (Object) Customer email address. Customer name. Customer phone number. ### invoices Structure (Array Of Object) Invoice ID. Invoice order number. Invoice amount. Interest amount for the invoice. Remaining balance after this invoice. Invoice due date in ISO 8601 format. Payment status (example: `"unpaid"`). Unique invoice link. ## Errors Returned with `messages: "Validation Error"` when the request body fails validation (e.g. missing or malformed `email`, `mobile`, `name`, `amount`, or `installment` fields). Returned with `messages: "already exist"` when the installment payment link could not be created because it already exists. Returned with `messages: "Failed to create installment invoices"` when the installment invoices could not be generated. # Get Installment Detail Source: https://docs.mayar.id/api-reference-v2/installment/detail GET /endpointinstallmentv2/detail Endpoint used to view details and status of an installment that has been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/installments/ba82c2dd-06c1-4b6c-bc59-a9c00801c842' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "ba82c2dd-06c1-4b6c-bc59-a9c00801c842", "amount": 1500000, "interest": 0, "interestType": "FLAT", "period": "MONTHLY", "tenure": 3, "dueDate": 11, "totalInterest": 0, "totalAmount": 1500000, "description": "Cicil Produk Kelas Online 3 Bulan", "customer": { "name": "Budi Santoso", "email": "budi.santoso@example.com", "mobile": "081234567890" }, "status": "unpaid", "invoices": [ { "id": "9fe1b9c4-b5d5-4d45-bf1a-5c4849631725", "index": 1, "amount": 500000, "interestAmount": 0, "remainingAmount": 1000000, "dueDate": "2026-07-11T00:00:00.000Z", "status": "unpaid", "link": "mkcn4u72ki" }, { "id": "977777d6-af25-464e-a8ca-e290b3007275", "index": 2, "amount": 500000, "interestAmount": 0, "remainingAmount": 500000, "dueDate": "2026-08-11T00:00:00.000Z", "status": "unpaid", "link": "0ll429zxvsue" }, { "id": "1dde3426-f6a4-43d2-a1d9-2cd2fa05eb9a", "index": 3, "amount": 500000, "interestAmount": 0, "remainingAmount": 0, "dueDate": "2026-09-11T00:00:00.000Z", "status": "unpaid", "link": "h8fiobqkek" } ], "createdAt": "2026-06-19T17:20:09.521Z" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/installments/{uuId} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/installments/{uuId} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters A unique identifier obtained when creating an installment. If accessed through the dashboard, it can be found in the URL on the installment details page. Example: `ba82c2dd-06c1-4b6c-bc59-a9c00801c842` ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The installment detail object. ### data Structure (Object) Main installment ID. Total installment amount. Interest value. Type of interest (example: `"FLAT"`). Installment period (example: `"MONTHLY"`). Installment duration (in months). Due date each month (example: `11`). Total interest across all installments. Total amount payable across all installments. Installment description. Customer details. Installment status (example: `"unpaid"`). List of installment invoices. Creation time in ISO 8601 format. ### customer Structure (Object) Customer name. Customer email address. Customer phone number. ### invoices Structure (Array Of Object) Invoice ID. Invoice order number. Invoice amount. Interest amount for the invoice. Remaining balance after this invoice. Invoice due date in ISO 8601 format. Payment status (example: `"unpaid"`). Unique invoice link. ## Errors Returned with `messages: "Unauthorized"` when the installment does not belong to the authenticated account. # Get Installments Source: https://docs.mayar.id/api-reference-v2/installment/index GET /endpointinstallmentv2/index Endpoint to get a list of installments ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/installments?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "ba82c2dd-06c1-4b6c-bc59-a9c00801c842", "amount": 1500000, "category": null, "createdAt": 1768375011056, "description": "Cicil Produk Kelas Online 3 Bulan", "link": "mkcn4u72ki", "type": "installment", "status": "unpaid", "name": "Budi Santoso", "limit": null, "redirectUrl": null, "installmentId": "8f722421-e8fd-4d05-ae0c-5f4a224b7923", "event": null, "order": null, "coverImage": null, "multipleImage": [], "transactions": [] } ], "hasMore": false, "nextStartingAfter": null } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/installments?limit=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/installments?limit=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Filter the list by installment status (e.g. `unpaid`, `active`). Filter installments by a specific customer ID. Number of items to return per page. Defaults to `10`, with a maximum of `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a Unix timestamp in milliseconds, as a string) to fetch the next page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of installments. Each item is an installment-type payment-link object. Information on whether there is additional data to be retrieved (true/false). Cursor to pass as `startingAfter` to fetch the next page. `null` when there is no further data. ### data Structure (Array Of Object) Unique ID of the installment. Total installment amount. Item category (if any). Creation time in epoch format (ms). Installment description. Unique link slug. Item type. Always `installment` for this list. Installment status (example: `unpaid`). Name associated with the installment. Stock/quantity limit (if any). Redirect URL after payment (if any). Associated installment record ID. Event details (not applicable to installments). Order/shipping details (if any). Cover image details (if any). Additional images (if any). Related transactions (if any). # Introduction Source: https://docs.mayar.id/api-reference-v2/introduction Section for showcasing API V2 endpoints ## Get Started Headless API is an e-commerce development method where the user interface (Frontend) is separated from the product management and transaction processing systems (Backend). In headless commerce, the front-end can be built using various modern web technologies such as React or Vue.js, while the back-end performs tasks such as product storage, order processing, and integration with payment systems. By separating the front-end and back-end, headless commerce allows development teams to focus on the user experience without being hampered by the limitations of the underlying e-commerce platform. It also helps reduce the cost and time required to update and maintain an e-commerce site. This section documents the **V2** of the Mayar Headless API. V2 keeps the same authentication model as V1 but standardizes every response around a single envelope, described below. ## Authentication For starting using Mayar Headless API, you need account at [https://mayar.id](https://mayar.id). If you have an account, you can create API KEY from [https://web.mayar.id/api-keys](https://web.mayar.id/api-keys). There are 2 options when creating an API Key, **Read Only** and **Read & Write**. If you choose **Read Only**, then only API Endpoints with the Get Method can be used. If you choose **Read & Write**, then API Endpoints with both Get and Post Methods can be used. Generate API Key Every request must include your API Key as a Bearer token in the `Authorization` header: ```bash Authorization Header theme={null} Authorization: Bearer Paste-Your-API-Key-Here ``` For your account security, don't share your API KEY! Please note that any changes to your domain or subdomain require you to create a new API KEY, so the link in the response you receive will also be updated. ## Sandbox Environment For testing purposes, you can use the webpage [https://web.mayar.io/](https://web.mayar.io/). You can log in or register first, then generate an API key from [https://web.mayar.io/api-keys](https://web.mayar.io/api-keys). (The same method as obtaining an API key on the production page). ## Base URL The API Base URL is the main part of the address (URL) used to access an API endpoint. Mayar has two API Base URL's based on the page. ```bash Production theme={null} https://api.mayar.id/hl/v2 ``` ```bash Sandbox theme={null} https://api.mayar.io/hl/v2 ``` Make sure you use a base URL based on the appropriate web page (Production or Sandbox) ## Response Envelope Every V2 endpoint returns its result wrapped in a consistent envelope so clients can parse responses the same way across the whole API. ```json Response Envelope theme={null} { "statusCode": 200, "messages": "success", "data": {} } ``` The HTTP status code of the request result. See [Status Code](/api-reference-v2/statuscode). A short outcome message for the request, for example `success` or `failed`. Some write endpoints return this field as `message` (singular) — refer to each endpoint page for its exact shape. The payload of the response. Its shape depends on the endpoint. For list endpoints `data` is an array, and pagination is provided through cursor fields alongside it. # Create Invoice Source: https://docs.mayar.id/api-reference-v2/invoice/create POST /endpointinvoicev2/create Endpoint used to create an invoice The setting to charge admin fee and channel fee to the customer does not apply to the Invoice feature. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/invoices/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "name": "Budi Santoso", "email": "budi.santoso@example.com", "mobile": "081234567890", "description": "Pelunasan pesanan", "expiredAt": "2026-07-19T16:43:23.000Z", "items": [ { "quantity": 3, "rate": 11000, "description": "Paket layanan A" } ], "extraData": { "noCustomer": "827hiueqy271hj", "idProd": "contoh aja" } }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "transactionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "link": "https://testingmayar.myr.id/invoices/ycfyxbj2h3", "expiredAt": 1784479403000, "extraData": { "noCustomer": "827hiueqy271hj", "idProd": "contoh aja" } } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/invoices/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/invoices/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Full name of the customer. Email address of the customer. Mobile phone number of the customer. List of invoice items. Quantity of the item. Price per item. Description of the item. Description or notes related to the invoice. Invoice expiration time in ISO 8601 format (UTC). Tax amount applied to the invoice. Restrict the invoice to a specific payment method (lowercase). Accepts one of the following values: * `qris` * `va/bni` * `va/bri` * `va/mandiri` * `va/cimb` * `va/permata` * `va/bjb` * `va/bsi` * `ewallet/dana` * `ewallet/gopay` * `ewallet/linkaja` * `ewallet/shopeepay` * `ewallet/jenius` * `outlet/alfamart` The selected channel must be enabled in your payment channel configuration; otherwise the request returns a `400` with `"Payment method \"...\" is not available or disabled"`. Cashtag associated with the invoice. Only required when using `ewallet/jeniuspay` as the `paymentMethod`. Additional custom data attached to the invoice. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The created invoice data. ### data Structure (Object) Unique identifier of the invoice record. Unique identifier of the associated transaction. Invoice URL that can be accessed by the customer. Timestamp (in milliseconds) indicating when the invoice will expire. Additional custom data attached to the invoice (echoed from the request). ### Errors Returned when the request body fails validation: `{ "statusCode": 400, "messages": "Validation Error" }` or `{ "statusCode": 400, "messages": "extraData Validation Error" }`. Returned when the customer could not be found or created: `{ "statusCode": 404, "messages": "Customer not found and failed to create new customer" }`. Returned when an invoice with the same identifier already exists: `{ "statusCode": 409, "messages": "already exist" }`. Returned when a duplicate create request is detected: `{ "statusCode": 429, "messages": "Duplicate request detected. Please wait 1 minute before trying again." }`. # Get Detail Invoice Source: https://docs.mayar.id/api-reference-v2/invoice/detail GET /endpointinvoicev2/detail Endpoint used to view details and status of an invoice that has been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/invoices/6f8c19ff-5b97-4792-aa89-d2a12797b356' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "amount": 110000, "status": "paid", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "link": "ibzfrf4880", "expiredAt": 1768371411000, "transactions": [ { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "extraData": null }, { "id": "b2c3d4e5-f6a7-8901-bcde-f23456789012", "extraData": null } ], "customerId": "21d84338-b46d-42d7-9b49-d402520407a5", "customer": { "id": "21d84338-b46d-42d7-9b49-d402520407a5", "email": "budi.santoso@example.com", "mobile": "081234567890", "name": "Budi Santoso" }, "transactionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "paymentUrl": "https://testingmayar.myr.id/invoices/ibzfrf4880", "paymentLinkId": "6f8c19ff-5b97-4792-aa89-d2a12797b356" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/invoices/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/invoices/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters A unique identifier obtained when creating an invoice. If accessed through the dashboard, it can be found at the URL on the invoice details page. Example: `6f8c19ff-5b97-4792-aa89-d2a12797b356` ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The invoice detail object. ### data Structure (Object) Unique invoice ID. Invoice price or nominal value. Invoice status (e.g. `paid`, `unpaid`, `closed`). Identifier of the merchant that owns this invoice. Invoice slug/short URL. Invoice expiration time in timestamp form (epoch millis). List of invoice related transactions. Unique customer ID. Details of the customer associated with this invoice. The primary transaction ID for this invoice. URL for the invoice payment page. Unique ID of the payment link (usually the same as invoice ID). ### transactions Structure (Array Of Object) Unique transaction ID. Additional custom data attached to the transaction, can be null. ### customer Structure (Object) Unique customer ID. Customer's email address. Customer's mobile phone number. Customer's name. ### Errors Returned when the API key is missing or invalid: `{ "statusCode": 401, "messages": "Unauthorized" }`. Returned when no invoice matches the provided ID: `{ "statusCode": 404, "messages": "Not Found" }`. # Edit Invoice Source: https://docs.mayar.id/api-reference-v2/invoice/edit POST /endpointinvoicev2/edit Endpoint used to edit an invoice that has been created ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/invoices/6f8c19ff-5b97-4792-aa89-d2a12797b356/update' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "description": "Invoice yang sudah diedit", "items": [ { "quantity": 2, "rate": 55000, "description": "Paket layanan B" } ] }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "link": "https://testingmayar.myr.id/invoices/ibzfrf4880" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/invoices/{uuId}/update ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/invoices/{uuId}/update ``` The invoice to update is selected by the `id` field in the **request body**, not by the `{uuId}` segment in the URL path. The path segment is cosmetic and is ignored by the API — always send the target invoice `id` in the body. ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body A unique identifier obtained when creating an invoice. This selects the invoice to update (the `{uuId}` URL segment is ignored). Example: `6f8c19ff-5b97-4792-aa89-d2a12797b356` List of invoice items. Quantity of the item. Price per item. Description of the item. Description or notes related to the invoice. Invoice expiration time in ISO 8601 format (UTC). Additional notes for the invoice. Tax amount applied to the invoice. Restrict the invoice to a specific payment method. Cashtag associated with the invoice. Additional custom data attached to the invoice. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The updated invoice data. ### data Structure (Object) Unique invoice ID. The URL that customers can access to open the invoice. ### Errors Returned when the API key is missing or invalid: `{ "statusCode": 401, "messages": "Unauthorized" }`. Returned when no invoice matches the provided `id`: `{ "statusCode": 404, "messages": "Invoice not found" }`. Returned when the invoice has already been paid and can no longer be edited: `{ "statusCode": 409, "messages": "Transaction already paid. Cannot edit invoice." }`. # Get Filter Invoice Source: https://docs.mayar.id/api-reference-v2/invoice/filter GET /endpointinvoicev2/filter Endpoint used to filter invoices by customer email ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/invoices/filter?email=budi.santoso@example.com&limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "amount": 80000, "category": null, "createdAt": 1768375011056, "description": "", "link": "a0me074770a", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "21d84338-b46d-42d7-9b49-d402520407a5", "transactions": [ { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "status": "created", "extraData": null } ], "customer": { "id": "21d84338-b46d-42d7-9b49-d402520407a5", "email": "budi.santoso@example.com", "mobile": "081234567890", "name": "Budi Santoso" } }, { "id": "c3d4e5f6-a7b8-9012-cdef-345678901234", "amount": 2070000, "category": null, "createdAt": 1768288611056, "description": "", "link": "wpib3ybq3ym", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "21d84338-b46d-42d7-9b49-d402520407a5", "transactions": [ { "id": "d4e5f6a7-b8c9-0123-defa-456789012345", "status": "created", "extraData": null } ], "customer": { "id": "21d84338-b46d-42d7-9b49-d402520407a5", "email": "budi.santoso@example.com", "mobile": "081234567890", "name": "Budi Santoso" } } ], "hasMore": true, "nextStartingAfter": "1768288611056" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/invoices/filter?email=budi.santoso@example.com&limit=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/invoices/filter?email=budi.santoso@example.com&limit=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Customer email used to filter invoices. Required. When no customer matches the email, the endpoint returns `404 Customer Not Found`. Number of items to return per page. Defaults to `10`, with a maximum of `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a Unix timestamp in milliseconds, as a string) to fetch the next page. Filter invoices by status (e.g. `active`, `paid`, `closed`). Filter invoices by keyword. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of invoices displayed. Information on whether there is additional data to be retrieved (true/false). Cursor to pass as `startingAfter` to fetch the next page. `null` when there is no further data. ### data Structure (Array Of Object) Unique invoice ID. Invoice price or nominal value. Product category, can be null if there is no category. Invoice creation time in epoch milliseconds format. Invoice description. Invoice slug/short URL. Product type (always `invoice` for this endpoint). Invoice status (e.g. `paid`, `closed`, `active`). Invoice name. Redirect destination URL, can be null. The customer ID associated with this invoice. List of invoice related transactions. Details of the customer associated with this invoice. ### transactions Structure (Array Of Object) Unique transaction ID. Transaction status (example: `created`, `paid`). Additional custom data attached to the transaction, can be null. ### customer Structure (Object) Unique customer ID. Customer's email address. Customer's mobile phone number. Customer's name. ### Errors Returned when no customer matches the provided email: `{ "statusCode": 404, "messages": "Customer Not Found" }`. # Get List Invoice Source: https://docs.mayar.id/api-reference-v2/invoice/index GET /endpointinvoicev2/index Endpoint used to view the list of invoices that have been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/invoices?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "amount": 110000, "category": null, "createdAt": 1768375011056, "description": "", "link": "ibzfrf4880", "type": "invoice", "status": "paid", "name": "INVOICE", "redirectUrl": null, "customerId": "21d84338-b46d-42d7-9b49-d402520407a5", "transactions": [ { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "status": "created", "extraData": null }, { "id": "b2c3d4e5-f6a7-8901-bcde-f23456789012", "status": "paid", "extraData": null } ], "customer": { "id": "21d84338-b46d-42d7-9b49-d402520407a5", "email": "budi.santoso@example.com", "mobile": "081234567890", "name": "Budi Santoso" } }, { "id": "c3d4e5f6-a7b8-9012-cdef-345678901234", "amount": 50000, "category": null, "createdAt": 1768288611056, "description": "Pelunasan pesanan", "link": "w2wdxisnbtp", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "transactions": [ { "id": "d4e5f6a7-b8c9-0123-defa-456789012345", "status": "created", "extraData": null } ], "customer": { "id": "348e083d-315a-4e5c-96b1-5a2a98c48413", "email": "siti.aminah@example.com", "mobile": "081298765432", "name": "Siti Aminah" } } ], "hasMore": true, "nextStartingAfter": "1768288611056" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/invoices?limit=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/invoices?limit=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Number of items to return per page. Defaults to `10`, with a maximum of `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a Unix timestamp in milliseconds, as a string) to fetch the next page. Filter invoices by status (e.g. `active`, `paid`, `closed`). Filter invoices by keyword. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of invoices displayed. Information on whether there is additional data to be retrieved (true/false). Cursor to pass as `startingAfter` to fetch the next page. `null` when there is no further data. ### data Structure (Array Of Object) Unique invoice ID. Invoice price or nominal value. Product category, can be null if there is no category. Invoice creation time in epoch milliseconds format. Invoice description. Invoice slug/short URL. Product type (always `invoice` for this endpoint). Invoice status (e.g. `paid`, `closed`, `active`). Invoice name. Redirect destination URL, can be null. The customer ID associated with this invoice. List of invoice related transactions. Details of the customer associated with this invoice. ### transactions Structure (Array Of Object) Unique transaction ID. Transaction status (example: `created`, `paid`). Additional custom data attached to the transaction, can be null. ### customer Structure (Object) Unique customer ID. Customer's email address. Customer's mobile phone number. Customer's name. # Cancel Membership Member Source: https://docs.mayar.id/api-reference-v2/membership/cancel POST /endpointmembershipv2/cancel Endpoint to cancel a membership member (sets status to stopped). ```bash Request Example (productId in body) theme={null} curl --request POST 'https://api.mayar.id/hl/v2/memberships/members/MBR8X2QK/cancel' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --header 'Content-Type: application/json' \ --data-raw '{ "productId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f" }' ``` ```bash Request Example (productId in query) theme={null} curl --request POST 'https://api.mayar.id/hl/v2/memberships/members/MBR8X2QK/cancel?productId=7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "success", "data": { "membershipCustomer": { "id": "c4d5e6f7-a8b9-4c0d-8e1f-2a3b4c5d6e7f", "memberId": "MBR8X2QK", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "customerId": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "membershipTierId": "9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d", "paymentLinkId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f", "monthlyPaymentPeriod": 1, "status": "stopped", "nextPayment": "2026-07-20T09:10:57.994Z", "expiredAt": null, "createdAt": "2026-06-20T09:10:57.994Z", "updatedAt": "2026-06-23T10:30:00.000Z" } } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/memberships/members/(memberId)/cancel ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/memberships/members/(memberId)/cancel ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters The public membership code of the member to cancel. Example: `MBR8X2QK` ## Request Body `productId` may be supplied **in the request body OR as a query parameter** (see [Query Parameters](#query-parameters)). At least one location is required. The unique identifier of the product the member belongs to. Accepted here in the JSON body, or alternatively as a query parameter. Example: `7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f` ## Query Parameters Alternative location for `productId` when you prefer not to send a request body. Use either the body field or this query parameter. Example: `?productId=7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f` ## Response Successful Response — HTTP `200` ### Main Structure (Root Object) Status code from the API. `200` on success. Status message that describes the result. Note the **singular** `message` key (write endpoints use `message`; read/list endpoints use the plural `messages`). The cancellation result wrapper. The cancelled membership customer record. Its `status` is now `stopped`. ## Errors All errors use the envelope `{ "statusCode": , "message": "" }` (singular `message`). ```json Error Example 400 theme={null} { "statusCode": 400, "message": "Membership member ini sudah tidak aktif (status: stopped)." } ``` The HTTP status code of the error. A human-readable description of the error. Common errors: | Status | `message` | When | | ------ | ------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | | `400` | `Invalid path parameter` | `memberId` is missing or malformed in the path. | | `400` | `Invalid request body` | `productId` is missing from both the body and the query, or the request fails validation. | | `400` | `Membership member ini sudah tidak aktif (status: ).` | The member is already inactive — its status is already `stopped` or `finished` (the value is interpolated into the message). | | `404` | `Member dengan ID tidak ditemukan.` | No membership member matches the given `memberId`. | # Create Membership Invoice Source: https://docs.mayar.id/api-reference-v2/membership/createinvoice POST /endpointmembershipv2/createinvoice Endpoint to create (or reuse) an invoice for a membership member's current billing term. ```bash Request Example (productId in body) theme={null} curl --request POST 'https://api.mayar.id/hl/v2/memberships/members/MBR8X2QK/invoice/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --header 'Content-Type: application/json' \ --data-raw '{ "productId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f" }' ``` ```bash Request Example (productId in query) theme={null} curl --request POST 'https://api.mayar.id/hl/v2/memberships/members/MBR8X2QK/invoice/create?productId=7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "success", "data": { "id": "df65d192-8396-4f9a-b4e5-8244648c07c5", "transactionId": "ca87fd13-8742-4d48-af33-7de1a417bc34", "customerId": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "membershipTierId": "9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d", "amount": 150000, "status": "created", "expiredAt": "2026-07-20T09:10:57.994Z", "createdAt": "2026-06-20T09:10:57.994Z", "membershipBillUrl": "https://testingmayar.mayar.shop/pl/mbr9x2k7m3a" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/memberships/members/(memberId)/invoice/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/memberships/members/(memberId)/invoice/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters The unique identifier of the membership member to bill. Example: `MBR8X2QK` ## Request Body `productId` may be supplied **in the request body OR as a query parameter** (see [Query Parameters](#query-parameters)). At least one location is required. The unique identifier of the product the member belongs to. Accepted here in the JSON body, or alternatively as a query parameter. Example: `7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f` ## Query Parameters Alternative location for `productId` when you prefer not to send a request body. Use either the body field or this query parameter. Example: `?productId=7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f` ## Idempotency (term-based) Invoices are **idempotent per billing term**. The endpoint keys on the member's current billing period: if an **unpaid** invoice already exists for the current period it is reused and returned instead of creating a duplicate. Calling this endpoint repeatedly within the same billing term therefore returns the same invoice (and the same `membershipBillUrl`). ## Response Successful Response ### Main Structure (Root Object) Status code from the API. `200` on success. Status message that describes the result. Note the **singular** `message` key (write endpoints use `message`; read/list endpoints use the plural `messages`). The created (or reused) membership invoice object for the current billing term. The unique identifier of the invoice. The identifier of the underlying transaction associated with the invoice. The identifier of the customer being billed. The identifier of the member's tier. The amount due for the billing term. Current status of the invoice (for example `created`). Invoice expiration time in ISO 8601 format (UTC). The membership bill URL the customer can use to pay. Built from the tenant's shop subdomain in the shape `https://.mayar.shop/pl/` — this is **not** an `api.mayar.id` URL. ## Errors All errors use the envelope `{ "statusCode": , "message": "" }` (singular `message`). ```json Error Example 400 theme={null} { "statusCode": 400, "message": "Invalid request body" } ``` The HTTP status code of the error. A human-readable description of the error. Common errors: | Status | `message` | When | | ------ | ------------------------ | ----------------------------------------------------------------------------------------- | | `400` | `Invalid path parameter` | `memberId` is missing or malformed in the path. | | `400` | `Invalid request body` | `productId` is missing from both the body and the query, or the request fails validation. | # Get Membership Member Detail Source: https://docs.mayar.id/api-reference-v2/membership/memberdetail GET /endpointmembershipv2/memberdetail Endpoint to get the detail of a single membership member. ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/memberships/members/MBR8X2QK?productId=7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "c4d5e6f7-a8b9-4c0d-8e1f-2a3b4c5d6e7f", "createdAt": "2026-01-15T15:29:59.659Z", "customerId": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "expiredAt": "2026-02-15T15:29:59.430Z", "isAlreadyUsedTrial": true, "isInTrial": false, "isLifetimePeriod": null, "isTodayReminderSent": true, "memberId": "MBR8X2QK", "membershipTierId": "9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d", "monthlyPaymentPeriod": null, "nextPayment": "2026-02-15T15:29:59.430Z", "nextPaymentEmailSent": true, "paymentLinkId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f", "status": "inactive", "updatedAt": "2026-02-15T17:30:03.531Z", "paymentLink": { "id": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f", "name": "Premium Membership", "status": "active", "membershipInfo": { "id": "d3e4f5a6-b7c8-4d9e-0a1b-2c3d4e5f6a7b", "type": "SAAS" } }, "customer": { "id": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "email": "budi.santoso@example.com", "name": "Budi Santoso", "mobile": "081234567890" }, "membershipTier": { "id": "9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d", "name": "Paket 1", "status": "ACTIVE" } } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/memberships/members/(memberId)?productId=(productId) ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/memberships/members/(memberId)?productId=(productId) ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters The public membership code of the member to retrieve. Example: `MBR8X2QK` ## Query Parameters The unique identifier of the membership product the member belongs to. If missing or malformed the endpoint responds `400 "Invalid query parameters"`. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The membership member record, including nested `paymentLink`, `customer`, and `membershipTier` objects. ### data Structure (Object) Unique identifier of the membership-customer record. ISO 8601 timestamp (UTC) of when the member was created. Unique identifier of the customer. ISO 8601 timestamp (UTC) of when the membership expires. Whether the member has already used the trial. Whether the member is currently in a trial period. Whether the member is on a lifetime period. Whether today's payment reminder has been sent. Public membership code of the member. Unique identifier of the member's tier. The member's monthly payment period, or `null` when not set. ISO 8601 timestamp (UTC) of the member's next scheduled payment. Whether the next-payment email has been sent. Unique identifier of the product (payment link) the member belongs to. Current status of the member (for example `active`, `inactive`). ISO 8601 timestamp (UTC) of the last update. The related product (payment link) summary: `id`, `name`, `status`, and a nested `membershipInfo` object (`id`, `type`). The related customer summary: `id`, `email`, `name`, `mobile`. The related tier summary: `id`, `name`, `status`. ## Errors Returned with `messages: "Invalid path parameter"` when `memberId` is missing or malformed. Returned with `messages: "Invalid query parameters"` when `productId` is missing or the query parameters fail validation. Returned with `messages: "Member dengan ID {memberId} tidak ditemukan."` when no member matches the given `memberId`. # Get Membership Members Source: https://docs.mayar.id/api-reference-v2/membership/members GET /endpointmembershipv2/members Endpoint to list the members of a membership product. ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/memberships/members?productId=7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f&limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "c4d5e6f7-a8b9-4c0d-8e1f-2a3b4c5d6e7f", "createdAt": "2026-01-15T15:29:59.659Z", "customerId": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "membershipTierId": "9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d", "nextPayment": "2026-02-15T15:29:59.430Z", "status": "inactive", "updatedAt": "2026-02-15T17:30:03.531Z", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "memberId": "MBR8X2QK", "membershipTier.name": "Paket 1", "membershipTier.gracePeriodInDays": "0", "customer.name": "Budi Santoso", "customer.mobile": "081234567890", "customer.email": "budi.santoso@example.com" } ], "hasMore": false, "nextStartingAfter": "1768490999659" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/memberships/members?productId=(productId) ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/memberships/members?productId=(productId) ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters The unique identifier of the membership product whose members you want to list. If missing or malformed the endpoint responds `400 "Invalid query parameters"`. Filter members by a search term (for example a customer name or email). Start of the date range to filter by. End of the date range to filter by. When set, filters churned members. When this filter is used the response also includes a `totalMember` sibling field alongside `data`. Number of items to return per page. Defaults to `10`, with a maximum of `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a Unix timestamp in milliseconds, as a string) to fetch the next page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of membership members for the product. Information on whether there is additional data to be retrieved (true/false). Cursor to pass as `startingAfter` to fetch the next page. `null` when there is no further data. Total number of members. Only present when the `isChurnedMember` filter is used. ### data Structure (Array Of Object) Each member row carries the membership-customer fields plus a few flattened, dotted-key columns for the related tier and customer. Unique identifier of the membership-customer record. ISO 8601 timestamp (UTC) of when the member was created. Unique identifier of the customer. Unique identifier of the member's tier. ISO 8601 timestamp (UTC) of the member's next scheduled payment. Current status of the member (for example `active`, `inactive`). ISO 8601 timestamp (UTC) of the last update. The user ID of the owner of the product. Public membership code of the member. Name of the member's tier (flattened dotted-key column). Grace-period days of the member's tier, as a string (flattened dotted-key column). Name of the customer (flattened dotted-key column). Mobile number of the customer (flattened dotted-key column). Email address of the customer (flattened dotted-key column). ## Errors Returned with `messages: "Invalid query parameters"` when `productId` is missing or the query parameters fail validation. # Register Membership Member Source: https://docs.mayar.id/api-reference-v2/membership/register POST /endpointmembershipv2/register Endpoint to register a new membership member. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/memberships/members/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --header 'Content-Type: application/json' \ --data-raw '{ "productId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f", "membershipTierId": "9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d", "customerInfo": { "name": "Budi Santoso", "email": "budi.santoso@example.com", "mobile": "081234567890" }, "membershipMonthlyPeriod": 1 }' ``` ```json Response Example 201 theme={null} { "statusCode": 201, "message": "success", "data": { "membershipCustomer": { "id": "c4d5e6f7-a8b9-4c0d-8e1f-2a3b4c5d6e7f", "memberId": "MBR8X2QK", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "customerId": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "membershipTierId": "9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d", "paymentLinkId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f", "monthlyPaymentPeriod": 1, "status": "active", "nextPayment": "2026-07-20T09:10:57.994Z", "expiredAt": null, "createdAt": "2026-06-20T09:10:57.994Z", "updatedAt": "2026-06-20T09:10:57.994Z" } } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/memberships/members/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/memberships/members/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The unique identifier of the product (payment link) the new member is registered against. The product must belong to the authenticated user. Example: `7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f` The unique identifier of the membership tier the member is enrolled in. Example: `9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d` The customer's contact details. The customer's full name. The customer's email address. A customer may only be registered once per tier — re-using an email that already exists on the same tier responds `400 "Email sudah terdaftar pada tier ini."`. The customer's mobile phone number. The monthly billing period for the membership (for example `1`). ## Response Successful Response — HTTP `201` ### Main Structure (Root Object) Status code from the API. `201` on successful registration. Status message that describes the status code. Note the **singular** `message` key (write endpoints use `message`; read/list endpoints use the plural `messages`). The registration result wrapper. The newly created membership customer record. ## Errors All errors use the envelope `{ "statusCode": , "message": "" }` (singular `message`). ```json Error Example 400 theme={null} { "statusCode": 400, "message": "Email sudah terdaftar pada tier ini." } ``` The HTTP status code of the error. A human-readable description of the error. Common errors: | Status | `message` | When | | ------ | -------------------------------------------------------------------------- | ------------------------------------------------------------------- | | `400` | `Validation Error` | The request body fails validation (missing or malformed fields). | | `400` | `You are not authorized to edit this product!` | The `productId` does not belong to the authenticated user. | | `400` | `Email sudah terdaftar pada tier ini.` | A customer with this email is already registered on the given tier. | | `400` | `Paket membership ini telah mencapai batas limit anggota yang ditentukan.` | The tier has reached its configured member limit. | # Get Membership Tiers Source: https://docs.mayar.id/api-reference-v2/membership/tiers GET /endpointmembershipv2/tiers Endpoint to list the membership tiers of a membership product. ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/memberships/tiers?productId=7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f&limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d", "createdAt": "2026-01-15T15:07:33.868Z", "description": "

Access to all premium content and monthly live sessions.

\n", "finishMembershipAt": null, "gracePeriodInDays": 0, "isSoldOut": false, "isTrialAvailable": true, "limit": null, "name": "Paket 1", "notes": "Access to all premium content and monthly live sessions.", "paymentAtStart": true, "paymentLinkId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f", "position": null, "redirectUrl": "", "status": "ACTIVE", "trialCredit": null, "trialPeriodInDays": 0, "updatedAt": "2026-01-15T15:07:33.868Z", "upfrontFee": null, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413" } ], "hasMore": false, "nextStartingAfter": "1768489653868" } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/memberships/tiers?productId=(productId) ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/memberships/tiers?productId=(productId) ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters The unique identifier of the membership product whose tiers you want to list. If missing or malformed the endpoint responds `400 "Invalid query parameters"`. Number of items to return per page. Defaults to `10`, with a maximum of `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a Unix timestamp in milliseconds, as a string) to fetch the next page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of membership tiers for the product. Information on whether there is additional data to be retrieved (true/false). Cursor to pass as `startingAfter` to fetch the next page. `null` when there is no further data. ### data Structure (Array Of Object) Unique identifier of the membership tier. ISO 8601 timestamp (UTC) of when the tier was created. HTML description of the tier. Date the membership finishes, or `null` when the tier has no fixed end. Number of grace-period days after the next payment date. Whether the tier has reached its member limit. Whether a trial is available for the tier. Maximum number of members allowed on the tier, or `null` when unlimited. Name of the membership tier. Free-text notes for the tier. Whether payment is collected at the start of the period. The product (payment link) ID the tier belongs to. Display position of the tier. Redirect URL configured for the tier. Current status of the tier (for example `ACTIVE`). Trial credit granted, or `null` when not applicable. Number of trial days for the tier. ISO 8601 timestamp (UTC) of the last update. Upfront fee for joining the tier, or `null` when none. The user ID of the owner of the product. ## Errors Returned with `messages: "Invalid query parameters"` when `productId` is missing or the query parameters fail validation. # Update Membership Member Source: https://docs.mayar.id/api-reference-v2/membership/update POST /endpointmembershipv2/update Endpoint to update an existing membership member. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/memberships/members/MBR8X2QK/update' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --header 'Content-Type: application/json' \ --data-raw '{ "productId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f", "membershipTierId": "9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d", "membershipMonthlyPeriod": 1, "status": "active", "nextPayment": "2026-08-20T09:10:57.994Z", "expiredAt": "2026-09-20T09:10:57.994Z" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "success", "data": { "membershipCustomer": { "id": "c4d5e6f7-a8b9-4c0d-8e1f-2a3b4c5d6e7f", "memberId": "MBR8X2QK", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "customerId": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "membershipTierId": "9b2d4f6a-8c1e-4a3b-bd5c-6e7f8a9b0c1d", "paymentLinkId": "7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f", "monthlyPaymentPeriod": 1, "status": "active", "nextPayment": "2026-08-20T09:10:57.994Z", "expiredAt": "2026-09-20T09:10:57.994Z", "createdAt": "2026-06-20T09:10:57.994Z", "updatedAt": "2026-06-23T10:30:00.000Z" } } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/memberships/members/(memberId)/update ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/memberships/members/(memberId)/update ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters The public membership code of the member to update. Example: `MBR8X2QK` ## Request Body `productId` is the only required field. The remaining fields are optional — send only the ones you want to change. The unique identifier of the product the member belongs to. The product must belong to the authenticated user. Example: `7c9d2e1f-4a5b-4c6d-8e9f-0a1b2c3d4e5f` The unique identifier of the membership tier to move the member to. The monthly billing period for the membership. The new status for the member (for example `active`, `stopped`, `inactive`, `finished`). The member's next scheduled payment, as a **UTC ISO 8601 string** (for example `2026-08-20T09:10:57.994Z`) — not an epoch-millisecond value. The membership expiry time, as a **UTC ISO 8601 string** (for example `2026-09-20T09:10:57.994Z`). ## Response Successful Response — HTTP `200` ### Main Structure (Root Object) Status code from the API. `200` on success. Status message that describes the status code. Note the **singular** `message` key (write endpoints use `message`; read/list endpoints use the plural `messages`). The update result wrapper. The updated membership customer record. ## Errors All errors use the envelope `{ "statusCode": , "message": "" }` (singular `message`). ```json Error Example 400 theme={null} { "statusCode": 400, "message": "Invalid request body" } ``` The HTTP status code of the error. A human-readable description of the error. Common errors: | Status | `message` | When | | ------ | ---------------------------------------------- | ---------------------------------------------------------------- | | `400` | `Invalid path parameter` | `memberId` is missing or malformed in the path. | | `400` | `Invalid request body` | The request body is missing required fields or fails validation. | | `400` | `You are not authorized to edit this product!` | The `productId` does not belong to the authenticated user. | # Change Product Status Source: https://docs.mayar.id/api-reference-v2/product/changestatus POST /endpointproductv2/changestatus Endpoint used to change the product status ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/products/2529541f-dc98-4ca0-93bb-3c1d35a8dd07/close' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response example if success theme={null} { "statusCode": 200, "messages": "success" } ``` ```json Response example if failed theme={null} { "statusCode": 200, "messages": "failed" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/{id}/{action} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/{id}/{action} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters Unique product ID. The status action to apply to the product. One of: * `open` * `close` * `active` * `closed` * `unlisted` An unsupported value returns `400` with a message of the form `. allowed: active, closed, unlisted`. ## Response Successful Response Status code form API. Status message that describes the status code (`success` or `failed`). ### Errors Returned when the action is not supported: `{ "statusCode": 400, "messages": ". allowed: active, closed, unlisted" }`. Returned when the product does not exist: `{ "statusCode": 404, "messages": "Product not found" }`. # Get Detail Product Source: https://docs.mayar.id/api-reference-v2/product/detail GET /endpointproductv2/detail Endpoint where you can get your detail products ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/products/6f8c19ff-5b97-4792-aa89-d2a12797b356' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "link": "jasa-pembuatan-website", "name": "Jasa Pembuatan Website", "category": null, "limit": null, "type": "generic_link", "subType": null, "variant": null, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "membershipTier": [], "event": null, "order": null, "qty": null, "amount": 150000, "status": "active", "description": "

Jasa pembuatan website company profile.

\n", "coverImageId": "2529541f-dc98-4ca0-93bb-3c1d35a8dd07", "multipleImageId": null, "transactions": [ { "id": "b2c3d4e5-f6a7-8901-bcde-f23456789012", "extraData": null } ], "multipleImage": null, "coverImage": { "id": "2529541f-dc98-4ca0-93bb-3c1d35a8dd07", "fileType": "jpeg", "url": "https://media.mayar.id/images/2529541f-dc98-4ca0-93bb-3c1d35a8dd07.jpeg" }, "linkUrl": "https://testingmayar.myr.id/plink/jasa-pembuatan-website", "linkPayment": "https://testingmayar.myr.id/pl/jasa-pembuatan-website" } } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters Unique product ID. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The product detail object. ### data Structure (Object) Unique identifier of the product. Unique slug or identifier used in the product URL. Product name. Product category if available. Purchase or access limit if configured. Product type (e.g., `saas`, `event`, `membership`, `ebook`, etc.). Product subtype if applicable. Product variant. Identifier of the product owner. Membership product tier. Event details. Order configuration if applicable. Number of product. Product price amount. Current product status (e.g., `active`, `inactive`). Product description in HTML format. Identifier of the cover image. Identifier list of additional images. List of related transactions (empty if none). List of additional image objects. Cover image object containing image details. Public product page URL. Public payment link URL. # Get Product Page Source: https://docs.mayar.id/api-reference-v2/product/productpage GET /endpointproductv2/productpage Endpoint where you can get your products ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/products?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "3d4a503a-04a7-4587-915a-8983f0ab05f7", "amount": 150000, "category": null, "createdAt": 1768375011056, "description": "

Jasa pembuatan website company profile.

\n", "link": "jasa-pembuatan-website", "type": "generic_link", "subType": null, "status": "active", "name": "Jasa Pembuatan Website", "limit": null, "redirectUrl": null, "installmentId": null, "variant": null, "membershipTier": [], "event": null, "order": null, "coverImageId": "2529541f-dc98-4ca0-93bb-3c1d35a8dd07", "multipleImageId": null, "coverImage": { "id": "2529541f-dc98-4ca0-93bb-3c1d35a8dd07", "fileType": "jpeg", "url": "https://media.mayar.id/images/2529541f-dc98-4ca0-93bb-3c1d35a8dd07.jpeg" }, "multipleImage": null, "variants": null, "linkUrl": "https://testingmayar.myr.id/plink/jasa-pembuatan-website", "linkPayment": "https://testingmayar.myr.id/pl/jasa-pembuatan-website" } ], "hasMore": true, "nextStartingAfter": "1768375011056" } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products?limit=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products?limit=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Number of items to return per page. Defaults to `10`, with a maximum of `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a Unix timestamp in milliseconds, as a string) to fetch the next page. Filter products by name keyword. Filter products by product type (e.g. `generic_link`, `event`, `webinar`, `digital_product`). Filter products by stock availability. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of products displayed. Information on whether there is additional data to be retrieved (true/false). Cursor to pass as `startingAfter` to fetch the next page. `null` when there is no further data. ### data Structure (Array Of Object) Unique identifier of the product. Product price amount. Product category if available. Timestamp in milliseconds indicating when the product was created. Product description in HTML format. Unique slug or identifier used in the product URL. Product type (e.g., `saas`, `event`, `membership`, `ebook`, etc.). Product subtype if applicable. Current product status (e.g., `active`, `inactive`). Product name. Purchase or access limit if configured. URL where the customer will be redirected after checkout. Installment identifier if the product supports installment payments. Product variant. Membership product tier. Event details. Order configuration if applicable. Identifier of the cover image. Identifier list of additional images. Cover image object containing image details. List of additional image objects. Product variants. Public product page URL. Public payment link URL. # Get Product Page with Type Filter Source: https://docs.mayar.id/api-reference-v2/product/productpagewithfilter GET /endpointproductv2/productpagewithfilter Endpoint where you can get your products with type filter ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/products/types/generic_link?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "3d4a503a-04a7-4587-915a-8983f0ab05f7", "amount": 150000, "category": null, "createdAt": 1768375011056, "description": "

Jasa pembuatan website company profile.

\n", "link": "jasa-pembuatan-website", "type": "generic_link", "subType": null, "status": "active", "name": "Jasa Pembuatan Website", "limit": null, "redirectUrl": null, "installmentId": null, "variant": null, "membershipTier": [], "event": null, "order": null, "coverImageId": "2529541f-dc98-4ca0-93bb-3c1d35a8dd07", "multipleImageId": null, "coverImage": { "id": "2529541f-dc98-4ca0-93bb-3c1d35a8dd07", "fileType": "jpeg", "url": "https://media.mayar.id/images/2529541f-dc98-4ca0-93bb-3c1d35a8dd07.jpeg" }, "multipleImage": null, "variants": null, "linkUrl": "https://testingmayar.myr.id/plink/jasa-pembuatan-website", "linkPayment": "https://testingmayar.myr.id/pl/jasa-pembuatan-website" } ], "hasMore": true, "nextStartingAfter": "1768375011056" } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/types/generic_link?limit=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/types/generic_link?limit=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters Product type for filtering, list all product with filter: * generic\_link * physical\_product * event * webinar * digital\_product * coaching * course * cohort\_based * fundraising * ebook * podcast * audiobook * membership * zakat * invoice * bundling * saas * payment\_request * support ## Query Parameters Filter the listed products by name keyword. Number of items to return per page. Defaults to `10`, with a maximum of `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a Unix timestamp in milliseconds, as a string) to fetch the next page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of products of the requested type. Information on whether there is additional data to be retrieved (true/false). Cursor to pass as `startingAfter` to fetch the next page. `null` when there is no further data. ### data Structure (Array Of Object) Unique identifier of the product. Product price amount. Product category if available. Timestamp in milliseconds indicating when the product was created. Product description in HTML format. Unique slug or identifier used in the product URL. Product type (e.g., `saas`, `event`, `membership`, `ebook`, etc.). Product subtype if applicable. Current product status (e.g., `active`, `inactive`). Product name. Purchase or access limit if configured. URL where the customer will be redirected after checkout. Installment identifier if the product supports installment payments. Product variant. Membership product tier. Event details. Order configuration if applicable. Identifier of the cover image. Identifier list of additional images. Cover image object containing image details. List of additional image objects. Product variants. Public product page URL. Public payment link URL. # Get Product Transactions Source: https://docs.mayar.id/api-reference-v2/product/transactions GET /endpointproductv2/transactions Endpoint where you can get the transactions of a product ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/products/6f8c19ff-5b97-4792-aa89-d2a12797b356/transactions?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "b2c3d4e5-f6a7-8901-bcde-f23456789012", "createdAt": 1768375011056, "type": "CHILD", "amount": 150000, "status": "created", "urlParamTrackingData": null, "paymentLinkId": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "customerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "customeField": null, "customer": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "email": "budi.santoso@example.com", "name": "Budi Santoso", "mobile": "081234567890" }, "paymentLink": { "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "type": "generic_link", "category": null, "createdAt": 1768375011056, "description": "

Jasa pembuatan website company profile.

\n", "link": "jasa-pembuatan-website", "name": "Jasa Pembuatan Website", "redirectUrl": null, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "coverImageId": "2529541f-dc98-4ca0-93bb-3c1d35a8dd07", "multipleImageId": null, "coverImage": null, "multipleImage": null }, "productName": "Jasa Pembuatan Website", "productType": "generic_link", "productLink": "jasa-pembuatan-website" } ], "hasMore": false, "nextStartingAfter": "1768375011056" } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/{id}/transactions?limit=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/{id}/transactions?limit=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters Unique product ID whose transactions you want to list. ## Query Parameters Filter transactions by status. Filter transactions belonging to a specific customer. Comma-separated list of fields to include in each transaction object. Use it to trim the payload to only the fields you need. Number of items to return per page. Defaults to `10`, with a maximum of `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a Unix timestamp in milliseconds, as a string) to fetch the next page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of transactions for the product. Information on whether there is additional data to be retrieved (true/false). Cursor to pass as `startingAfter` to fetch the next page. `null` when there is no further data. ### data Structure (Array Of Object) Unique identifier of the transaction. Timestamp in milliseconds indicating when the transaction was created. Transaction type. Transaction amount. Current transaction status (e.g., `created`, `paid`, `expired`). URL parameter tracking data attached to the transaction, if any. Identifier of the product (payment link) the transaction belongs to. Identifier of the customer who made the transaction. Custom field data captured at checkout, if any. Customer details associated with the transaction. Product (payment link) details associated with the transaction. Name of the product the transaction belongs to. Type of the product the transaction belongs to. Slug of the product the transaction belongs to. # Create Dynamic QRCode Source: https://docs.mayar.id/api-reference-v2/qrcode/createdynamicqrcode POST /endpointqrcodev2/createdynamicqrcode Endpoint used to create a dynamic QRIS code for a specific amount The setting to charge admin fee and channel fee to the customer does not apply to the Payme / Dynamic QR code feature. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/qr-codes/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "amount": 10000 }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "url": "https://media.mayar.id/images/resized/480/a1b2c3d4-e5f6-4789-a012-3456789abcde.png", "amount": 10000 } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/qr-codes/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/qr-codes/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Nominal payment amount (in IDR) to encode into the dynamic QRIS code. ## Response Successful Response ### Main Structure (Root) Status code returned by the API. Status message that describes the status code. The generated dynamic QRIS object. ### data Structure (Object) Link to the generated QR image file. Nominal payment amount encoded into the QR code. # Get Static QRCode Source: https://docs.mayar.id/api-reference-v2/qrcode/getstaticqrcode GET /endpointqrcodev2/getstaticqrcode Endpoint to retrieve the merchant's static QRIS code ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/qr-codes/static' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "url": "https://media.mayar.id/images/resized/480/a1b2c3d4-e5f6-4789-a012-3456789abcde.png" } } ``` ```json Response Example 500 theme={null} { "statusCode": 500, "messages": "Invalid data" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/qr-codes/static ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/qr-codes/static ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Response Successful Response ### Main Structure (Root) Status code returned by the API. Status message that describes the status code. The static QRIS object. ### data Structure (Object) Link to the merchant's static QRIS image file. ## Errors Returned when the merchant has no static QRIS configured: `{ "statusCode": 500, "messages": "Invalid data" }`. # Get Payment Channels Source: https://docs.mayar.id/api-reference-v2/qrcode/paymentchannels GET /endpointqrcodev2/paymentchannels Endpoint to retrieve the merchant's enabled payment channel configuration ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/payment-channels' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "isAkulakuApproved": null, "isCreditCardApproved": true, "isQRISStaticApproved": null, "isAdminFeeBorneByCustomer": true, "isChannelFeeBorneByCustomer": true, "isRateLimitActive": false, "config": [ { "name": "QRIS", "status": true, "img": "/qris-gpn.png", "type": "qris", "code": "QRIS" }, { "name": "Bank Transfer Mandiri", "status": true, "img": "/mandiri.png", "type": "va", "code": "MANDIRI" }, { "name": "EWallet OVO", "status": true, "img": "/ovo.png", "type": "ewallet", "code": "OVO" }, { "name": "Kartu Kredit Debit", "status": true, "img": "/cc.png", "type": "card", "code": null }, { "name": "Retail Alfamart", "status": true, "img": "/alfamart.png", "type": "retail", "code": "ALFAMART" }, { "name": "Pay Later Akulaku", "status": false, "img": "/akulaku.png", "type": "paylater", "code": "AKULAKU" }, { "name": "QRIS Statis", "status": false, "img": "/qris-gpn.png", "type": "qris_static", "code": "QRIS_STATIC" } ], "createdAt": 1700000000000, "updatedAt": 1714000000000 } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/payment-channels ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/payment-channels ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Response Successful Response ### Main Structure (Root) Status code returned by the API. Status message that describes the status code. The payment-channel configuration object for the merchant. ### data Structure (Object) Unique identifier of the payment-channel configuration record. Identifier of the merchant that owns this configuration. Whether the Akulaku (paylater) channel is approved for this merchant. May be `null` when not yet reviewed. Whether the credit/debit card channel is approved for this merchant. May be `null` when not yet reviewed. Whether the static QRIS channel is approved for this merchant. May be `null` when not yet reviewed. Whether the admin fee is charged to the customer rather than the merchant. Whether the per-channel fee is charged to the customer rather than the merchant. Whether rate limiting is currently active for this merchant's channels. List of available payment channels and their enabled state. Human-readable channel name (e.g. `Bank Transfer Mandiri`). Whether the channel is enabled for this merchant. Relative path to the channel's logo image. Channel type. One of `qris`, `va`, `ewallet`, `card`, `retail`, `paylater`, `qris_static`. Channel code (e.g. `MANDIRI`, `OVO`, `ALFAMART`). May be `null` for some channels. Creation timestamp (Unix epoch, in milliseconds). Last-update timestamp (Unix epoch, in milliseconds). ## Errors Returned when the channel configuration cannot be read: `{ "statusCode": 500, "messages": "" }`. # API Rate Limit Source: https://docs.mayar.id/api-reference-v2/rate-limit API Rate limit per minute > Mayar API rate limits and best practices for handling them. Mayar API has rate limits to ensure fair usage and maintain performance. The limits are as follows: * **50 requests per minute per user credential (API Key).** Rate limiting is applied based on your authenticated user account, not by IP address. All requests made with the same API Key share the same rate limit quota. If you exceed the rate limit, you will receive a **429 Too Many Requests** response. The response will include a **Retry-After** header indicating how long you should wait before making another request. Unauthenticated requests (without a Bearer token) are subject to a separate, stricter limit. # Change Single Payment Request Status Source: https://docs.mayar.id/api-reference-v2/reqpayment/changestatus POST /endpointreqpaymentv2/changestatus Endpoint used to change the status of a single payment request ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/payments/6f8c19ff-5b97-4792-aa89-d2a12797b356/close' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response example if success theme={null} { "statusCode": 200, "messages": "success" } ``` ```json Response example if failed theme={null} { "statusCode": 200, "messages": "failed" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/payments/{id}/{action} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/payments/{id}/{action} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters Unique request payment ID. The status action to apply to the payment request. One of: * `open` * `close` * `active` * `closed` * `unlisted` An unsupported value returns `400` with a message of the form `. allowed: active, closed, unlisted`. ## Response Successful Response Status code form API. Status message that describes the status code (`success` or `failed`). ### Errors Returned when the action is not supported: `{ "statusCode": 400, "messages": ". allowed: active, closed, unlisted" }`. Returned when the payment request does not exist: `{ "statusCode": 404, "messages": "Product not found" }`. # Create Single Payment Request Source: https://docs.mayar.id/api-reference-v2/reqpayment/create POST /endpointreqpaymentv2/create Endpoint used to create a single payment request The setting to charge admin fee and channel fee to the customer does not apply to the Request Payment feature. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/payments/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "name": "Penagihan", "amount": 100000, "email": "budi.santoso@example.com", "mobile": "081234567890", "description": "Pembayaran jasa konsultasi", "expiredAt": "2026-07-19T16:43:23.000Z" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "transactionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "link": "https://testingmayar.myr.id/pl/rqp9x2k7m3a" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/payments/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/payments/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Name/title of the payment request. Nominal amount of payment. Customer email used to send proof of payment or payment reminders. Customer telephone number. General description of the transaction or order. Additional notes for the payment request. The transaction expiration date and time. After this time, the payment link is no longer valid. Restrict the payment request to a specific payment method (lowercase). Accepts one of the following values: * `qris` * `va/bni` * `va/bri` * `va/mandiri` * `va/cimb` * `va/permata` * `va/bjb` * `va/bsi` * `ewallet/dana` * `ewallet/gopay` * `ewallet/linkaja` * `ewallet/shopeepay` * `ewallet/jenius` * `outlet/alfamart` The selected channel must be enabled in your payment channel configuration; otherwise the request returns a `400` with `"Payment method \"...\" is not available or disabled"`. Cashtag associated with the payment request. Only required when using `ewallet/jeniuspay` as the `paymentMethod`. Additional custom data attached to the payment request. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The created payment request data. ### data Structure (Object) Unique request payment ID. Unique transaction ID associated with this payment request. The URL that customers can access to open the payment request. ### Errors Returned when the request body fails validation: `{ "statusCode": 400, "messages": "Validation Error" }`. Returned when a payment request with the same identifier already exists: `{ "statusCode": 409, "messages": "already exist" }`. Returned when a duplicate create request is detected: `{ "statusCode": 429, "messages": "Duplicate request detected. Please wait 1 minute before trying again." }`. # Get Detail Single Payment Request Source: https://docs.mayar.id/api-reference-v2/reqpayment/detail GET /endpointreqpaymentv2/detail Endpoint used to view the details of a single payment request that has been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/payments/6f8c19ff-5b97-4792-aa89-d2a12797b356' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "link": "rqp9x2k7m3a", "name": "Penagihan", "category": null, "limit": null, "type": "payment_request", "subType": null, "variant": null, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "membershipTier": [], "event": null, "order": null, "qty": null, "amount": 100000, "status": "unpaid", "description": "Pembayaran jasa konsultasi", "coverImageId": null, "multipleImageId": null, "transactions": [], "coverImage": null, "multipleImage": null, "linkUrl": "https://testingmayar.myr.id/pl/rqp9x2k7m3a", "linkPayment": "https://testingmayar.myr.id/pl/rqp9x2k7m3a" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/payments/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/payments/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters A unique identifier obtained when creating a single payment request. If accessed through the dashboard, it can be found in the URL on the payment request details page. Example: `6f8c19ff-5b97-4792-aa89-d2a12797b356` ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The payment request detail object. ### data Structure (Object) Unique request payment ID. Payment request slug/short URL. Payment request name. Category, can be null if there is no category. Certain amount limit, can be null. Product type. Always `payment_request` for this endpoint. Product subtype if applicable. Product variant. Identifier of the payment request owner. Membership tier list (empty if not applicable). Related event data, can be null. Related order data, can be null. Quantity (if the request relates to specific goods/services). Payment request price or nominal value. Payment request status (e.g. `unpaid`, `paid`, `closed`). Payment request description. ID cover image, can be null. ID for multiple image group, can be null. List of related transactions (empty if none). Cover image data, can be null. List of additional images for the payment request. Public payment request page URL. Public payment link URL. # Edit Single Payment Request Source: https://docs.mayar.id/api-reference-v2/reqpayment/edit POST /endpointreqpaymentv2/edit Endpoint used to edit a single payment request that has been created ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/payments/6f8c19ff-5b97-4792-aa89-d2a12797b356/update' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "amount": 150000, "description": "Penagihan yang sudah diedit", "expiredAt": "2026-07-19T16:43:23.000Z" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "link": "https://testingmayar.myr.id/pl/rqp9x2k7m3a" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/payments/{uuId}/update ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/payments/{uuId}/update ``` The payment request to update is selected by the `id` field in the **request body**, not by the `{uuId}` segment in the URL path. The path segment is cosmetic and is ignored by the API — always send the target payment request `id` in the body. ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body A unique identifier obtained when creating a single payment request. This selects the payment request to update (the `{uuId}` URL segment is ignored). Example: `6f8c19ff-5b97-4792-aa89-d2a12797b356` Nominal amount of payment. Customer email used to send proof of payment or payment reminders. Customer telephone number. General description of the transaction or order. Additional notes for the payment request. The transaction expiration date and time. After this time, the payment link is no longer valid. Restrict the payment request to a specific payment method. Cashtag associated with the payment request. Additional custom data attached to the payment request. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The updated payment request data. ### data Structure (Object) Unique request payment ID. The URL that customers can access to open the payment request. ### Errors Returned when the API key is missing or invalid: `{ "statusCode": 401, "messages": "Unauthorized" }`. Returned when no payment request matches the provided `id`: `{ "statusCode": 404, "messages": "Payment not found" }`. Returned when the payment request has already been paid and can no longer be edited: `{ "statusCode": 409, "messages": "Transaction already paid. Cannot edit payment request." }`. # Get List Single Payment Request Source: https://docs.mayar.id/api-reference-v2/reqpayment/index GET /endpointreqpaymentv2/index Endpoint used to view the list of single payment requests that have been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/payments?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "amount": 100000, "category": null, "createdAt": 1768375011056, "description": "Pembayaran jasa konsultasi", "link": "rqp9x2k7m3a", "type": "payment_request", "status": "unpaid", "name": "Penagihan", "limit": null, "redirectUrl": null, "installmentId": null, "event": null, "order": null, "coverImageId": null, "multipleImageId": null, "transactions": [], "coverImage": null, "multipleImage": null }, { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "amount": 50000, "category": null, "createdAt": 1768288611042, "description": "Tagihan layanan bulanan", "link": "rqp4t8n1b6c", "type": "payment_request", "status": "paid", "name": "Tagihan Layanan", "limit": null, "redirectUrl": null, "installmentId": null, "event": null, "order": null, "coverImageId": null, "multipleImageId": null, "transactions": [ { "id": "b2c3d4e5-f6a7-8901-bcde-f23456789012", "extraData": null } ], "coverImage": null, "multipleImage": null } ], "hasMore": true, "nextStartingAfter": "1768288611042" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/payments ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/payments ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Filter the list by payment request status (e.g. `unpaid`, `paid`, `closed`). Number of items to return per page. Defaults to `10`, with a maximum of `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a Unix timestamp in milliseconds, as a string) to fetch the next page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of single payment requests displayed. Information on whether there is additional data to be retrieved (true/false). Cursor to pass as `startingAfter` to fetch the next page. `null` when there is no further data. ### data Structure (Array Of Object) Unique request payment ID. Payment request price or nominal value. Category, can be null if there is no category. Creation time in epoch milliseconds format. Payment request description. Payment request slug/short URL. Product type. Always `payment_request` for this endpoint. Payment request status (e.g. `unpaid`, `paid`, `closed`). Payment request name. Certain amount limit, can be null. Redirect destination URL, can be null. Installment ID if the payment request supports installments, can be null. Related event data, can be null. Related order data, can be null. ID cover image, can be null. ID for multiple image group, can be null. List of related transactions (empty if none). Each item contains `id` and `extraData`. Cover image data, can be null. List of additional images for the payment request. # Bulk Update Review Status Source: https://docs.mayar.id/api-reference-v2/reviews/bulkstatusupdate POST /endpointreviewsv2/reviews/bulk-status-update Endpoint to update the status of multiple reviews in a single request ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/reviews/bulk-status/update' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "input": [ { "id": "11f4d767-4d88-41ff-8777-06564d906fe7", "paymentLinkId": "e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77", "status": "ARCHIVED" }, { "id": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "paymentLinkId": "e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77", "status": "ACTIVE" } ] }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/reviews/bulk-status/update ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/reviews/bulk-status/update ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body List of reviews to update. Between 1 and 50 entries. ID of the review to update. 3–100 characters. New status for the review. One of `ACTIVE`, `ARCHIVED`, or `INACTIVE`. ID of the payment link / product the review belongs to. 3–100 characters. ## Response Successful Response ### Main Structure (Root) Status code returned by the API. Status message that describes the status code. `"success"` on success, `"failed"` when the request body fails validation. A successful response contains no `data` key. ## Errors Returned with `messages` set to `"failed"` and `data` holding the validation detail when the request body is invalid. Returned with `messages` set to `"Review is not valid! Please check your payload."` when any referenced review does not belong to the authenticated merchant. Returned with `messages` set to the error description when the reviews cannot be updated. # Create Review Source: https://docs.mayar.id/api-reference-v2/reviews/create POST /endpointreviewsv2/reviews/create Endpoint to create a review on behalf of a customer who purchased a product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/reviews/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "paymentLinkId": "e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77", "customerEmail": "budi.santoso@example.com", "rating": 5, "message": "Materinya jelas dan mudah dipahami, terima kasih!", "contentReview": [ { "id": "d4e5f6a7-b8c9-4012-d345-6789abcdef01", "type": "image" } ] }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "11f4d767-4d88-41ff-8777-06564d906fe7", "rating": 5, "message": "Materinya jelas dan mudah dipahami, terima kasih!", "paymentLinkId": "e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77", "customerId": "22eb6224-c20a-4bc2-9b99-13b21e7048c6", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "status": "ACTIVE", "createdAt": 1767063610103, "updatedAt": 1767063610103 } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/reviews/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/reviews/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body ID of the payment link / product being reviewed. 3–100 characters. Email of the customer leaving the review. Must be a valid email (5–100 characters) belonging to a customer who has paid for the product. Rating value. Integer between 1 and 5. Optional review message. 1–2000 characters. Optional list of media attachments (images and/or videos). Maximum 10 entries. Identifier of the uploaded file to attach. Media type of the attachment. One of `image` or `video`. Identifier of the underlying file record, when applicable. ## Response Successful Response ### Main Structure (Root) Status code returned by the API. Status message that describes the status code. `"success"` on success, `"failed"` when the request body fails validation. The created review record. When `messages` is `"failed"`, this holds the validation detail instead. ### data Structure (Object) Unique review ID. Rating value submitted by the customer. Review message submitted by the customer. Payment link ID associated with the review. Unique customer identifier associated with the review. Unique user ID associated with the payment link owner. Current review status. New reviews are created with status `ACTIVE`. Unix timestamp in milliseconds indicating when the review was created. Unix timestamp in milliseconds indicating when the review was last updated. ## Errors Returned with `messages` set to `"failed"` and `data` holding the validation detail when the request body is invalid. Returned with `messages` set to `"Produk tidak ditemukan"` when the product does not exist or is not owned by the authenticated merchant. Returned with `messages` set to `"Anda belum pernah membeli produk ini"` when the customer has no paid transaction for the product. Returned with `messages` set to `"Anda sudah memberikan ulasan untuk produk ini, jika ingin mengedit ulasan, silahkan gunakan fitur edit ulasan"` when the customer has already reviewed the product. Returned with `messages` set to `"Gagal menambahkan ulasan"` or `"Terjadi kesalahan saat menambahkan ulasan"` when the review cannot be saved. # Get All Reviews Source: https://docs.mayar.id/api-reference-v2/reviews/getallreviews GET /endpointreviewsv2/reviews Endpoint to retrieve all reviews across the merchant store ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/reviews?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "11f4d767-4d88-41ff-8777-06564d906fe7", "createdAt": 1767063610103, "customerId": "22eb6224-c20a-4bc2-9b99-13b21e7048c6", "message": "Materinya jelas dan mudah dipahami, terima kasih!", "paymentLinkId": "e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77", "rating": 5, "status": "ACTIVE", "updatedAt": 1767762378460, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "multipleImage": [ { "id": "d4e5f6a7-b8c9-4012-d345-6789abcdef01", "fileType": "png", "description": null, "url": "https://media.mayar.id/images/d4e5f6a7-b8c9-4012-d345-6789abcdef01.png" } ], "content": [ { "id": "b2c3d4e5-f6a7-4890-b123-456789abcdef", "value": "c3d4e5f6-a7b8-4901-c234-56789abcdef0", "file": { "id": "c3d4e5f6-a7b8-4901-c234-56789abcdef0", "filename": "ulasan-video.mp4", "size": 5698168, "mimetype": "video/mp4" } } ], "customer": { "id": "22eb6224-c20a-4bc2-9b99-13b21e7048c6", "name": "Budi Santoso" }, "paymentLink": { "id": "e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77", "name": "Kelas Pemrograman Web Dasar", "type": "course", "link": "kelas-pemrograman-web-dasar", "subType": null } } ], "hasMore": false, "nextStartingAfter": null } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/reviews ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/reviews ``` ## Authorization Example: `Authorization | Bearer Paste-Your-Api-Key-Here` ## Query Parameters Maximum number of reviews to return per page. Used for cursor pagination. Cursor for the next page. Pass the `nextStartingAfter` value from the previous response. Filter reviews by status (for example `ACTIVE`, `ARCHIVED`, or `INACTIVE`). Filter reviews belonging to a specific payment link / product. Filter reviews by rating value (1–5). ## Response Successful Response ## Main Structure (Root) Status code returned by the API. Status message that describes the API response. Array containing review objects. Indicates whether more review data is available beyond the current page. Cursor to fetch the next page. `null` when there are no more results. ### data Structure (Array Of Object) Unique review ID. Unix timestamp in milliseconds indicating when the review was created. Unique customer identifier associated with the review. Review message submitted by the customer. Payment link ID associated with the review. Rating value submitted by the customer. Current review status. Unix timestamp in milliseconds indicating when the review was last updated. Unique user ID associated with the payment link owner. List of review images attached by the customer. Unique image ID. File extension of the image (for example `png` or `jpg`). Optional description of the image. Public URL of the image. Additional review content (for example uploaded videos). Unique content entry ID. Identifier of the underlying file referenced by this content entry. File metadata for this content entry. Unique file ID. Original file name. File size in bytes. MIME type of the file (for example `video/mp4`). Customer information object. Unique customer ID. Customer full name. Payment link information object. Unique payment link ID. Name of the payment link or product. Type of payment link or product. Slug or public link identifier of the payment link. Additional subtype information of the payment link. # Get Merchant Review Statistics Source: https://docs.mayar.id/api-reference-v2/reviews/merchantreviewstats GET /endpointreviewsv2/merchant-review-stats Endpoint to retrieve aggregated rating statistics across the whole merchant store ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/merchants/reviews/stats' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "total": 42, "average": 4.7, "stats": [ { "rating": 5, "percentage": 76, "totalRating": 32 }, { "rating": 4, "percentage": 17, "totalRating": 7 }, { "rating": 3, "percentage": 5, "totalRating": 2 }, { "rating": 2, "percentage": 2, "totalRating": 1 }, { "rating": 1, "percentage": 0, "totalRating": 0 } ] } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/merchants/reviews/stats ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/merchants/reviews/stats ``` ## Authorization Example: `Authorization | Bearer Paste-Your-Api-Key-Here` Statistics count only `ACTIVE` reviews across the entire store. When there are no active reviews, `data` is returned as an empty object (`{}`). ## Response Successful Response ### Main Structure (Root) Status code returned by the API. Status message that describes the API response. Aggregated store-wide rating statistics. Empty object when there are no active reviews. ### data Structure (Object) Total number of active reviews across the store. Average rating across all active reviews, rounded to one decimal place. Per-rating breakdown, one entry for each rating from 5 down to 1. Rating value (1–5) this breakdown entry refers to. Percentage of total reviews that gave this rating. Number of reviews that gave this rating. # Get Customer Review Source: https://docs.mayar.id/api-reference-v2/reviews/productreviewcustomer GET /endpointreviewsv2/product-review-customer Endpoint to retrieve a single customer's review for a specific product ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/products/e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77/reviews/customer?customerId=22eb6224-c20a-4bc2-9b99-13b21e7048c6' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "11f4d767-4d88-41ff-8777-06564d906fe7", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "updatedAt": 1767762378460, "rating": 5, "paymentLinkId": "e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77", "status": "ACTIVE", "message": "Materinya jelas dan mudah dipahami, terima kasih!", "customerId": "22eb6224-c20a-4bc2-9b99-13b21e7048c6", "createdAt": 1767063610103, "multipleImage": [], "content": [ { "id": "b2c3d4e5-f6a7-4890-b123-456789abcdef", "value": "c3d4e5f6-a7b8-4901-c234-56789abcdef0", "file": { "id": "c3d4e5f6-a7b8-4901-c234-56789abcdef0", "filename": "ulasan-video.mp4", "mimetype": "video/mp4", "size": 5698168 } } ] } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/{paymentLinkId}/reviews/customer ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/{paymentLinkId}/reviews/customer ``` ## Authorization Example: `Authorization | Bearer Paste-Your-Api-Key-Here` ## Path Parameters ID of the payment link / product to look up the review for. ## Query Parameters ID of the customer whose review you want to retrieve. ## Response Successful Response ### Main Structure (Root) Status code returned by the API. Status message that describes the API response. The customer's review for the product, or `null` when the customer has not reviewed it. ### data Structure (Object) Unique review ID. Unique user ID associated with the payment link owner. Unix timestamp in milliseconds indicating when the review was last updated. Rating value submitted by the customer. Payment link ID associated with the review. Current review status. Review message submitted by the customer. Unique customer identifier associated with the review. Unix timestamp in milliseconds indicating when the review was created. List of review images attached by the customer. Additional review content (for example uploaded videos), each with a nested `file` object (`id`, `filename`, `mimetype`, `size`). ## Errors Returned with `messages` set to `"customerId query parameter is required"` when the `customerId` query parameter is missing. # Get Product Reviews Source: https://docs.mayar.id/api-reference-v2/reviews/productreviews GET /endpointreviewsv2/product-reviews Endpoint to retrieve active reviews for a specific product / payment link ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/products/e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77/reviews?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "11f4d767-4d88-41ff-8777-06564d906fe7", "createdAt": 1767063610103, "customerId": "22eb6224-c20a-4bc2-9b99-13b21e7048c6", "message": "Materinya jelas dan mudah dipahami, terima kasih!", "paymentLinkId": "e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77", "status": "ACTIVE", "rating": 5, "updatedAt": 1767762378460, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "multipleImage": [], "content": [ { "id": "b2c3d4e5-f6a7-4890-b123-456789abcdef", "value": "c3d4e5f6-a7b8-4901-c234-56789abcdef0", "file": { "id": "c3d4e5f6-a7b8-4901-c234-56789abcdef0", "filename": "ulasan-video.mp4", "mimetype": "video/mp4", "size": 5698168 } } ], "customer": { "id": "22eb6224-c20a-4bc2-9b99-13b21e7048c6", "name": "Budi Santoso" }, "paymentLink": { "id": "e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77", "name": "Kelas Pemrograman Web Dasar", "type": "course", "link": "kelas-pemrograman-web-dasar", "subType": null } } ], "hasMore": false, "nextStartingAfter": null } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/{paymentLinkId}/reviews ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/{paymentLinkId}/reviews ``` ## Authorization Example: `Authorization | Bearer Paste-Your-Api-Key-Here` ## Path Parameters ID of the payment link / product whose reviews you want to retrieve. ## Query Parameters Maximum number of reviews to return per page. Used for cursor pagination. Cursor for the next page. Pass the `nextStartingAfter` value from the previous response. Filter reviews by rating value (1–5). When `true`, reviews that include a message are returned before reviews without a message. ## Response Successful Response ## Main Structure (Root) Status code returned by the API. Status message that describes the API response. Array containing review objects for the product. Indicates whether more review data is available beyond the current page. Cursor to fetch the next page. `null` when there are no more results. ### data Structure (Array Of Object) Unique review ID. Unix timestamp in milliseconds indicating when the review was created. Unique customer identifier associated with the review. Review message submitted by the customer. Payment link ID associated with the review. Current review status. Rating value submitted by the customer. Unix timestamp in milliseconds indicating when the review was last updated. Unique user ID associated with the payment link owner. List of review images attached by the customer. Additional review content (for example uploaded videos), each with a nested `file` object (`id`, `filename`, `mimetype`, `size`). Customer information object (`id`, `name`). Payment link information object (`id`, `name`, `type`, `link`, `subType`). # Get Product Review Statistics Source: https://docs.mayar.id/api-reference-v2/reviews/productreviewstats GET /endpointreviewsv2/product-review-stats Endpoint to retrieve aggregated rating statistics for a specific product ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/products/e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77/reviews/stats' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "total": 10, "average": 4.6, "stats": [ { "rating": 5, "percentage": 70, "totalRating": 7 }, { "rating": 4, "percentage": 20, "totalRating": 2 }, { "rating": 3, "percentage": 10, "totalRating": 1 }, { "rating": 2, "percentage": 0, "totalRating": 0 }, { "rating": 1, "percentage": 0, "totalRating": 0 } ] } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/{paymentLinkId}/reviews/stats ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/{paymentLinkId}/reviews/stats ``` ## Authorization Example: `Authorization | Bearer Paste-Your-Api-Key-Here` ## Path Parameters ID of the payment link / product whose rating statistics you want to retrieve. Statistics count only `ACTIVE` reviews. When the product has no active reviews, `data` is returned as an empty object (`{}`). ## Response Successful Response ### Main Structure (Root) Status code returned by the API. Status message that describes the API response. Aggregated rating statistics for the product. Empty object when there are no active reviews. ### data Structure (Object) Total number of active reviews for the product. Average rating across all active reviews, rounded to one decimal place. Per-rating breakdown, one entry for each rating from 5 down to 1. Rating value (1–5) this breakdown entry refers to. Percentage of total reviews that gave this rating. Number of reviews that gave this rating. # Update Review Source: https://docs.mayar.id/api-reference-v2/reviews/update POST /endpointreviewsv2/reviews/update Endpoint to update an existing review and its media attachments ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/reviews/11f4d767-4d88-41ff-8777-06564d906fe7/update' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "id": "11f4d767-4d88-41ff-8777-06564d906fe7", "paymentLinkId": "e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77", "customerEmail": "budi.santoso@example.com", "rating": 4, "message": "Kontennya bagus, semoga ada materi lanjutan.", "deleteContentReview": [ { "id": "d4e5f6a7-b8c9-4012-d345-6789abcdef01", "type": "image" } ] }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "11f4d767-4d88-41ff-8777-06564d906fe7", "rating": 4, "message": "Kontennya bagus, semoga ada materi lanjutan.", "paymentLinkId": "e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77", "customerId": "22eb6224-c20a-4bc2-9b99-13b21e7048c6", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "status": "ACTIVE", "createdAt": 1767063610103, "updatedAt": 1767762378460 } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/reviews/{uuId}/update ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/reviews/{uuId}/update ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` The review `id` is read from the **request body**, not the URL. Provide the `id` of the review you want to update in the JSON body. ## Request Body ID of the review to update. 3–100 characters. ID of the payment link / product the review belongs to. 3–100 characters. Email of the customer who owns the review, used to locate the related paid transaction. Updated rating value. Integer between 1 and 5. Updated review message. 1–2000 characters. ID of the customer who owns the review. 3–100 characters. Media attachments to add (`id`, `type` of `image`/`video`, `multipleFileId`). Maximum 10 entries. Media attachments to remove (`id`, `type` of `image`/`video`, `multipleFileId`). Maximum 10 entries. ## Response Successful Response ### Main Structure (Root) Status code returned by the API. Status message that describes the status code. `"success"` on success, `"failed"` when the request body fails validation. The updated review record. When `messages` is `"failed"`, this holds the validation detail instead. ### data Structure (Object) Unique review ID. Updated rating value. Updated review message. Payment link ID associated with the review. Unique customer identifier associated with the review. Unique user ID associated with the payment link owner. Current review status. Unix timestamp in milliseconds indicating when the review was created. Unix timestamp in milliseconds indicating when the review was last updated. ## Errors Returned with `messages` set to `"failed"` and `data` holding the validation detail when the request body is invalid. Returned with `messages` set to `"Transaksi tidak ditemukan"` when no paid transaction matches the customer and product, or `"Review tidak ditemukan"` when the review does not exist. Returned with `messages` set to the error description when the review cannot be updated. # Activate License (SaaS) Source: https://docs.mayar.id/api-reference-v2/saas/activate POST /endpointsaasv2/activate Endpoint to activate a SaaS subscription license code. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/saas/v2/license/activate' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --header 'Content-Type: application/json' \ --data-raw '{ "licenseCode": "YOUR-LICENSE-CODE", "productId": "YOUR-PRODUCT-ID" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "Success updating license code status to ACTIVE." } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/saas/v2/license/activate ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/saas/v2/license/activate ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The license code to activate. The ID of the product (payment link) associated with the license. ## Response Successful Response ### Main Structure (Root) Status code from the API. `200` on successful activation. Status message describing the result. By performing this action, the status of the license code will change to `ACTIVE`. ## Errors Returned when `licenseCode` or `productId` is missing or invalid. Returned when the Authorization header is missing or invalid. Returned when the request cannot be processed. # Deactivate License (SaaS) Source: https://docs.mayar.id/api-reference-v2/saas/deactivate POST /endpointsaasv2/deactivate Endpoint to deactivate a SaaS subscription license code. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/saas/v2/license/deactivate' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --header 'Content-Type: application/json' \ --data-raw '{ "licenseCode": "YOUR-LICENSE-CODE", "productId": "YOUR-PRODUCT-ID" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "Success updating license code status to INACTIVE." } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/saas/v2/license/deactivate ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/saas/v2/license/deactivate ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The license code to deactivate. The ID of the product (payment link) associated with the license. ## Response Successful Response ### Main Structure (Root) Status code from the API. `200` on successful deactivation. Status message describing the result. By performing this action, the status of the license code will change to `INACTIVE`. ## Errors Returned when `licenseCode` or `productId` is missing or invalid. Returned when the Authorization header is missing or invalid. Returned when the request cannot be processed. # Verify License (SaaS) Source: https://docs.mayar.id/api-reference-v2/saas/verify POST /endpointsaasv2/verify Endpoint to verify a SaaS subscription license by providing the license code and product ID. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/saas/v2/license/verify' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --header 'Content-Type: application/json' \ --data-raw '{ "licenseCode": "YOUR-LICENSE-CODE", "productId": "YOUR-PRODUCT-ID" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "isLicenseActive": true, "memberStatus": "ACTIVE", "licenseCode": { "licenseCode": "CA5DA5D3E1AA8B74", "status": "ACTIVE", "expiredAt": "2026-04-22T17:12:53.646Z", "transactionId": "994d4071-a81e-4558-a854-47530eea9b6d", "productId": "84d1d247-a8b3-4c7d-96f0-cf276edb7c33", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "customerName": "John Doe", "customerEmail": "johndoe@gmail.com", "createdAt": "2024-02-12T08:41:13.579Z", "updatedAt": "2024-02-12T08:57:36.047Z", "membershipTierId": "c96850f9-b379-4ed3-bcf2-6d88a87bd20c", "membershipTierName": "Master Black Belt Membership", "memberPaymentLink": "https://johndoe.mayar.id/pay-membership/MBR8X2QK" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/saas/v2/license/verify ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/saas/v2/license/verify ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The SaaS license code to verify. The ID of the product (payment link) associated with the license. ## Response Successful Response ### Main Structure (Root) Status code from the API. Shows whether the license is currently active (`true` or `false`). The membership customer status (for example `ACTIVE`, `INACTIVE`). Detailed information about the license code. ### licenseCode Structure (Object) The license code value. License status (for example `ISSUED`, `ACTIVE`, `INACTIVE`, `DISABLED`). License expiration date (ISO 8601 datetime). Related transaction ID. ID of the associated product. Customer ID linked to the license. Customer's full name. Customer's email address. License creation timestamp (ISO 8601 datetime). Last updated timestamp (ISO 8601 datetime). ID of the membership tier associated with the license. Name of the membership tier. The member-specific payment link for subscription renewal. ## Errors Returned when `licenseCode` or `productId` is missing or invalid. Returned when the Authorization header is missing or invalid. Returned when the license code or product is not found. # Verify License (Software) Source: https://docs.mayar.id/api-reference-v2/software/verify POST /endpointsoftwarev2/verify Endpoint to verify a software activation license code. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/software/v2/license/verify' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --header 'Content-Type: application/json' \ --data-raw '{ "licenseCode": "YOUR-LICENSE-CODE", "productId": "YOUR-PRODUCT-ID" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "isLicenseActive": true, "licenseCode": { "licenseCode": "LICENSECODE12345", "status": "ACTIVE", "expiredAt": "2026-12-12T19:46:24.000Z", "transactionId": "994d4071-a81e-4558-a854-47530eea9b6d", "productId": "84d1d247-a8b3-4c7d-96f0-cf276edb7c33", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "customerName": "John Doe", "customerEmail": "johndoe@gmail.com", "activationLimit": "Tidak terbatas", "useCount": 10, "createdAt": "2024-02-12T08:41:13.579Z", "updatedAt": "2024-02-12T08:57:36.047Z" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/software/v2/license/verify ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/software/v2/license/verify ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The license code to verify. The ID of the product (payment link) associated with the license. ## Response Successful Response ### Main Structure (Root) Status code from the API. Shows whether the license is currently active (`true` or `false`). Detailed information about the license code. ### licenseCode Structure (Object) The license code value. License status (for example `ACTIVE`, `INACTIVE`, `EXPIRED`, `DISABLED`). License expiration date (ISO 8601 datetime) or `"Tidak terbatas"` (Unlimited). Related transaction ID. ID of the associated product. Customer ID linked to the license. Customer's full name. Customer's email address. Maximum number of allowed activations (for example `"Tidak terbatas"` means "Unlimited"). Number of times the license has been used/verified. License creation timestamp (ISO 8601 datetime). Last updated timestamp (ISO 8601 datetime). ## Errors Returned when `licenseCode` or `productId` is missing or invalid. Returned when the Authorization header is missing or invalid. Returned when the license code or product is not found. Returned when the license has reached its maximum activation limit. # Status Code Source: https://docs.mayar.id/api-reference-v2/statuscode Status Code From API V2 Endpoint Request Results. The status code on an API endpoint is a 3-digit numeric code returned by the server each time a client (such as a browser, application, or other backend) sends a request to the API. Every request in our API has a response, and each response has a status code. This code indicates whether the request was successful, failed, or encountered another issue. In V2 the code is also returned inside the response envelope as the `statusCode` field. | **Status Code** | **Explanation** | | :---------------------------------: | :-----------------------------------------------------------------: | | 200 | Your request Success | | 400 | Bad request, your request in complate or you need add required data | | 404 | Endpoint or Product doesn't exist. | | 401 | You dont have Authorization for access API | | [429](/api-reference-v2/rate-limit) | [Your limit reached](/api-reference-v2/rate-limit) | | 500 | Error | # Transaction Daily Source: https://docs.mayar.id/api-reference-v2/transaction/dailytransaction GET /endpointtransactionv2/daily Endpoint to retrieve daily transaction statistics ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/transactions/daily' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "date": "2026-05-08", "tpvCount": 125000, "trxCount": 10 } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/transactions/daily ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/transactions/daily ``` ## Authorization Example: `Authorization | Bearer Paste-Your-Api-Key-Here` ## Response Successful Response ## Main Structure (Root) Status code returned by the API. Status message that describes the status code. Daily transaction statistics object. ### data Structure (Object) Date of the transaction summary in YYYY-MM-DD format. Total payment volume count for the specified date. Total number of transactions for the specified date. # Get Transaction Detail Source: https://docs.mayar.id/api-reference-v2/transaction/detail GET /endpointtransactionv2/detail Endpoint to view the details of a transaction based on its ID ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/transactions/a1b2c3d4-e5f6-7890-abcd-ef1234567890' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "extraData": null, "amount": 150000, "createdAt": 1768375011056, "updatedAt": 1768375112056, "status": "paid", "expirationDate": 1768461411056, "invoiceCode": "INV-202607-XXXX", "isCrossSell": false, "orderVariant": null, "paymentMethod": "QRIS", "paymentLink": { "id": "6e9f587d-8a8a-4a4e-b745-28c71d94ed9d", "amount": 150000, "status": "active", "expiredAt": null, "link": "contoh-produk", "type": "payment_link" }, "customer": { "id": "c1a2b3c4-d5e6-4789-a012-3456789abcde", "email": "andi.pratama@example.com", "status": "active", "name": "Andi Pratama", "mobile": "081200000001", "userId": "a0000000-0000-4000-8000-000000000001" }, "givenCustomer": { "id": "c1a2b3c4-d5e6-4789-a012-3456789abcde", "email": "andi.pratama@example.com", "status": "active", "name": "Andi Pratama", "mobile": "081200000001", "userId": "a0000000-0000-4000-8000-000000000001" }, "user": { "id": "a0000000-0000-4000-8000-000000000001", "name": "Toko Online", "email": "merchant@example.com", "account": { "email": "merchant@example.com", "name": "Toko Online", "mobile": "081234567890", "address": "Jl. Merdeka No. 123, Jakarta", "logo": { "url": "https://cdn.mayar.id/logo/example.png" } } } } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/transactions/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/transactions/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters A unique identifier of the transaction. Example: `a1b2c3d4-e5f6-7890-abcd-ef1234567890` ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The transaction detail object. ### data Structure (Object) Unique transaction ID. Additional custom data attached to the transaction, can be null. Total transaction amount. Transaction creation time in epoch format (ms). Transaction last update time in epoch format (ms). Transaction status (e.g. `paid`, `unpaid`, `created`, `expired`). Transaction expiration time in epoch format (ms). Invoice code associated with the transaction (if any). Indicates whether the transaction is a cross-sell. Selected order variant (if any). Payment method used (e.g. `QRIS`, `Virtual Account`, `EWallet`). Payment link information used for this transaction. Customer data that made the purchase. Gift recipient data if the purchase is a gift for someone else. Merchant data (the store owner). ### paymentLink Structure (Object) ID payment link. Payment link price or nominal value. Payment link status (e.g. `active`). Payment link expiration time in epoch format (ms), can be null. Payment link slug/short URL. Payment link type (e.g. `payment_link`, `digital_product`, `webinar`). ### customer Structure (Object) Unique customer ID. Customer's email address. Customer status (e.g. `active`). Customer's name. Customer's mobile phone number. Merchant user ID that owns this customer. ### givenCustomer Structure (Object) Unique customer ID of the gift recipient. Gift recipient's email address. Gift recipient status. Gift recipient's name. Gift recipient's mobile phone number. Merchant user ID that owns this customer. ### user Structure (Object) Unique merchant user ID. Merchant store name. Merchant email address. Merchant account details. ### account Structure (Object) Merchant account email. Merchant account name. Merchant account phone number. Merchant account address. Merchant account logo information. ### logo Structure (Object) URL of the merchant logo image. ### Errors Returned when the API key is missing or invalid: `{ "statusCode": 401, "messages": "Unauthorized" }`. Returned when no transaction matches the provided ID: `{ "statusCode": 404, "messages": "Transaction not found" }`. # Get Paid Transactions Source: https://docs.mayar.id/api-reference-v2/transaction/paidtransaction GET /endpointtransactionv2/paidtransaction Endpoint to get paid data transactions ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/transactions?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "025b0f2a-dbc0-46aa-ae5b-326cc394c6c1", "credit": 1059, "status": "settled", "balanceHistoryType": "digital_product", "paymentMethod": "QRIS", "customerId": "c1a2b3c4-d5e6-4789-a012-3456789abcde", "createdAt": 1768375011056, "paymentLinkTransactionId": "dc37faf8-4908-4994-a6d4-b18dbd68852b", "fee": [ { "id": "360d4d94-29a9-4dcf-8307-16ddfa41b067", "balanceHistoryType": "xendit_fee", "debit": 6 }, { "id": "fd7e4fc3-d293-4553-83dc-6e086bde282b", "balanceHistoryType": "mayar_fee", "debit": 53 } ], "paymentLinkId": "6e9f587d-8a8a-4a4e-b745-28c71d94ed9d", "subscriptionId": null, "xenditTransactionId": "41ac4780-f19d-48b9-87b7-97aa129eb638", "subscription": null, "paymentLinkTransaction": { "id": "dc37faf8-4908-4994-a6d4-b18dbd68852b", "urlParamTrackingData": null, "isAdminFeeBorneByCustomer": true, "isChannelFeeBorneByCustomer": true }, "customeField": null, "customer": { "id": "c1a2b3c4-d5e6-4789-a012-3456789abcde", "name": "Andi Pratama", "email": "andi.pratama@example.com", "mobile": "081200000001" }, "paymentLink": { "id": "6e9f587d-8a8a-4a4e-b745-28c71d94ed9d", "name": "Produk Digital - Ebook" }, "xenditTransaction": { "id": "41ac4780-f19d-48b9-87b7-97aa129eb638", "paymentLinkTransactionId": "dc37faf8-4908-4994-a6d4-b18dbd68852b", "paymentLinkTransaction": { "id": "dc37faf8-4908-4994-a6d4-b18dbd68852b", "couponUsage": null } } }, { "id": "91220b8b-ebdc-4154-b617-492dacc98662", "credit": 0, "status": "settled", "balanceHistoryType": "saas", "paymentMethod": "Gratis", "customerId": "d2b3c4d5-e6f7-4890-b123-456789abcdef", "createdAt": 1768288611042, "paymentLinkTransactionId": "00617429-fc1c-44db-a0ba-e31d3f0edd70", "fee": [], "paymentLinkId": "a6be24df-1335-4682-902c-f0474c1826c0", "subscriptionId": null, "xenditTransactionId": null, "subscription": null, "paymentLinkTransaction": { "id": "00617429-fc1c-44db-a0ba-e31d3f0edd70", "urlParamTrackingData": null, "isAdminFeeBorneByCustomer": null, "isChannelFeeBorneByCustomer": null }, "customeField": null, "customer": { "id": "d2b3c4d5-e6f7-4890-b123-456789abcdef", "name": "Budi Santoso", "email": "budi.santoso@example.com", "mobile": "081200000002" }, "paymentLink": { "id": "a6be24df-1335-4682-902c-f0474c1826c0", "name": "Langganan Aplikasi" }, "xenditTransaction": null } ], "hasMore": true, "nextStartingAfter": "1768288611042" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/transactions?limit=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/transactions?limit=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Filter the list by transaction status (e.g. `settled`). Filter transactions by a specific customer ID. Filter by transaction type (e.g. `digital_product`, `event`, `membership`). Filter transactions by a specific payment link ID. Start of the date range to filter by (Unix timestamp in milliseconds). End of the date range to filter by (Unix timestamp in milliseconds). Comma-separated list of fields to include in each item. Number of items to return per page. Defaults to `10`, with a maximum of `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a Unix timestamp in milliseconds, as a string) to fetch the next page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of transactions displayed. Information on whether there is additional data to be retrieved (true/false). Cursor to pass as `startingAfter` to fetch the next page. `null` when there is no further data. ### data Structure (Array Of Object) Unique ID for the balance transaction history. The amount of credit received from the transaction. The status of the balance transaction (settled = completed/successful). The type of transaction. The payment method. The unique ID of the customer who made the transaction. The transaction creation time in epoch format (ms). The transaction ID associated with the payment link. Additional fees applied to the transaction (empty if none). The ID of the payment link used. The subscription ID (if the transaction is a subscription). The Xendit transaction ID (if using the Xendit gateway). Subscription details (if any). Xendit transaction details (if any). Object that stores transaction details related to the payment link. Additional custom fields that can be filled in by the user (if any). Customer data that makes transactions. Payment link information used for transactions. ### fee Structure (Array Of Object) Unique ID for the fee entry. The type of fee (e.g. `xendit_fee`, `mayar_fee`). The fee amount deducted. ### paymentLinkTransaction Structure (Object) Payment link transaction ID. Tracking URL data (if any). Whether the admin fee is borne by the customer. Whether the channel fee is borne by the customer. ### customer Structure (Object) Unique customer ID. Customer's name. Customer's email address. Customer's mobile phone number. ### paymentLink Structure (Object) ID payment link. Payment link name. # Get Unpaid Transaction Source: https://docs.mayar.id/api-reference-v2/transaction/unpaidtransaction GET /endpointtransactionv2/unpaidtransaction Endpoint for get unpaid data transactions ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/transactions/unpaid?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "e7ff4a1d-407f-4abc-8619-009cfc2b9f01", "createdAt": 1768375011056, "type": "payment_request", "amount": 100000, "status": "active", "urlParamTrackingData": null, "paymentLinkId": "2c3e36dc-918d-40c2-98a2-4be39cf10dbd", "customerId": "c1a2b3c4-d5e6-4789-a012-3456789abcde", "customeField": null, "customer": { "id": "c1a2b3c4-d5e6-4789-a012-3456789abcde", "email": "andi.pratama@example.com", "name": "Andi Pratama", "mobile": "081200000001" }, "paymentLink": { "id": "2c3e36dc-918d-40c2-98a2-4be39cf10dbd", "category": null, "createdAt": 1768375010158, "description": "Penagihan jasa konsultasi", "link": "o17j5jtascy", "name": "Penagihan", "redirectUrl": null, "userId": "a0000000-0000-4000-8000-000000000001", "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, "paymentUrl": "https://yourstore.myr.id/select-channel/e7ff4a1d-407f-4abc-8619-009cfc2b9f01" }, { "id": "745a84b8-886a-436c-a833-3e3c88705a67", "createdAt": 1768288611042, "type": "invoice", "amount": 80000, "status": "active", "urlParamTrackingData": null, "paymentLinkId": "fc5ae4ad-a187-4ab8-ad2f-582033ed1178", "customerId": "d2b3c4d5-e6f7-4890-b123-456789abcdef", "customeField": null, "customer": { "id": "d2b3c4d5-e6f7-4890-b123-456789abcdef", "email": "budi.santoso@example.com", "name": "Budi Santoso", "mobile": "081200000002" }, "paymentLink": { "id": "fc5ae4ad-a187-4ab8-ad2f-582033ed1178", "category": null, "createdAt": 1768288610362, "description": "Tagihan layanan bulanan", "link": "a0me074770a", "name": "Tagihan Layanan", "redirectUrl": null, "userId": "a0000000-0000-4000-8000-000000000001", "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, "paymentUrl": "https://yourstore.myr.id/select-channel/745a84b8-886a-436c-a833-3e3c88705a67" } ], "hasMore": true, "nextStartingAfter": "1768288611042" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/transactions/unpaid?limit=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/transactions/unpaid?limit=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Filter unpaid transactions by status. Accepts `active` (still valid) or `expired`. Filter unpaid transactions by a specific customer ID. Filter unpaid transactions by a specific payment link ID. Start of the date range to filter by (Unix timestamp in milliseconds). End of the date range to filter by (Unix timestamp in milliseconds). Comma-separated list of fields to include in each item. Number of items to return per page. Defaults to `10`, with a maximum of `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a Unix timestamp in milliseconds, as a string) to fetch the next page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of unpaid transactions displayed. Information on whether there is additional data to be retrieved (true/false). Cursor to pass as `startingAfter` to fetch the next page. `null` when there is no further data. ### data Structure (Array Of Object) Unique ID for the transaction. The transaction creation time in epoch format (ms). The type of transaction. Payment amount. Request status (active = still valid). Data tracking via additional URL parameters (if any). The ID of the payment link used. The unique ID of the customer who made the transaction. Additional custom fields that can be filled in by the user (if any). Customer data that makes transactions. Payment link information used for transactions. Unique URL to pay for this request. ### customer Structure (Object) Unique customer ID. Customer's email address. Customer's name. Customer's mobile phone number. ### paymentLink Structure (Object) ID payment link. Product category, can be null if there is no category. Product creation time in epoch milliseconds format. Product description. Product slug/short URL. Product name. Redirect destination URL, can be null. User ID of the payment link owner. ID cover image, can be null. ID for multiple image group. Cover image data, can be null. List of additional images for the product. # Get History Source: https://docs.mayar.id/api-reference-v2/webhook/history GET /endpointwebhookv2/history Endpoint to get data webhook history This `/history` endpoint only returns **old** webhook history. For the current and up-to-date webhook history, please use the new endpoint: `GET /hl/v2/webhooks/new-history` (see [Webhook New History](/api-reference-v2/webhook/newhistory)). ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/webhooks/history?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "a1b2c3d4-e5f6-4789-a012-3456789abcde", "createdAt": 1745919352229, "nextDelivery": null, "paymentLinkId": "7c9d2e1f-3a4b-4c5d-8e6f-1a2b3c4d5e6f", "payload": "{\"event\":\"payment.received\",\"data\":{\"id\":\"c3d4e5f6-a7b8-4901-c234-56789abcdef0\",\"transactionId\":\"c3d4e5f6-a7b8-4901-c234-56789abcdef0\",\"status\":\"SUCCESS\",\"transactionStatus\":\"paid\",\"createdAt\":\"2025-04-29T09:35:43.635Z\",\"updatedAt\":\"2025-04-29T09:35:43.635Z\",\"merchantId\":\"348e083d-315a-4e5c-96b1-5a2a98c48413\",\"merchantName\":\"Toko Mayar Demo\",\"merchantEmail\":\"merchant@example.com\",\"customerName\":\"Budi Santoso\",\"customerEmail\":\"budi.santoso@example.com\",\"customerMobile\":\"081234567890\",\"amount\":150000,\"isAdminFeeBorneByCustomer\":null,\"isChannelFeeBorneByCustomer\":null,\"productId\":\"7c9d2e1f-3a4b-4c5d-8e6f-1a2b3c4d5e6f\",\"productName\":\"Buku Digital Premium\",\"productType\":\"ebook\",\"pixelFbp\":null,\"pixelFbc\":null,\"qty\":1,\"couponUsed\":null,\"paymentMethod\":null}}", "status": "SUCCESS", "type": "payment.received", "updatedAt": 1745919352229, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "paymentLinkTransactionId": "c3d4e5f6-a7b8-4901-c234-56789abcdef0", "urlDestination": "https://webhook.example.com", "responsePayload": null, "source": "AUTOMATIC" }, { "id": "b2c3d4e5-f6a7-4890-b123-456789abcdef", "createdAt": 1745569215626, "nextDelivery": null, "paymentLinkId": "8d0e3f2a-4b5c-4d6e-9f7a-2b3c4d5e6f7a", "payload": "{\"event\":\"payment.reminder\",\"data\":{\"id\":\"d4e5f6a7-b8c9-4012-d345-6789abcdef01\",\"transactionId\":\"d4e5f6a7-b8c9-4012-d345-6789abcdef01\",\"status\":\"SUCCESS\",\"transactionStatus\":\"created\",\"createdAt\":\"2025-04-25T07:58:27.539Z\",\"updatedAt\":\"2025-04-25T08:00:21.672Z\",\"merchantId\":\"348e083d-315a-4e5c-96b1-5a2a98c48413\",\"merchantEmail\":\"merchant@example.com\",\"customerName\":\"Siti Aminah\",\"customerEmail\":\"siti.aminah@example.com\",\"customerMobile\":\"081298765432\",\"amount\":107135,\"isAdminFeeBorneByCustomer\":true,\"isChannelFeeBorneByCustomer\":true,\"productId\":\"8d0e3f2a-4b5c-4d6e-9f7a-2b3c4d5e6f7a\",\"productName\":\"Kelas Online Dasar\",\"productType\":\"digital_product\",\"pixelFbp\":null,\"pixelFbc\":null,\"qty\":1,\"couponUsed\":null,\"paymentMethod\":\"qris\",\"paymentUrl\":\"https://yourstore.myr.id/select-channel/d4e5f6a7-b8c9-4012-d345-6789abcdef01?webhook=true\"}}", "status": "SUCCESS", "type": "payment.reminder", "updatedAt": 1745569215626, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "paymentLinkTransactionId": "d4e5f6a7-b8c9-4012-d345-6789abcdef01", "urlDestination": "https://webhook.example.com", "responsePayload": null, "source": "AUTOMATIC" } ], "hasMore": true, "nextStartingAfter": "1745569215626" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/webhooks/history?limit=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/webhooks/history?limit=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Number of records to return per page. Default `10`, maximum `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a unix-millisecond timestamp string) to fetch the next page. Filter by delivery status (example: `"SUCCESS"`). Filter by webhook event type (example: `"payment.received"`, `"payment.reminder"`). Filter by the destination URL the webhook was delivered to. Start of the creation-date range filter. End of the creation-date range filter. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of webhook delivery records. Information on whether there is additional data to be retrieved (true/false). Cursor for the next page (unix-millisecond timestamp string), or `null` when there is no further data. Pass it back as the `startingAfter` query parameter. ### data Structure (Array Of Object) Webhook delivery record ID. Creation time of the webhook delivery log. Timestamp of the next delivery attempt (if any). Associated payment link ID. Original webhook payload sent (contains event + transaction data). This is a JSON-encoded string; its inner structure varies by event `type`. Delivery status (example: `"SUCCESS"`). Webhook event type (example: `"payment.received"`, `"payment.reminder"`). Last update timestamp. User ID who owns this webhook. Associated transaction ID. Destination endpoint where the webhook is delivered. Response returned from the destination endpoint. Indicates whether the webhook was sent automatically or manually (example: `"AUTOMATIC"`). # Get New History Source: https://docs.mayar.id/api-reference-v2/webhook/newhistory GET /endpointwebhookv2/newhistory Endpoint to get data from the new webhook history store ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v2/webhooks/new-history?limit=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": [ { "id": "e5f6a7b8-c9d0-4123-e456-789abcdef012", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "createdAt": "2026-06-27T17:00:36.126Z", "updatedAt": null, "nextDelivery": "2026-06-27T17:00:36.126Z", "payload": "{\"event\":\"membership.memberExpired\",\"data\":{\"merchantId\":\"348e083d-315a-4e5c-96b1-5a2a98c48413\",\"merchantName\":\"Toko Mayar Demo\",\"status\":\"INACTIVE\",\"memberId\":\"MBR8X2QK\",\"customerId\":\"a1b2c3d4-e5f6-4789-a012-3456789abcde\",\"customerName\":\"Budi Santoso\",\"customerEmail\":\"budi.santoso@example.com\",\"customerMobile\":\"081234567890\"}}", "paymentLinkId": null, "paymentLinkTransactionId": null, "responsePayload": null, "source": "AUTOMATIC", "status": "SUCCESS", "type": "membership.memberExpired", "Webhooktype": null, "urlDestination": "https://webhook.example.com" }, { "id": "f6a7b8c9-d0e1-4234-f567-89abcdef0123", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "createdAt": "2026-06-19T10:00:20.185Z", "updatedAt": null, "nextDelivery": "2026-06-19T10:00:20.185Z", "payload": "{\"event\":\"payment.reminder\",\"data\":{\"id\":\"c3d4e5f6-a7b8-4901-c234-56789abcdef0\",\"transactionId\":\"c3d4e5f6-a7b8-4901-c234-56789abcdef0\",\"status\":\"SUCCESS\",\"transactionStatus\":\"created\",\"createdAt\":\"2026-06-19T09:31:33.835Z\",\"updatedAt\":\"2026-06-19T09:35:26.588Z\",\"merchantId\":\"348e083d-315a-4e5c-96b1-5a2a98c48413\",\"merchantEmail\":\"merchant@example.com\",\"customerId\":\"a1b2c3d4-e5f6-4789-a012-3456789abcde\",\"customerName\":\"Budi Santoso\",\"customerEmail\":\"budi.santoso@example.com\",\"customerMobile\":\"081234567890\",\"amount\":10000,\"paymentLinkAmount\":10000,\"isAdminFeeBorneByCustomer\":null,\"isChannelFeeBorneByCustomer\":null,\"productId\":\"7c9d2e1f-3a4b-4c5d-8e6f-1a2b3c4d5e6f\",\"productName\":\"Permintaan Pembayaran\",\"productType\":\"payment_request\",\"pixelFbp\":null,\"pixelFbc\":null,\"qty\":1,\"couponUsed\":null,\"paymentMethod\":null,\"paymentUrl\":\"https://yourstore.myr.id/select-channel/c3d4e5f6-a7b8-4901-c234-56789abcdef0?webhook=true\"}}", "paymentLinkId": "7c9d2e1f-3a4b-4c5d-8e6f-1a2b3c4d5e6f", "paymentLinkTransactionId": "c3d4e5f6-a7b8-4901-c234-56789abcdef0", "responsePayload": null, "source": "AUTOMATIC", "status": "SUCCESS", "type": "payment.reminder", "Webhooktype": null, "urlDestination": "https://webhook.example.com" } ], "hasMore": true, "nextStartingAfter": "1781863218261" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/webhooks/new-history?limit=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/webhooks/new-history?limit=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Number of records to return per page. Default `10`, maximum `50`. Cursor for forward pagination. Pass the `nextStartingAfter` value from the previous response (a unix-millisecond timestamp string) to fetch the next page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of webhook delivery records. Information on whether there is additional data to be retrieved (true/false). Cursor for the next page (unix-millisecond timestamp string), or `null` when there is no further data. Pass it back as the `startingAfter` query parameter. ### data Structure (Array Of Object) Webhook delivery record ID. User ID who owns this webhook. Creation time of the webhook delivery log (ISO 8601 date string). Last update timestamp (ISO 8601 date string), or `null`. Timestamp of the next delivery attempt (ISO 8601 date string), if any. Original webhook payload sent (contains event + transaction data). This is a JSON-encoded string; its inner structure varies by event `type`. Associated payment link ID (may be `null` for non-transaction events). Associated transaction ID (may be `null` for non-transaction events). Response returned from the destination endpoint. Indicates whether the webhook was sent automatically or manually (example: `"AUTOMATIC"`). Delivery status (example: `"SUCCESS"`). Webhook event type (example: `"membership.memberExpired"`, `"payment.reminder"`). Optional webhook classification, often `null`. Destination endpoint where the webhook is delivered. # Register URL Hook Source: https://docs.mayar.id/api-reference-v2/webhook/registerurlhook POST /endpointwebhookv2/registerurlhook Endpoint to register your URL Hook for Webhook ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/webhooks/update' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '{ "urlHook": "https://webhook.example.com" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/webhooks/update ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/webhooks/update ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body URL for webhook callback. Must be a valid URL. Optional webhook configuration object. When provided, it is stored alongside the URL hook. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. ## Errors Returned when `urlHook` is missing: `{ "statusCode": 400, "messages": "urlHook is required" }`. Returned when `urlHook` is not a valid URL: `{ "statusCode": 400, "messages": "urlHook is not a valid URL" }`. # Retry History Source: https://docs.mayar.id/api-reference-v2/webhook/retryhistory POST /endpointwebhookv2/retryhistory Endpoint retry your webhook history data ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/webhooks/retry' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '{ "webhookHistoryId": "a1b2c3d4-e5f6-4789-a012-3456789abcde" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/webhooks/retry ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/webhooks/retry ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Unique ID for the webhook delivery history log to retry. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. ## Errors Returned when no webhook URL is registered yet: `{ "statusCode": 400, "messages": "Url tidak ditemukan. Silahkan register url webhook anda terlebih dahulu." }`. Returned when the supplied `webhookHistoryId` does not match any record: `{ "statusCode": 404, "messages": "Webhook history not found" }`. # Test URL Hook Source: https://docs.mayar.id/api-reference-v2/webhook/testurlhook POST /endpointwebhookv2/testurlhook Endpoint to testing your URL Hook for Webhook ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/webhooks/test' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '{ "urlHook": "https://webhook.example.com" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/webhooks/test ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/webhooks/test ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body URL for webhook callback. Must be a valid URL. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. ## Errors Returned when `urlHook` is missing: `{ "statusCode": 400, "messages": "Url tidak ditemukan. Silahkan masukkan url webhook anda." }`. Returned when `urlHook` is not a valid URL: `{ "statusCode": 400, "messages": "Url tidak valid. Silahkan masukkan url webhook yang valid." }`. # Create Webinar Source: https://docs.mayar.id/api-reference-v2/webinar/create POST /endpointwebinarv2/create Endpoint to create a webinar product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/products/webinar/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "name": "Webinar Belajar Crypto Untuk Pemula", "description": "Belajar dulu", "amount": 100000, "crossoutPrice": 199000, "eventUrl": "https://zoom.us/j/123456", "notes": "early-bird", "terms": "Tidak ada refund setelah pembelian", "redirectUrl": "https://example.com/webinar-thanks", "paymentType": "paid", "startAt": "2026-06-01T09:00:00.000Z", "eventStartAt": "2026-06-10T09:00:00.000Z", "eventEndAt": "2026-06-10T12:00:00.000Z", "expiredAt": "2026-06-15T12:00:00.000Z", "limit": 100 }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "3f4fc3fd-10dc-4a97-b54c-7632881858cb", "link": "https://testingmayar.myr.id/pl/Webinar-Belajar-Crypto-Untuk-Pemula" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/webinar/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/webinar/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Webinar product name. Webinar product description. Webinar price amount. Crossed-out price displayed as the original price. Webinar URL, such as Zoom or meeting link. Additional notes for the webinar. Terms and conditions for the webinar purchase. URL where the customer will be redirected after completing payment. Payment type for the webinar. Sales start date in ISO 8601 format. Webinar start date in ISO 8601 format. Webinar end date in ISO 8601 format. Webinar product expiration date in ISO 8601 format. Maximum participant or purchase limit. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The created webinar product data. ### data Structure (Object) Unique identifier of the webinar product. Public URL of the created webinar product. ### Errors Returned when the request body fails validation: `{ "statusCode": 400, "messages": "Validation Error" }`. Returned when a product with the same identifier already exists: `{ "statusCode": 409, "messages": "already exist" }`. # Edit Webinar Source: https://docs.mayar.id/api-reference-v2/webinar/edit POST /endpointwebinarv2/edit Endpoint used to edit a webinar product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v2/products/webinar/3f4fc3fd-10dc-4a97-b54c-7632881858cb/update' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "id": "3f4fc3fd-10dc-4a97-b54c-7632881858cb", "name": "Webinar Belajar Crypto Untuk Pemula Batch 2", "description": "Belajar dulu", "amount": 120000, "eventUrl": "https://zoom.us/j/123456", "redirectUrl": "https://example.com/webinar-thanks", "expiredAt": "2026-06-15T12:00:00.000Z" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "3f4fc3fd-10dc-4a97-b54c-7632881858cb", "link": "https://testingmayar.myr.id/pl/Webinar-Belajar-Crypto-Untuk-Pemula" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v2/products/webinar/{id}/update ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v2/products/webinar/{id}/update ``` The product to edit is identified by the `id` field in the request body, not by the `{id}` segment in the URL path. ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Unique identifier of the webinar product to edit. This is read from the request body. Webinar product name. Webinar product description. Webinar price amount. Crossed-out price displayed as the original price. Webinar URL, such as Zoom or meeting link. URL where the customer will be redirected after completing payment. Webinar product expiration date in ISO 8601 format. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The updated webinar product data. ### data Structure (Object) Unique identifier of the webinar product. Public URL of the updated webinar product. ### Errors When the request body fails validation, this endpoint still responds with HTTP `200` but sets `messages` to `failed` and returns the validator errors in `data`: `{ "statusCode": 200, "messages": "failed", "data": { ... } }`. Returned when the product does not belong to the authenticated account: `{ "statusCode": 401, "messages": "Unauthorized" }`. Returned when the product does not exist: `{ "statusCode": 404, "messages": "Product not found" }`. # Add Customer Credit Source: https://docs.mayar.id/api-reference/creditbasedproduct/addcustomercredit POST /endpointcreditbasedproduct/ This endpoint is used to add credit to a customer’s on particular credit usage product. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/credit/v1/credit/customer/add-credit' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '{ "customerId": "9de4b4b4-525c-4ee0-ac9c-b29c3e10fe55", "productId": "40f26fbe-f4d8-4693-975f-e6d105d291e6", "amount": 100 }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "success", "data": { "customerId": "faa4ee60-cf45-4043-b964-303890713bb9", "productId": "40f26fbe-f4d8-4693-975f-e6d105d291e6", "amount": 100, "customerBalance": 911090 } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/credit/v1/credit/customer/add-credit ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/credit/v1/credit/customer/add-credit ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The unique identifier of the member whose credit will be spent. The unique identifier of the product associated with the credit. The amount of credit to deduct (positive integer). ## Response Successful Response Status code form API. Status message that describes the status code. The unique identifier of the customer to whom the credit be added. The unique identifier of the product associated with the credit added. The amount of credit to add (positive integer). The amount of credit balance after adding credit. # Get Customer Balance Source: https://docs.mayar.id/api-reference/creditbasedproduct/customerbalance GET /endpointcreditbasedproduct/ This is endpoint is used to get a customer credit balance. ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/credit/v1/credit/customer/balance?customerId=9de4b4b4-525c-4ee0-ac9c-b29c3e10fe55&productId=2b649982-411e-42e0-9b9c-0a17f9a55d44' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "success", "customerBalance": 30001, "customerMainBalance": 29801, "customerBalanceAddon": 500 } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/credit/v1/credit/customer/balance?customerId={customerID} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/credit/v1/credit/customer/balance?customerId{customerID} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters The unique identifier of the product associated with the credit balance. The unique identifier of the customer whose credit balance is being queried balance. ## Response Successful Response Indicates the status of the activation process. Additional messages related to the activation process. Number of total credit balance. Number of total credit balance with `MAIN` type. Number of total credit balance with `ADD_ON` type. # Generate Immutable Checkout Link Source: https://docs.mayar.id/api-reference/creditbasedproduct/generateimmutablecheckoutlink POST /endpointcreditbasedproduct/ This endpoint is used to generate immutable checkout link for membership credit product. ```bash Request Example theme={null} curl --location 'https://api.mayar.id/credit/v1/credit/generate/immutable/checkout' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "productId": "0e787345-9aaf-4b72-aa00-1174be6b52b1", "creditAmount": 1000, //optional "customerInfo": { "name" : "memberTambahan", "email" : "tambahan@gg.com", "mobile" : "08777777799" } }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "success", "creditUsageImmutableCheckoutUrl": "https://donasisekutscom.myr.id/pl/test-product-credit?immutable=eyJuYW1lIjoiam9obiBkb2UiLCJlbWFpbCI6ImpvaG5kb2U1QGdtYWlsLmNvbSIsIm1vYmlsZSI6IjA4Nzc3Nzc3Nzc3IiwiY3JlZGl0QW1vdW50IjoyMDAwMH0=.03de9bf29c5861d950d13364c2c23d62675cd2f03cd27a5b7c682f2c43d25b4e", "paymentLinkUrl": "https://donasisekutscom.myr.id/pl/test-product-credit" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/credit/v1/credit/generate/immutable/checkout ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/credit/v1/credit/generate/immutable/checkout ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The unique identifier of the product associated. The credit amount for the checkout. Only applicable for credit usage products. Object containing customer details. Full name of the customer. Email address of the customer. Mobile phone number of the customer. ## Response Successful Response Indicates the HTTP status of the request (e.g. `200` for success). A descriptive message about the outcome of the request. A unique immutable checkout URL containing user identity fields and creditAmount. The general (mutable) payment link URL. # Get Paginate Customer Credit History Source: https://docs.mayar.id/api-reference/creditbasedproduct/paginatecustomercredithistory GET /endpointcreditbasedproduct/ this is endpoint is used to get a customer credit transaction history in a pagination form of credit membership product. ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/credit/v1/credit/customer/paginate-credit-history/PQVS4KGY?productId=40f26fbe-f4d8-4693-975f-e6d105d291e6&membershipTierId=261acae0-d6ae-4d8c-adf5-6fb8c2361514&page=1&limit=5' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "success", "total": 3, "page": 1, "limit": 10, "totalPages": 1, "data": [ { "id": "6970b4bcdfcfcfbbd8d7b617", "createdAt": "2026-01-21T11:13:00.044Z", "credit": 0, "debit": 50, "productId": "10291a3d-c53f-426f-9987-f879b4b87c64", "status": "ACTIVE", "customerId": "210e5193-7d66-4345-a5c7-07fe7552f2f7", "merchantId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "expiredAt": null, "walletType": "ADD_ON", "type": "CREDIT_USAGE" }, { "id": "6970b49fdfcfcfbbd8d7b616", "createdAt": "2026-01-21T11:12:31.325Z", "credit": 200, "debit": 0, "productId": "10291a3d-c53f-426f-9987-f879b4b87c64", "status": "ACTIVE", "customerId": "210e5193-7d66-4345-a5c7-07fe7552f2f7", "merchantId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "expiredAt": null, "walletType": "ADD_ON", "type": "MERCHANT_TOPUP" }, { "id": "6970b416dfcfcfbbd8d7b612", "createdAt": "2026-01-21T11:10:14.827Z", "credit": 3000, "debit": 0, "productId": "10291a3d-c53f-426f-9987-f879b4b87c64", "status": "ACTIVE", "customerId": "210e5193-7d66-4345-a5c7-07fe7552f2f7", "merchantId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "expiredAt": null, "walletType": "ADD_ON", "type": "TRIAL_TOPUP" } ] } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/credit/v1/credit/customer/paginate-credit-history/?productId={productId} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/credit/v1/credit/customer/paginate-credit-history/?productId={productId} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters The unique identifier of the customer whose credit balance is being queried balance. ## Query Parameters The page number for pagination. The unique identifier of the membership tier associated with the credit balance. The field name used to sort results. The order of sorting. Accepts `"asc"` or `"desc"`. The start date filter for the query range. The end date filter for the query range. The type of wallet to filter credit history (e.g., `"MEMBERSHIP"`, `"ADD_ON"`). The transaction type filter (e.g., `"TOPUP"`, `"MERCHANT_TOPUP"` , `"TRIAL_TOPUP"`, `"EXPIRE_VOID"` , `"CREDIT_USAGE"`). ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Indicates the total data. Indicates the current page. Indicates the current limit (page size). Indicates the total page. Result list of requested data. # Regist New Customer Source: https://docs.mayar.id/api-reference/creditbasedproduct/registernewcustomer POST /endpointcreditbasedproduct/ This endpoint is used to register new customers into the membership credit product. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/credit/v1/credit/credit-usage/customer/regist' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "productId": "43eadce2-bc52-4e38-a832-93fb835f2a69", "trialCredit": 300, //optional "customerInfo": { "name" : "john doe", "email" : "johndoe@gmail.com", "mobile" : "08777777777" } }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "success", "data": { "customerId": "bcf56452-ec21-4791-aca2-7a41b033e9d2", "paymentLinkId": "43eadce2-bc52-4e38-a832-93fb835f2a69" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/credit/v1/credit/credit-usage/customer/regist ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/credit/v1/credit/credit-usage/customer/regist ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The unique identifier of the product associated with the credit. The trial credit amount to grant upon registration. Object containing customer details. ### customerInfo Structure (Array Of Object) Full name of the customer. Email address of the customer. Mobile phone number of the customer. ## Response Successful Response ### Main Structure (Root) Indicates the HTTP status of the request (e.g. `200` for success). A descriptive message about the outcome of the request. Unique identifier of the related customer record. Unique identifier of the credit usage product aka productId. # Spend Customer Credit Source: https://docs.mayar.id/api-reference/creditbasedproduct/spendcustomercredit POST /endpointcreditbasedproduct/ This endpoint is used to spend a specified amount of credit from a member’s account on particular membership tier on membership credit product. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/credit/v1/credit/customer/spend' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '{ "customerId": "9de4b4b4-525c-4ee0-ac9c-b29c3e10fe55", "productId": "40f26fbe-f4d8-4693-975f-e6d105d291e6", "amount": 10 }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "Successfully spent 10. MAIN: 10, ADD_ON: 0" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/credit/v1/credit/customer/spend ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/credit/v1/credit/customer/spend ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The unique identifier of the member whose credit will be spent. The unique identifier of the product associated with the credit. The amount of credit to deduct (positive integer). ## Response Successful Response Status code form API. Status message that describes the status code. # Create Customer Source: https://docs.mayar.id/api-reference/customer/create POST /endpointcustomer/create Endpoint used to create customer ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/customer/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "name": "Raihan Nur Azmii", "email": "mraihanna19@gmail.com", "mobile": "089912345678" } ' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "name": "Raihan Nur Azmii", "email": "mraihanna19@gmail.com", "mobile": "089912345678", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "customerId": "b0356d4c-516a-403e-abfe-b144da7068b4" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/customer/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/customer/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Customer Name. Customer email. Customer telephone number. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The main data returned (detailed customer/user information). ### data Structure (Array Of Object) Customer name. Customer email address. Customer phone number. Unique ID for the user (the account owner). Unique ID for the customer associated with the user. # Create Magic Link Source: https://docs.mayar.id/api-reference/customer/createmagiclink POST /endpointcustomer/createmagiclink Endpoint to create magic link and send to customer email for their login in our customer portal ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/customer/login/portal' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "email": "mraihannanewpatch@gmail.com" } ' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "url": "Sudah kami kirim ke email anda" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/customer/login/portal ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/customer/login/portal ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Customer email. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The main data returned (detailed customer/user information). ### data Structure (Array Of Object) Information about the magic link request that was made. # Get Customer Source: https://docs.mayar.id/api-reference/customer/getdetail GET /endpointcustomer/getdetail Endpoint where you can get your customer details ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/customer?page=1&pageSize=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "hasMore": true, "pageCount": 98, "pageSize": 12, "page": 1, "totalCustomer": 1176, "data": [ { "id": "0072cf8e-a8f1-4ce9-9dcd-3683f085ebf1", "createdAt": 1735787039376, "email": "ghasyiyahps@gmail.com", "mobile": "6281296450946", "name": "Kirana", "status": "active", "updatedAt": 1735787039377, "userId": "4dba4996-7d74-483e-99fe-b52c60368cb5" }, { "id": "0088e7bd-2f80-4cd8-ae7d-e5b01694669d", "createdAt": 1735787039363, "email": "gusty.saram@gmail.com", "mobile": "628114618877", "name": "Gusty Saram", "status": "active", "updatedAt": 1735787039363, "userId": "4dba4996-7d74-483e-99fe-b52c60368cb5" }, { "id": "00ae7695-1739-4bc3-a04f-16aa4b85ee1c", "createdAt": 1735787039379, "email": "mettakariyani@gmail.com", "mobile": "6289693468304", "name": "Metta", "status": "active", "updatedAt": 1735787039379, "userId": "4dba4996-7d74-483e-99fe-b52c60368cb5" }, { "id": "00bd27a6-8aac-4cac-bf3f-bf59db397730", "createdAt": 1730951705156, "email": "embuhsihombing.123@gmail.com", "mobile": "6285797522261", "name": "embuhsihombing", "status": "active", "updatedAt": 1730951705156, "userId": "4dba4996-7d74-483e-99fe-b52c60368cb5" }, { "id": "00cda35d-8a9a-4a95-93d8-788fdb6461b4", "createdAt": 1735787039347, "email": "arnoldardian70@gmail.com", "mobile": "6281329269290", "name": "Arnoldus Ardiandono", "status": "active", "updatedAt": 1735787039347, "userId": "4dba4996-7d74-483e-99fe-b52c60368cb5" }, { "id": "00fb4573-56a1-4133-9cec-aa87cc137abb", "createdAt": 1735787039394, "email": "rio.aliwarga1@gmail.com", "mobile": "6281388251387", "name": "Rio Handoko", "status": "active", "updatedAt": 1735787039394, "userId": "4dba4996-7d74-483e-99fe-b52c60368cb5" }, { "id": "00fd76f0-db12-4d53-939d-8c68d767bd76", "createdAt": 1735787039365, "email": "kddianda25@gmail.com", "mobile": "6285159103357", "name": "I kadek dianda saputra", "status": "active", "updatedAt": 1735787039365, "userId": "4dba4996-7d74-483e-99fe-b52c60368cb5" }, { "id": "010e087c-4bc3-4aab-9eac-ab4001533a6d", "createdAt": 1736218312836, "email": "caca.bispes.1dddddddd567.87@gmail.com", "mobile": "6285156369011", "name": "caca. 90o bispes", "status": "active", "updatedAt": 1736218312836, "userId": "4dba4996-7d74-483e-99fe-b52c60368cb5" }, { "id": "012b8d85-2a79-48ed-b5a9-d50f8503413d", "createdAt": 1735787039380, "email": "mochamadwirasanjaya@gmail.com", "mobile": "6281353621080", "name": "Mochamad Wira Sanjaya ", "status": "active", "updatedAt": 1735787039380, "userId": "4dba4996-7d74-483e-99fe-b52c60368cb5" }, { "id": "01382010-1a88-4f7b-800b-54efb35179a4", "createdAt": 1735787039371, "email": "hizkiajun@gmail.com", "mobile": "6282299990094", "name": "Juan", "status": "active", "updatedAt": 1735787039371, "userId": "4dba4996-7d74-483e-99fe-b52c60368cb5" }, { "id": "01533b70-25bf-4fa5-97f5-8c30fd9fe8d4", "createdAt": 1735787039375, "email": "ladyrajagukguk@gmail.com", "mobile": "6285242715097", "name": "Kezia Lady", "status": "active", "updatedAt": 1735787039375, "userId": "4dba4996-7d74-483e-99fe-b52c60368cb5" }, { "id": "01656fe8-2715-41ea-ba73-6a6ec1a18119", "createdAt": 1735787039401, "email": "th_movita@yahoo.com", "mobile": "6281310388140", "name": "Theresia", "status": "active", "updatedAt": 1735787039401, "userId": "4dba4996-7d74-483e-99fe-b52c60368cb5" } ] } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/customer?page=1&pageSize=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/customer?page=1&pageSize=10 ``` ### Authorizations Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Determine which page. How much data is displayed on the page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Information on whether there is additional data to be retrieved (true/false). Total number of data pages. Number of items per page. The page currently displayed. Total number of customers. List of products displayed. ### data Structure (Array Of Object) Unique customer ID. The time the data was created. Customer's email address. Customer's phone number. Customer's name. Customer status, e.g., "active", "inactive". The last time the data was updated. The user ID of the owner of this data/customer. # Search Customer By Email Source: https://docs.mayar.id/api-reference/customer/searchcustomerbyemail GET /endpointcustomer/searchcustomerbyemail Endpoint to retrieve customer details by email ```bash Request Example theme={null} curl --request GET `https://api.mayar.id/hl/v1/customer/detail?email=testingmayar@gmail.com` \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "22eb6224-c20a-4bc2-9b99-13b21e7048c6", "createdAt": 1730782544663, "email": "testingmayar@gmail.com", "mobile": "08112280103422", "name": "Test Mayar", "status": "active", "updatedAt": 1730782544663, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "user": { "id": "348e083d-315a-4e5c-96b1-5a2a98c48413", "name": "GlazerOut", "urlHook": "https://qtwxxqfulqrpuerjmtya.supabase.co/functions/v1/payment-webhook", "email": "aldodwrzy@gmail.com", "paymeLink": "testingmayar", "isSelfDomain": false, "accountId": "be305ea4-5fe1-4bb9-a5c8-6bc1d0bfd279", "account": { "id": "be305ea4-5fe1-4bb9-a5c8-6bc1d0bfd279", "name": "Mayar Team", "imageId": "efeecb5d-acac-45f8-8249-396f8a5b6a95", "logo": { "id": "efeecb5d-acac-45f8-8249-396f8a5b6a95", "fileType": "jpeg", "url": "https://media.mayar.id/images/efeecb5d-acac-45f8-8249-396f8a5b6a95.jpeg" } } } } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/customer/detail?email={inputyourcustomeremail} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/customer/detail?email={inputyourcustomeremail} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-Api-Key-Here` ## Query Parameters Customer email address used to search customer details. ## Response Successful Response ## Main Structure (Root) Status code returned by the API. Status message that describes the API response. Customer detail object. ### data Structure (Object) Unique customer ID. Unix timestamp in milliseconds indicating when the customer was created. Customer email address. Customer phone number. Customer full name. Current customer status. Unix timestamp in milliseconds indicating when the customer was last updated. Unique user ID associated with the customer. User information object associated with the customer. Unique user ID. User full name. Webhook URL configured by the user. User email address. User payment link identifier. Indicates whether the user uses a custom domain. Unique account ID associated with the user. Account information object. Unique account ID. Account name. Unique image ID associated with the account logo. Account logo object. Unique logo image ID. Logo file type. Public URL of the account logo image. # Update Customer Email Source: https://docs.mayar.id/api-reference/customer/update POST /endpointcustomer/update Endpoint is used to update customer email. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/customer/update' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "fromEmail": "mraihanna19@gmail.com", "toEmail": "mraihannanewpatch@gmail.com" } ' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "sukses" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/customer/update ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/customer/update ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The email of the customer to be updated from. The new email of the customer. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. # Create Digital Product Source: https://docs.mayar.id/api-reference/digitalproduct/create POST /endpointdigitalproduct/create Endpoint used to create digital product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/product/digital-product/create'\ --header 'Authorization: Bearer Paste-Your-API-Key-Here\ --data-raw'{ "name": "E-Book Panduan Bisnis Buat Pemula", "description": "Panduan lengkap memulai bisnis online", "amount": 75000, "crossoutPrice": 150000, "redirectUrl": "https://example.com/ebook-download", "notes": "diskon-50", "expiredAt": "2026-06-15T12:00:00.000Z", "limit": 200, "tax": 7500 }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "6894b1b2-f303-423b-a6b6-93e230e1d393", "link": "https://testingmayar.myr.id/catalog/E-Book-Panduan-Bisnis-Buat-Pemula/" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/product/digital-product/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/product/digital-product/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Digital product name. Digital product description. Digital product price amount. Crossed-out price displayed as the original price. URL where the customer will be redirected after completing payment. Additional notes for the digital product. Product expiration date in ISO 8601 format. Maximum purchase limit. Tax amount applied to the product. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The created digital product data. ### data Structure (Array of Object) Unique identifier of the digital product. Public URL of the created digital product. # Edit Digital Product Source: https://docs.mayar.id/api-reference/digitalproduct/edit POST /endpointdigitalproduct/edit Endpoint used to edit digital product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/product/digital-product/edit'\ --header 'Authorization: Bearer Paste Your-API-Key-Here'\ --data-raw '{ "id": "6894b1b2-f303-423b-a6b6-93e230e1d393", "name": "E-Book Panduan Bisnis Untuk Pemula Editan", "description": "Panduan lengkap memulai bisnis online", "amount": 75000, "crossoutPrice": 150000, "redirectUrl": "https://example.com/ebook-download", "notes": "diskon-50", "expiredAt": "2026-06-15T12:00:00.000Z", "limit": 200, "tax": 7500 }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "6894b1b2-f303-423b-a6b6-93e230e1d393", "link": "https://testingmayar.myr.id/catalog/E-Book-Panduan-Bisnis-Buat-Pemula" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/product/digital-product/edit ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/product/digital-product/edit ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Unique identifier of the digital product. Digital product name. Digital product description. Digital product price amount. Crossed-out price displayed as the original price. URL where the customer will be redirected after completing payment. Additional notes for the digital product. Product expiration date in ISO 8601 format. Maximum purchase limit. Tax amount applied to the product. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The updated digital product data. ### data Structure (Array of Object) Unique identifier of the digital product. Public URL of the updated digital product. # Create Discount with Coupon Source: https://docs.mayar.id/api-reference/discount/create POST /endpointdiscount/create Endpoint used to create discount coupons ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/coupon/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "expiredAt": "2030-01-01T09:06:14.933Z", "name": "Diskon Murmer", "discount": { "discountType": "monetary", "eligibleCustomerType": "all", "minimumPurchase": 500000, "value": 100000, "totalCoupons": 100 }, "coupon": { "code": "haribaik", "type": "reusable" }, "products": [] } ' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "Success", "data": { "id": "c9aa143a-53f9-44e7-a9c6-83229ad7199b", "createdAt": 1755665561029, "expiredAt": 1893488774933, "discountType": "monetary", "discountProductType": "all", "eligibleCustomerType": "all", "name": "Diskon Murmer", "minimumPurchase": 500000, "isLifeTime": null, "totalCoupons": 100, "value": 100000, "coupons": [ { "code": "haribaik", "type": "reusable", "expiredAt": "2030-01-01T09:06:14.933Z", "isActive": true } ], "productDiscount": [] } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/coupon/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/coupon/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Discount coupon expiration date. Discount name. Details of discount conditions. ### discount Structure (Array Of Object) Discount type; * monetary * percentage Target customers who can use discount coupons. * all Minimum purchase to be able to use the discount. Discount amount Available coupon quota. Coupon code details. ### coupon Structure (Array Of Object) Discount coupon code. Coupon type; * reusable * onetime List of eligible products. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The main data returned (request payment details). ### data Structure (Array Of Object) Discount ID. Creation time (timestamp in ms). Expiration time (timestamp in ms). Discount type. Discount product scope. Eligible customer scope. Discount name. Minimum purchase amount to apply discount. Indicates if discount is lifetime (`true`/`false`) or `null`. Total number of coupons available. Discount value. List of coupons associated with this discount. Product-specific discount rules (empty if not applied). ### coupons Structure (Array Of Object) Coupon code. Coupon type. Coupon expiration date. Whether the coupon is active (`true` or `false`). # Get Coupon Detail Source: https://docs.mayar.id/api-reference/discount/detail GET /endpointdiscount/detail Endpoint used to view details and status of coupon that have been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/coupon/c9aa143a-53f9-44e7-a9c6-83229ad7199b' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "Success", "data": { "id": "c9aa143a-53f9-44e7-a9c6-83229ad7199b", "createdAt": 1755665561029, "expiredAt": 1893488774933, "productDiscount": [], "discountType": "monetary", "discountProductType": "all", "eligibleCustomerType": "all", "name": "Diskon Murmer", "minimumPurchase": 500000, "isLifeTime": null, "totalCoupons": 100, "value": 100000, "coupons": [ { "id": "532858fe-3722-4cf4-a8eb-f7c6765aba17", "code": "haribaik", "createdAt": 1755665561256, "discountId": "c9aa143a-53f9-44e7-a9c6-83229ad7199b", "endMonthTrial": null, "expiredAt": 1893488774933, "isActive": true, "limit": 100, "type": "reusable", "updatedAt": 1755665561256, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413" } ] } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/coupon/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/coupon/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameter A unique identifier obtained when creating a discount. If accessed through the dashboard, it can be found at the URL on the discount details page. Example: `c9aa143a-53f9-44e7-a9c6-83229ad7199b` ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Main response data. ### data Structure (Array Of Object) Discount ID. Creation time (timestamp in ms). Expiration time (timestamp in ms). Product-specific discount rules (empty if not applied). Discount type. Discount product scope. Eligible customer scope. Discount name. Minimum purchase amount required to apply the discount. Indicates if the discount is lifetime (`true`/`false`) or `null`. Total number of coupons available. Discount value. List of coupons associated with this discount. ### coupons Structure (Array Of Object) Coupon ID (UUID). Coupon code. Coupon creation time (timestamp in ms). Related Discount ID. End of trial month (if applicable). Coupon expiration time (timestamp in ms). Whether the coupon is active (`true` or `false`). Maximum usage limit for the coupon. Coupon type. Last updated time (timestamp in ms). ID of the user who created/owns the coupon. # Validate Coupon Source: https://docs.mayar.id/api-reference/discount/validate POST /endpointdiscount/validate Endpoint used to validate whether a coupon code has been used or not ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/coupon/validate' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '{ "paymentLinkId": "4d26ea37-d093-4b92-8f5f-0faec64d65b0", "tickets": [], "couponCode": "NFRBFUK", "finalAmount": 0, "customerEmail": "" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "Success", "data": { "valid": true, "coupon": { "id": "08d233e9-91bc-4d9b-afc2-1dbbe38a1186", "code": "143KYCN", "discountType": "percentage", "discountValue": 10, "minimumPurchase": null, "eligibleCustomerType": "all" } } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/coupon/validate ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/coupon/validate ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Unique identifier of the payment link. List of selected tickets for the checkout. Leave empty if not applicable. Coupon code applied to the checkout. Leave empty if not used. Final amount to be paid after discounts or adjustments. Email address of the customer performing the checkout. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Main response data. ### data Structure (Array Of Object) Indicates whether the coupon is valid or not. Object containing coupon details. Unique identifier of the coupon. Coupon code applied to the checkout. Type of discount applied (e.g., `percentage`, `fixed`). Discount value based on the discount type. Minimum purchase amount required to use the coupon. Returns `null` if not set. Type of customers eligible to use the coupon (e.g., `all`, `new`, `existing`). # Create Event Source: https://docs.mayar.id/api-reference/event/create POST /endpointevent/create Endpoint used to create event product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/product/event/create'\ --header 'Authorization: Bearer Paste-Your-API-Key-Here'\ --data-raw '{ "name": "Bootcamp Coding Fullstack Asix", "description": "Workshop fullstack development 2 hari", "amount": 3100000, "crossoutPrice": 500000, "eventUrl": "https://meet.google.com/abc-defg-hij", "notes": "offline-jakarta", "terms": "Tiket tidak dapat di-refund", "redirectUrl": "https://example.com/event-thanks", "paymentType": "paid", "startAt": "2026-07-01T08:00:00.000Z", "eventStartAt": "2026-07-15T08:00:00.000Z", "eventEndAt": "2026-07-16T17:00:00.000Z", "expiredAt": "2026-07-10T17:00:00.000Z", "limit": 50, "event": { "eventAddress": "jl perjuangan no 32", "isOnlineEvent": false, "maxTicket": 5 } }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "7f992557-8791-41b5-a1c8-c5641c3e72b5", "link": "https://testingmayar.myr.id/event/Bootcamp-Coding-Fullstack-Asix/" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/product/event/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/product/event/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Event product name. Event product description in text or HTML format. Event ticket or product price amount. Crossed-out price displayed as the original price. Event URL, such as an online meeting link. Additional notes for the event. Terms and conditions for the event purchase. URL where the customer will be redirected after completing payment. Payment type for the event. Sales start date in ISO 8601 format. Event start date in ISO 8601 format. Event end date in ISO 8601 format. Event product expiration date in ISO 8601 format. Maximum participant or purchase limit. Additional event details. ### event Structure (Array of Object) Event location or address. Indicates whether the event is conducted online. Maximum number of tickets that can be purchased per transaction. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The created event product data. ### data Structure (Array of Object) Unique identifier of the event product. Public URL of the created event product. # Edit Event Source: https://docs.mayar.id/api-reference/event/edit POST /endpointevent/edit Endpoint used to edit event product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/product/event/create'\ --header 'Authorization: Bearer Paste-Your-API-Key-Here'\ --data-raw '{ "id": "7f992557-8791-41b5-a1c8-c5641c3e72b5", "name": "Bootcamp Coding Fullstack Asix Editan", "description": "Workshop fullstack development 2 hari", "amount": 250000, "crossoutPrice": 500000, "eventUrl": "https://meet.google.com/abc-defg-hij", "notes": "offline-jakarta", "terms": "Tiket tidak dapat di-refund", "redirectUrl": "https://example.com/event-thanks", "paymentType": "paid", "startAt": "2026-07-01T08:00:00.000Z", "eventStartAt": "2026-07-15T08:00:00.000Z", "eventEndAt": "2026-07-16T17:00:00.000Z", "expiredAt": "2026-07-10T17:00:00.000Z", "limit": 50 }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "7f992557-8791-41b5-a1c8-c5641c3e72b5", "link": "https://testingmayar.myr.id/event/Bootcamp-Coding-Fullstack-Asix" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/product/event/edit ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/product/event/edit ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Unique identifier of the event product. Event product name. Event product description. Event ticket or product price amount. Crossed-out price displayed as the original price. Event URL, such as an online meeting link. Additional notes for the event. Terms and conditions for the event purchase. URL where the customer will be redirected after completing payment. Payment type for the event. Sales start date in ISO 8601 format. Event start date in ISO 8601 format. Event end date in ISO 8601 format. Event product expiration date in ISO 8601 format. Maximum participant or purchase limit. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The updated event product data. ### data Structure (Array of Object) Unique identifier of the event product. Public URL of the updated event product. # Create Generic Link Source: https://docs.mayar.id/api-reference/genericlink/create POST /endpointgenericlink/create Endpoint used to create generic link product ```bash Request Example theme={null} curl --request POST 'https:api.mayar.id//hl/v1/product/paymentlink/create'\ --header 'Authorization: Bearer Paste-Your-API-Key-Here'\ --data-raw'{ "name": "Jasa Buat Website Kece", "description": "Untuk testing API", "amount": 150000, "redirectUrl": "https://example.com/thank-you", "notes": "catatan opsional", "expiredAt": "2026-06-15T12:00:00.000Z" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "21d84338-b46d-42d7-9b49-d402520407a5", "link": "https://testingmayar.myr.id/pl/Jasa-Buat-Website-Kece/" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/product/paymentlink/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/product/paymentlink/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Generic payment link product name. Generic payment link product description. Product price amount. URL where the customer will be redirected after completing payment. Additional notes for the payment link. Payment link expiration date in ISO 8601 format. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The created generic payment link product data. ### data Structure (Array of Object) Unique identifier of the generic payment link product. Public URL of the created generic payment link product. # Edit Generic Link Source: https://docs.mayar.id/api-reference/genericlink/edit POST /endpointgenericlink/create Endpoint used to create generic link product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/product/paymentlink/edit' --data-raw'{ "id": "21d84338-b46d-42d7-9b49-d402520407a5", "name": "Jasa Buat Website Kece Editan", "description": "Deskripsinya diubah", "amount": 150000, "redirectUrl": "https://example.com/thank-you", "notes": "catatan opsional", "expiredAt": "2026-06-15T12:00:00.000Z" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "21d84338-b46d-42d7-9b49-d402520407a5", "link": "https://testingmayar.myr.id/pl/Jasa-Buat-Website-Kece" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/product/paymentlink/edit ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/product/paymentlink/edit ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Unique identifier of the generic payment link product. Generic payment link product name. Generic payment link product description. Product price amount. URL where the customer will be redirected after completing payment. Additional notes for the payment link. Payment link expiration date in ISO 8601 format. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The updated generic payment link product data. ### data Structure (Array of Object) Unique identifier of the generic payment link product. Public payment link URL of the updated product. # POST Create Installment Source: https://docs.mayar.id/api-reference/installment/create POST /endpointinstallment/create Endpoint used to create installment ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/installment/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "email": "azumiikecee@gmail.com", "mobile": "089961367511", "name": "Azumii", "amount": 1500000, "installment": { "description": "Cicil Produk Kelas Online 3 Bulan", "interest": 0, "tenure": 3, "dueDate": 11 } } ' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "Success", "data": { "id": "ba82c2dd-06c1-4b6c-bc59-a9c00801c842", "createdAt": 1755631209521, "dueDate": 11, "interest": 0, "interestType": "FLAT", "period": "MONTHLY", "tenure": 3, "invoices": [ { "id": "9fe1b9c4-b5d5-4d45-bf1a-5c4849631725", "amount": 500000, "updatedAt": 1755631210118, "category": null, "status": "unpaid", "index": 1, "link": "mkcn4u72ki", "description": "Cicil Produk Kelas Online 3 Bulan", "interestAmount": 0, "remainingAmount": 1000000, "customerId": "62d1a396-07d8-4d93-a14c-9ec801f3af20", "customer": { "id": "62d1a396-07d8-4d93-a14c-9ec801f3af20", "email": "azumiikecee@gmail.com", "mobile": "089961367511", "name": "Azumii" } }, { "id": "977777d6-af25-464e-a8ca-e290b3007275", "amount": 500000, "updatedAt": 1755631210119, "category": null, "status": "unpaid", "index": 2, "link": "0ll429zxvsue", "description": "Cicil Produk Kelas Online 3 Bulan", "interestAmount": 0, "remainingAmount": 500000, "customerId": "62d1a396-07d8-4d93-a14c-9ec801f3af20", "customer": { "id": "62d1a396-07d8-4d93-a14c-9ec801f3af20", "email": "azumiikecee@gmail.com", "mobile": "089961367511", "name": "Azumii" } }, { "id": "1dde3426-f6a4-43d2-a1d9-2cd2fa05eb9a", "amount": 500000, "updatedAt": 1755631210120, "category": null, "status": "unpaid", "index": 3, "link": "h8fiobqkek", "description": "Cicil Produk Kelas Online 3 Bulan", "interestAmount": 0, "remainingAmount": 0, "customerId": "62d1a396-07d8-4d93-a14c-9ec801f3af20", "customer": { "id": "62d1a396-07d8-4d93-a14c-9ec801f3af20", "email": "azumiikecee@gmail.com", "mobile": "089961367511", "name": "Azumii" } } ] } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/installment/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/installment/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Customer email used to send proof of payment, or payment reminders Customer telephone number Customer Name Nominal amount of payment Installment details General description of the transaction or order. Installment interest (%) Installment tenor period (months) Due date each month ## Response Successful Response ### Main Structure (Root Object) Status code form API. Status message that describes the status code. Main response data. ### data Structure (Array Of Object) Main id. Creation time (timestamp in ms). Due date value (example: `11`). Interest value. Type of interest (example: `"FLAT"`). Installment period (example: `"MONTHLY"`). Installment duration (in months). List of invoices. ### invoices Structure (Array Of Object) Id of the installment created Invoice amount. Last updated time (timestamp in ms). Invoice category. Payment status (example: `"unpaid"`). Invoice order number. Unique invoice link. Invoice description. Interest amount for the invoice. Remaining balance. Customer ID. Customer details. ### customer Structure (Array Of Object) Customer ID. Customer email address. Customer phone number. Customer name. # Get Installment Detail Source: https://docs.mayar.id/api-reference/installment/detail GET /endpointinstallment/detail Endpoint used to view details and status of installment that have been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/installment/ba82c2dd-06c1-4b6c-bc59-a9c00801c842' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "Success", "data": { "id": "ba82c2dd-06c1-4b6c-bc59-a9c00801c842", "createdAt": 1755631209521, "period": "MONTHLY", "tenure": 3, "dueDate": 11, "interest": 0, "interestType": "FLAT", "paymentLinkId": "8f722421-e8fd-4d05-ae0c-5f4a224b7923", "updatedAt": 1755631209521, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "paymentLink": { "id": "8f722421-e8fd-4d05-ae0c-5f4a224b7923", "name": "Azumii", "amount": 1500000, "description": "Cicil Produk Kelas Online 3 Bulan", "customerId": "62d1a396-07d8-4d93-a14c-9ec801f3af20" }, "invoices": [ { "id": "9fe1b9c4-b5d5-4d45-bf1a-5c4849631725", "expiredAt": 1757523600000, "amount": 500000, "category": null, "status": "unpaid", "index": 1, "link": "mkcn4u72ki", "description": "Cicil Produk Kelas Online 3 Bulan", "interestAmount": 0, "remainingAmount": 1000000 }, { "id": "977777d6-af25-464e-a8ca-e290b3007275", "expiredAt": 1760115600000, "amount": 500000, "category": null, "status": "unpaid", "index": 2, "link": "0ll429zxvsue", "description": "Cicil Produk Kelas Online 3 Bulan", "interestAmount": 0, "remainingAmount": 500000 }, { "id": "1dde3426-f6a4-43d2-a1d9-2cd2fa05eb9a", "expiredAt": 1762794000000, "amount": 500000, "category": null, "status": "unpaid", "index": 3, "link": "h8fiobqkek", "description": "Cicil Produk Kelas Online 3 Bulan", "interestAmount": 0, "remainingAmount": 0 } ] } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/installment/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/installment/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameter A unique identifier obtained when creating an installment. If accessed through the dashboard, it can be found at the URL on the installment details page. Example: `ba82c2dd-06c1-4b6c-bc59-a9c00801c842` ## Response Successful Response ### Main Structure (Root Object) Status code form API. Status message that describes the status code. Main response data. ### data Structure (Array Of Object) Main ID (UUID). Creation time (timestamp in ms). Installment period (example: `"MONTHLY"`). Installment duration (in months). Due date value (example: `11`). Interest value. Type of interest (example: `"FLAT"`). Associated Payment Link ID. Last update time (timestamp in ms). User ID. Payment link details. List of invoices. ### PaymentLink Structure (Array Of Object) Payment link ID. Customer name for the payment link. Total payment amount. Description of the payment. Customer ID. ### invoices Structure (Array Of Object) Invoices ID. Expiration time of the installment created. nvoice amount. Invoice category. Payment status (example: `"unpaid"`). IInvoice order number. Unique invoice link. Invoice description. Interest amount for the invoice. Remaining balance for this invoice. # Introduction Source: https://docs.mayar.id/api-reference/introduction Section for showcasing API endpoints ## Get Started Headless API is an e-commerce development method where the user interface (Frontend) is separated from the product management and transaction processing systems (Backend). In headless commerce, the front-end can be built using various modern web technologies such as React or Vue.js, while the back-end performs tasks such as product storage, order processing, and integration with payment systems. By separating the front-end and back-end, headless commerce allows development teams to focus on the user experience without being hampered by the limitations of the underlying e-commerce platform. It also helps reduce the cost and time required to update and maintain an e-commerce site. ## Authentication For starting using Mayar Headless API, you need account at [https://mayar.id](https://mayar.id). If you have an account, you can create API KEY from [https://web.mayar.id/api-keys](https://web.mayar.id/api-keys). There are 2 options when creating an API Key, **Read Only** and **Read & Write**. If you choose **Read Only**, then only API Endpoints with the Get Method can be used. If you choose **Read & Write**, then API Endpoints with both Get and Post Methods can be used. Generate API Key For your account security, don't share your API KEY! Please note that any changes to your domain or subdomain require you to create a new API KEY, so the link in the response you receive will also be updated. ## Sandbox Environment For testing purposes, you can use the webpage [https://web.mayar.io/](https://web.mayar.io/). You can log in or register first, then generate an API key from [https://web.mayar.io/api-keys](https://web.mayar.io/api-keys). (The same method as obtaining an API key on the production page). ## Base URL The API Base URL is the main part of the address (URL) used to access an API endpoint. Mayar has two API Base URL's based on the page. ```bash Production theme={null} https://api.mayar.id/hl/v1 ``` ```bash Sandbox theme={null} https://api.mayar.io/hl/v1 ``` Make sure you use a base URL based on the appropriate web page (Production or Sandbox) # Close Invoice Source: https://docs.mayar.id/api-reference/invoice/close GET /endpointinvoice/close Endpoint used to change the invoice status to closed ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/invoice/close/f774034d-d9cc-43a0-97d8-a2520c127f03' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response example if success theme={null} { "statusCode": 200, "messages": "success" } ``` ```json Response example if failed theme={null} { "statusCode": 200, "messages": "failed" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/invoice/close/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/invoice/close/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters A unique identifier obtained when creating an invoice. If accessed through the dashboard, it can be found at the URL on the invoice details page. Example: `f774034d-d9cc-43a0-97d8-a2520c127f03` ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. # Create Invoice Source: https://docs.mayar.id/api-reference/invoice/create POST /endpointinvoice/create Endpoint used to create invoices The setting to charge admin fee and channel fee to the customer does not apply to the Invoice feature. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/invoice/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "name": "andre jago", "email": "alikusnadide@gmail.com", "mobile": "085797522261", "redirectUrl": "https://kelaskami.com/nexst23", "description": "testing dulu pak", "expiredAt": "2026-04-19T16:43:23.000Z", "items":[{ "quantity": 3, "rate": 11000, "description": "1e 1 sayam jago" }], "extraData": { "noCustomer": "827hiueqy271hj", "idProd": "contoh aja" } } ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "df65d192-8396-4f9a-b4e5-8244648c07c5", "transactionId": "ca87fd13-8742-4d48-af33-7de1a417bc34", "link": "https://korban-motivator.mayar.shop/invoices/ycfyxbj2h3", "expiredAt": 1776617003000, "extraData": { "noCustomer": "827hiueqy271hj", "idProd": "contoh aja" } } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/invoice/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/invoice/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Full name of the customer. Email address of the customer. Mobile phone number of the customer. URL where the customer will be redirected after completing the payment. Description or notes related to the invoice. Invoice expiration time in ISO 8601 format (UTC). List of invoice items. Quantity of the item. Price per item. Description of the item. Additional custom data attached to the invoice. Custom customer reference number. Custom product identifier associated with the invoice. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The main data returned (invoice details). ### data Structure (Array Of Object) Unique identifier of the invoice record. Unique identifier of the associated transaction. Invoice URL that can be accessed by the customer. Timestamp (in milliseconds) indicating when the invoice will expire. Additional custom data attached to the invoice. Custom customer reference number. Custom product identifier associated with the invoice. # Get Detail / Invoice Status Source: https://docs.mayar.id/api-reference/invoice/detail GET /endpointinvoice/detail Endpoint used to view details and status of invoices that have been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/invoice/f774034d-d9cc-43a0-97d8-a2520c127f03' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "f774034d-d9cc-43a0-97d8-a2520c127f03", "amount": 110000, "status": "unpaid", "link": "ibzfrf4880", "expiredAt": 1764582069401, "transactions": [ { "id": "23fa41c5-c6ed-45d4-8302-5fac4a165dfa" } ], "customerId": "ae57ce73-89a2-46a7-84d7-93a616ef220e", "customer": { "id": "ae57ce73-89a2-46a7-84d7-93a616ef220e", "email": "azumiikecee@gmail.com", "mobile": "08996136751", "name": "Azumii" }, "transactionId": "23fa41c5-c6ed-45d4-8302-5fac4a165dfa", "paymentUrl": "https://andiak.myr.id/invoices/ibzfrf4880", "paymentLinkId": "f774034d-d9cc-43a0-97d8-a2520c127f03" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/invoice/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/invoice/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters A unique identifier obtained when creating an invoice. If accessed through the dashboard, it can be found at the URL on the invoice details page. Example: `f774034d-d9cc-43a0-97d8-a2520c127f03` ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of invoices displayed. ### data Structure (Array Of Object) Unique invoice ID. Invoice price or nominal value. Product status. Product slug/short URL. Product type. Invoice expiration time in timestamp form (epoch millis). List of invoice related transactions. Unique customer ID. Details of the customer who paid the invoice. The primary transaction ID for this invoice. URL for invoice payment page. Unique ID of payment link (usually the same as invoice ID). ### transactions Structure (Array Of Object) Unique transaction ID. ### customer Structure (Array Of Object) Unique customer ID. Customer's email address. Customer's mobile phone number. Customer's name. # Edit Invoice Source: https://docs.mayar.id/api-reference/invoice/edit POST /endpointinvoice/edit Endpoint used to edit invoices that have been created. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/invoice/edit' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "id": "f774034d-d9cc-43a0-97d8-a2520c127f03", "redirectUrl": "https://web.mayar.id", "description": "Berubah Jadi Invoice Yang Sudah Diedit", "items":[{ "quantity": 2, "rate": 55000, "description": "Berubah Jadi Invoice Yang Sudah Diedit" }] } ' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "f774034d-d9cc-43a0-97d8-a2520c127f03", "link": "https://andiak.myr.id/invoices/ibzfrf4880" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/invoice/edit ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/invoice/edit ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body A unique identifier obtained when creating an invoice. If accessed through the dashboard, it can be found at the URL on the invoice details page. Example: `f774034d-d9cc-43a0-97d8-a2520c127f03` Customer Name Customer email used to send proof of payment, or payment reminders Customer telephone number The destination URL where the customer will be redirected after a successful or completed transaction. General description of the transaction or order. The transaction expiration date and time. This means that after this time, the payment link or order is no longer valid. List of items (products/services) purchased. Number of items ordered. Price per unit of goods. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The main data returned (invoice details). ### data Structure (Array Of Object) Unique invoice ID. The URL that users/clients can access to open invoices. # Get Sort / Filter Invoice Source: https://docs.mayar.id/api-reference/invoice/filter GET /endpointinvoice/filter Endpoint used to filter invoices that have been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/invoice?sort=closed' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "hasMore": true, "pageCount": 2, "pageSize": 10, "page": 1, "data": [ { "id": "01918da0-704b-45d8-bf14-afbd738eb682", "amount": 2000, "category": null, "createdAt": 1691046324713, "description": "", "link": "75py7f7vwwr", "type": "invoice", "status": "paid", "name": "INVOICE", "redirectUrl": null, "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "transactions": [ { "id": "d442dcbd-6dbb-4e26-aec5-8c4b5f5e13a2", "status": "created" }, { "id": "5824155d-e125-418e-abb6-bd25e1cb6eaf", "status": "paid" } ], "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "email": "mayartesting05@gmail.com", "mobile": "081320547877", "name": "Harus Buat auto testing" } }, { "id": "0c0505d8-8265-4299-baa3-9fd4d7759588", "amount": 10000, "category": null, "createdAt": 1726051915939, "description": "Belajar", "link": "w2wdxisnbtp", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "eaf5cd15-49c4-433b-b57b-a2175f4c41d8", "transactions": [ { "id": "9a5e044b-07b3-4dc5-a5a7-65aaef019728", "status": "created" } ], "customer": { "id": "eaf5cd15-49c4-433b-b57b-a2175f4c41d8", "email": "mayartesting11@gmail.com", "mobile": "081320549499", "name": "Andika01" } }, { "id": "11d15244-7ca1-42c0-9d06-def8574fd4f3", "amount": 9000, "category": null, "createdAt": 1737302488652, "description": "Terimakasih telah membeli prodak ini", "link": "oby6el1hf4", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "transactions": [ { "id": "752a5838-353c-4e68-84d6-fcd78a563889", "status": "created" } ], "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "email": "mayartesting05@gmail.com", "mobile": "081320547877", "name": "Harus Buat auto testing" } }, { "id": "1545a45b-8b18-47b4-8371-532afd040f61", "amount": 575000, "category": null, "createdAt": 1730269014120, "description": "buat keterangan yang OCR mending gini gimana?\nSheets in one file that has OCR are limited to a maximum of 100 pages", "link": "3rjngpjzys8", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "e74850ba-bd72-4703-a7fa-b99c4166352e", "transactions": [ { "id": "c887e49c-0b47-43b9-b22c-263fb3fdfe79", "status": "created" } ], "customer": { "id": "e74850ba-bd72-4703-a7fa-b99c4166352e", "email": "aldobaik18@gmail.com", "mobile": "0877828291999", "name": "Aldoghandika" } }, { "id": "52aadb07-18a8-4b1b-be30-c35923890252", "amount": 10000, "category": null, "createdAt": 1737105096056, "description": "xcxcxc", "link": "g0mlnqxi84n", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "transactions": [ { "id": "00151cc8-858e-4dfb-a63d-57a4e74b88aa", "status": "created" } ], "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "email": "mayartesting05@gmail.com", "mobile": "081320547877", "name": "Harus Buat auto testing" } }, { "id": "634e664e-a7bf-4f85-a321-ebeae0aa01cd", "amount": 100000, "category": null, "createdAt": 1732254931782, "description": "Jsjwhsbsbs", "link": "gqevn4vro1f", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "627bc86f-44c8-401b-b4fc-50127183f9f9", "transactions": [ { "id": "ff388716-35ca-4427-b737-7d7d23329290", "status": "created" } ], "customer": { "id": "627bc86f-44c8-401b-b4fc-50127183f9f9", "email": "Andiak@gmail.com", "mobile": "081320547855", "name": "Aandika" } }, { "id": "89400a8d-276b-4b07-aad3-ac6cd3112281", "amount": 1000000, "category": null, "createdAt": 1732255465802, "description": "Bajwwhwh", "link": "0aq2mvgze91", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "627bc86f-44c8-401b-b4fc-50127183f9f9", "transactions": [ { "id": "6464ad54-0e60-44d8-8056-f20ee601eab0", "status": "created" } ], "customer": { "id": "627bc86f-44c8-401b-b4fc-50127183f9f9", "email": "Andiak@gmail.com", "mobile": "081320547855", "name": "Aandika" } }, { "id": "8cb09626-aad6-4589-aabb-5d7887991922", "amount": 9000, "category": null, "createdAt": 1739088135842, "description": "Lorem ipsum dolor sit amet consectetur adipiscing elit risus etiam, eu vitae dapibus dui bibendum litora facilisis aliquet fames, velit cum mauris ultrices facilisi montes lobortis feugiat. Varius etiam eu cursus senectus magna orci pharetra vitae proin ornare, fusce ut molestie mi nascetur tellus quis mattis sem maecenas, ultrices montes vel sollicitudin duis auctor tincidunt aliquet primis. Tempus a cras sagittis sapien viverra maecenas non justo pharetra, sociosqu convallis vestibulum malesuada feugiat morbi hendrerit sociis, molestie fermentum sed orci urna pellentesque mollis faucibus. Nostra ad tempor sed venenatis eros fringilla semper euismod praesent, egestas eget purus proin vivamus est sagittis felis.", "link": "2l2xp7qz3bs", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "transactions": [ { "id": "31917bf2-1073-4655-8bf4-1229fa0d6d80", "status": "created" } ], "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "email": "mayartesting05@gmail.com", "mobile": "081320547877", "name": "Harus Buat auto testing" } }, { "id": "a52e905f-3366-4199-9dfc-8ddeca679328", "amount": 100000, "category": null, "createdAt": 1730285756976, "description": "Bugs\n- kalo akunnya belum pernah login lewat web mayar ga bisa daftar di app mayarbuat keterangan yang OCR mending gini gimana?\nSheets in one file that has OCR are limited to a maximum of 100 pagesbuat keterangan yang OCR mending gini gimana?\nSheets in one file that has OCR are limited to a maximum of 100 pages", "link": "r4lhlfqzv", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "eaf5cd15-49c4-433b-b57b-a2175f4c41d8", "transactions": [ { "id": "86f439f4-55cf-4789-9e60-9701531f5499", "status": "created" } ], "customer": { "id": "eaf5cd15-49c4-433b-b57b-a2175f4c41d8", "email": "mayartesting11@gmail.com", "mobile": "081320549499", "name": "Andika01" } }, { "id": "bc8c1d9f-68e2-4f9c-a7b8-2718acec2f8c", "amount": 1000000, "category": null, "createdAt": 1731459885215, "description": "", "link": "ly6bm0jkqhf", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "eaf5cd15-49c4-433b-b57b-a2175f4c41d8", "transactions": [ { "id": "9f509c2e-0910-4b5a-9fcf-b7259b9f3324", "status": "created" } ], "customer": { "id": "eaf5cd15-49c4-433b-b57b-a2175f4c41d8", "email": "mayartesting11@gmail.com", "mobile": "081320549499", "name": "Andika01" } } ], "total": 17 } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/invoice?sort=closed ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/invoice?sort=closed ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameter Sorting data results from invoice status. * active * paid * close ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Information on whether there is additional data to be retrieved (true/false). Total number of data pages. Number of items per page. The page currently displayed. List of invoices displayed. ### data Structure (Array Of Object) Unique invoice ID. Invoice price or nominal value. Product category, can be null if there is no category. Product creation time in epoch milliseconds format. Product description. Product slug/short URL. Product type. Product status. Product name. Redirect destination URL, can be null. The customer ID associated with this invoice. List of invoice related transactions. Details of the customer who paid the invoice. ### transactions Structure (Array Of Object) Unique transaction ID. Transaction status (example: "created", "paid"). ### customer Structure (Array Of Object) Unique customer ID. Customer's email address. Customer's mobile phone number. Customer's name. # Get List Invoice Source: https://docs.mayar.id/api-reference/invoice/index GET /endpointinvoice/index Endpoint used to view details of the number of invoices that have been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/invoice' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "hasMore": true, "pageCount": 2, "pageSize": 10, "page": 1, "data": [ { "id": "01918da0-704b-45d8-bf14-afbd738eb682", "amount": 2000, "category": null, "createdAt": 1691046324713, "description": "", "link": "75py7f7vwwr", "type": "invoice", "status": "paid", "name": "INVOICE", "redirectUrl": null, "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "transactions": [ { "id": "d442dcbd-6dbb-4e26-aec5-8c4b5f5e13a2", "status": "created" }, { "id": "5824155d-e125-418e-abb6-bd25e1cb6eaf", "status": "paid" } ], "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "email": "mayartesting05@gmail.com", "mobile": "081320547877", "name": "Harus Buat auto testing" } }, { "id": "0c0505d8-8265-4299-baa3-9fd4d7759588", "amount": 10000, "category": null, "createdAt": 1726051915939, "description": "Belajar", "link": "w2wdxisnbtp", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "eaf5cd15-49c4-433b-b57b-a2175f4c41d8", "transactions": [ { "id": "9a5e044b-07b3-4dc5-a5a7-65aaef019728", "status": "created" } ], "customer": { "id": "eaf5cd15-49c4-433b-b57b-a2175f4c41d8", "email": "mayartesting11@gmail.com", "mobile": "081320549499", "name": "Andika01" } }, { "id": "11d15244-7ca1-42c0-9d06-def8574fd4f3", "amount": 9000, "category": null, "createdAt": 1737302488652, "description": "Terimakasih telah membeli prodak ini", "link": "oby6el1hf4", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "transactions": [ { "id": "752a5838-353c-4e68-84d6-fcd78a563889", "status": "created" } ], "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "email": "mayartesting05@gmail.com", "mobile": "081320547877", "name": "Harus Buat auto testing" } }, { "id": "1545a45b-8b18-47b4-8371-532afd040f61", "amount": 575000, "category": null, "createdAt": 1730269014120, "description": "buat keterangan yang OCR mending gini gimana?\nSheets in one file that has OCR are limited to a maximum of 100 pages", "link": "3rjngpjzys8", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "e74850ba-bd72-4703-a7fa-b99c4166352e", "transactions": [ { "id": "c887e49c-0b47-43b9-b22c-263fb3fdfe79", "status": "created" } ], "customer": { "id": "e74850ba-bd72-4703-a7fa-b99c4166352e", "email": "aldobaik18@gmail.com", "mobile": "0877828291999", "name": "Aldoghandika" } }, { "id": "52aadb07-18a8-4b1b-be30-c35923890252", "amount": 10000, "category": null, "createdAt": 1737105096056, "description": "xcxcxc", "link": "g0mlnqxi84n", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "transactions": [ { "id": "00151cc8-858e-4dfb-a63d-57a4e74b88aa", "status": "created" } ], "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "email": "mayartesting05@gmail.com", "mobile": "081320547877", "name": "Harus Buat auto testing" } }, { "id": "634e664e-a7bf-4f85-a321-ebeae0aa01cd", "amount": 100000, "category": null, "createdAt": 1732254931782, "description": "Jsjwhsbsbs", "link": "gqevn4vro1f", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "627bc86f-44c8-401b-b4fc-50127183f9f9", "transactions": [ { "id": "ff388716-35ca-4427-b737-7d7d23329290", "status": "created" } ], "customer": { "id": "627bc86f-44c8-401b-b4fc-50127183f9f9", "email": "Andiak@gmail.com", "mobile": "081320547855", "name": "Aandika" } }, { "id": "89400a8d-276b-4b07-aad3-ac6cd3112281", "amount": 1000000, "category": null, "createdAt": 1732255465802, "description": "Bajwwhwh", "link": "0aq2mvgze91", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "627bc86f-44c8-401b-b4fc-50127183f9f9", "transactions": [ { "id": "6464ad54-0e60-44d8-8056-f20ee601eab0", "status": "created" } ], "customer": { "id": "627bc86f-44c8-401b-b4fc-50127183f9f9", "email": "Andiak@gmail.com", "mobile": "081320547855", "name": "Aandika" } }, { "id": "8cb09626-aad6-4589-aabb-5d7887991922", "amount": 9000, "category": null, "createdAt": 1739088135842, "description": "Lorem ipsum dolor sit amet consectetur adipiscing elit risus etiam, eu vitae dapibus dui bibendum litora facilisis aliquet fames, velit cum mauris ultrices facilisi montes lobortis feugiat. Varius etiam eu cursus senectus magna orci pharetra vitae proin ornare, fusce ut molestie mi nascetur tellus quis mattis sem maecenas, ultrices montes vel sollicitudin duis auctor tincidunt aliquet primis. Tempus a cras sagittis sapien viverra maecenas non justo pharetra, sociosqu convallis vestibulum malesuada feugiat morbi hendrerit sociis, molestie fermentum sed orci urna pellentesque mollis faucibus. Nostra ad tempor sed venenatis eros fringilla semper euismod praesent, egestas eget purus proin vivamus est sagittis felis.", "link": "2l2xp7qz3bs", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "transactions": [ { "id": "31917bf2-1073-4655-8bf4-1229fa0d6d80", "status": "created" } ], "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "email": "mayartesting05@gmail.com", "mobile": "081320547877", "name": "Harus Buat auto testing" } }, { "id": "a52e905f-3366-4199-9dfc-8ddeca679328", "amount": 100000, "category": null, "createdAt": 1730285756976, "description": "Bugs\n- kalo akunnya belum pernah login lewat web mayar ga bisa daftar di app mayarbuat keterangan yang OCR mending gini gimana?\nSheets in one file that has OCR are limited to a maximum of 100 pagesbuat keterangan yang OCR mending gini gimana?\nSheets in one file that has OCR are limited to a maximum of 100 pages", "link": "r4lhlfqzv", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "eaf5cd15-49c4-433b-b57b-a2175f4c41d8", "transactions": [ { "id": "86f439f4-55cf-4789-9e60-9701531f5499", "status": "created" } ], "customer": { "id": "eaf5cd15-49c4-433b-b57b-a2175f4c41d8", "email": "mayartesting11@gmail.com", "mobile": "081320549499", "name": "Andika01" } }, { "id": "bc8c1d9f-68e2-4f9c-a7b8-2718acec2f8c", "amount": 1000000, "category": null, "createdAt": 1731459885215, "description": "", "link": "ly6bm0jkqhf", "type": "invoice", "status": "closed", "name": "INVOICE", "redirectUrl": null, "customerId": "eaf5cd15-49c4-433b-b57b-a2175f4c41d8", "transactions": [ { "id": "9f509c2e-0910-4b5a-9fcf-b7259b9f3324", "status": "created" } ], "customer": { "id": "eaf5cd15-49c4-433b-b57b-a2175f4c41d8", "email": "mayartesting11@gmail.com", "mobile": "081320549499", "name": "Andika01" } } ], "total": 17 } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/invoice ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/invoice ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Information on whether there is additional data to be retrieved (true/false). Total number of data pages. Number of items per page. The page currently displayed. List of invoices displayed. ### data Structure (Array Of Object) Unique invoice ID. Invoice price or nominal value. Product category, can be null if there is no category. Product creation time in epoch milliseconds format. Product description. Product slug/short URL. Product type. Product status. Product name. Redirect destination URL, can be null. The customer ID associated with this invoice. List of invoice related transactions. Details of the customer who paid the invoice. ### transactions Structure (Array Of Object) Unique transaction ID. Transaction status (example: "created", "paid"). ### customer Structure (Array Of Object) Unique customer ID. Customer's email address. Customer's mobile phone number. Customer's name. # Re-open Invoice Source: https://docs.mayar.id/api-reference/invoice/reopen GET /endpointinvoice/reopen Endpoint used to change invoice status from closed to open ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/invoice/open/f774034d-d9cc-43a0-97d8-a2520c127f03' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response example if success theme={null} { "statusCode": 200, "messages": "success" } ``` ```json Response example if failed theme={null} { "statusCode": 200, "messages": "failed" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/invoice/open/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/invoice/open/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters A unique identifier obtained when creating an invoice. If accessed through the dashboard, it can be found at the URL on the invoice details page. Example: `f774034d-d9cc-43a0-97d8-a2520c127f03` ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. # Verify License Source: https://docs.mayar.id/api-reference/licensecode/verifylicense POST /endpointlicensecode/verifylicense Endpoint to verify a license by providing the license code and product ID. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/software/v1/license/verify' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '{ "licenseCode": "YOUR-LICENSE-CODE", "productId": "YOUR-PRODUCT-ID" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "isLicenseActive": true, "licenseCode": { "licenseCode": "LICENSECODE12345", "status": "ACTIVE", "expiredAt": "2025-12-12T19:46:24.000Z", "transactionId": "994d4071-a81e-4558-a854-47530eea9b6d", "productId": "84d1d247-a8b3-4c7d-96f0-cf276edb7c33", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "customerName": "John Doe", "customerEmail": "johndoe@gmail.com", "activationLimit": "Tidak terbatas", "useCount": 10, "createdAt": "2024-02-12T08:41:13.579Z", "updatedAt": "2024-02-12T08:57:36.047Z" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/software/v1/license/verify ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/software/v1/license/verify ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The license code is to be activated. The ID of the product associated with the license. ## Response Successful Response ### Main Structure (Root) Status code form API. Shows whether the license is currently active (`true` or `false`). Detailed information about the license code. ### licenseCode Structure (Array Of Object) The license code value. License status (example: `"ACTIVE"`). License expiration date. Related transaction ID. ID of the associated product. Customer ID linked to the license. Customer’s full name. Customer’s email address. Maximum number of allowed activations (example: `"Tidak terbatas"` → means “Unlimited”). Number of times the license has been used. License creation timestamp. Last updated timestamp. # Close Product Source: https://docs.mayar.id/api-reference/product/close GET /endpointproduct/close Endpoint used to change the product status to closed ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/product/close/a02a76e1-25b4-49dd-9d1f-e84dd34ecbb4' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response example if success theme={null} { "statusCode": 200, "messages": "success" } ``` ```json Response example if failed theme={null} { "statusCode": 200, "messages": "failed" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/product/close/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/product/close/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters Unique product ID. ## Response Successful Response Status code form API. Status message that describes the status code. # Get Detail Product Source: https://docs.mayar.id/api-reference/product/detail GET /endpointproduct/detail Endpoint where you can get your detail products ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/product/4d26ea37-d093-4b92-8f5f-0faec64d65b0' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "link": "pembuatan-jasa-web", "name": "Pembuatan Jasa Web", "category": null, "limit": null, "type": "generic_link", "subType": null, "variant": "[{\"id\":\"986cb91e-70ee-4579-a046-3201f936e6e1\",\"name\":\"Landing Page \",\"description\":\"

\\n\",\"amount\":100000,\"limit\":null,\"notes\":\"\",\"redirectUrl\":\"\",\"status\":\"ACTIVE\",\"createdAt\":1778236239496},{\"id\":\"99de25dc-0302-4d64-9467-6f1c85fbc1bb\",\"name\":\"Sistem Crud\",\"description\":\"

\\n\",\"amount\":500000,\"limit\":null,\"notes\":\"\",\"redirectUrl\":\"\",\"status\":\"ACTIVE\",\"createdAt\":1778236254836}]", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "membershipTier": [], "event": null, "order": null, "qty": null, "amount": 100000, "status": "active", "description": "

Testing

\n", "coverImageId": null, "multipleImageId": "62840541-d45d-4e3f-a13a-e4f8bcdf4e5d", "transactions": [], "coverImage": null, "multipleImage": [ { "id": "503d493e-7ae5-4892-80a6-b925e057698f", "fileType": "jpeg", "url": "https://media.mayar.id/images/503d493e-7ae5-4892-80a6-b925e057698f.jpeg" } ], "linkUrl": "https://testingmayar.myr.id/plink/pembuatan-jasa-web", "linkPayment": "https://testingmayar.myr.id/pl/pembuatan-jasa-web", "variants": [ { "id": "986cb91e-70ee-4579-a046-3201f936e6e1", "name": "Landing Page ", "description": "

\n", "amount": 100000, "limit": null, "notes": "", "redirectUrl": "", "status": "ACTIVE", "createdAt": 1778236239496 }, { "id": "99de25dc-0302-4d64-9467-6f1c85fbc1bb", "name": "Sistem Crud", "description": "

\n", "amount": 500000, "limit": null, "notes": "", "redirectUrl": "", "status": "ACTIVE", "createdAt": 1778236254836 } ] } } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/product/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/product/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters Unique product ID. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Information on whether there is additional data to be retrieved (true/false). Total number of data pages. Number of items per page. The page currently displayed. List of products displayed. ### data Structure (Array Of Object) Unique identifier of the product. Unique slug or identifier used in the product URL. Product name. Product category if available. Purchase or access limit if configured. Product type (e.g., `saas`, `event`, `membership`, `ebook`, etc.). Product subtype if applicable. Product variant. ID Customer. Installment identifier if the product supports installment payments. Event details. Order configuration if applicable. Number of product Product price amount. Current product status (e.g., `active`, `inactive`). Product description in HTML format. Identifier of the cover image. List of additional image identifiers. List of related transactions (empty if none). Cover image object containing image details. List of additional image objects. Public product page URL. Public payment link URL. Product variant. # Get Product Page Source: https://docs.mayar.id/api-reference/product/productpage GET /endpointproduct/productpage Endpoint where you can get your products ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/product?page=1&pageSize=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "hasMore": true, "pageCount": 14, "pageSize": "10", "page": 1, "data": [ { "id": "fca92d4c-33e8-4334-b2f3-491af6d78a5b", "amount": 200000, "category": null, "createdAt": 1692004154797, "description": "

The Invisible Man (1897) is one of the most famous science fiction novels of all time. Written by H.G. Wells (1866-1946), it tells the story of a scientist who discovers the secret of invisibility and uses it on himself. The story begins as the Invisible Man, with a bandaged face and a heavy coat and gloves, takes a train to lodge in a country inn whilst he tries to discover the antidote and make himself visible again. The book inspired several films and is notable for its vivid descriptions of the invisible man-no mean feat, given that you can't see him! 

\n", "link": "invisible-man", "type": "audiobook", "subType": null, "status": "active", "name": "Invisible Man", "limit": null, "redirectUrl": null, "installmentId": null, "variant": null, "membershipTier": [], "event": null, "order": null, "coverImageId": "2529541f-dc98-4ca0-93bb-3c1d35a8dd07", "multipleImageId": null, "multipleImage": null, "coverImage": { "id": "2529541f-dc98-4ca0-93bb-3c1d35a8dd07", "fileType": "jpeg", "url": "https://media.mayar.id/images/2529541f-dc98-4ca0-93bb-3c1d35a8dd07.jpeg" }, "variants": null, "transactions": [], "linkUrl": "https://testingmayar.myr.id/audiobook/invisible-man", "linkPayment": "https://testingmayar.myr.id/pl/invisible-man" } ], "total": 1 } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/product?page=1&pageSize=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/product?page=1&pageSize=10 ``` ## Authorizations Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Determine which page. How much data is displayed on the page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Information on whether there is additional data to be retrieved (true/false). Total number of data pages. Number of items per page. The page currently displayed. List of products displayed. ### data Structure (Array Of Object) Unique identifier of the product. Product price amount. Product category if available. Timestamp in milliseconds indicating when the product was created. Product description in HTML format. Unique slug or identifier used in the product URL. Product type (e.g., `saas`, `event`, `membership`, `ebook`, etc.). Product subtype if applicable. Current product status (e.g., `active`, `inactive`). Product name. Purchase or access limit if configured. URL where the customer will be redirected after checkout. Installment identifier if the product supports installment payments. Product variant. Installment identifier if the product supports installment payments. Event details. Order configuration if applicable. Identifier of the cover image. List of additional image identifiers. Cover image object containing image details. List of additional image objects. Product variant. List of related transactions (empty if none). Public product page URL. Public payment link URL. # Get Product Page with Type Filter Source: https://docs.mayar.id/api-reference/product/productpagewithfilter GET /endpointproduct/productpagewithfilter Endpoint where you can get your products with type filter ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/product/type/ebook?page=1&pageSize=100' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "hasMore": false, "pageCount": 1, "pageSize": 10, "page": 1, "data": [ { "id": "b1eae80c-cecf-48ee-8879-36f0b915603b", "amount": 0, "category": null, "createdAt": 1685963288286, "description": "

COVID-19 has plagued almost all corners of the world, including in Indonesia where the most common symptom is fever up to 38℃. Therefore, at this time in various places have imposed body temperature checks to detect the body temperature of visitors. To inhibit the spread of COVID-19 , the Government appeals to the public to implement health protocols, including wearing masks. This is the basis for making a visitor's body temperature detector when entering a building or public room, not only detecting body temperature but this tool is also able to detect the use of masks using the Haar Cascade Classifier method as one of the applications. An appeal from the government regarding health protocols.

\n

The mask detection tool and body temperature detector use Arduino UNO as a microcontroller, ESP32-Cam as a face detection camera, MLX90614 sensor as a body temperature detector, LCD to display information about the results of body temperature detection and also masks, and servos as door movers. In designing the automatic door to detect face masks and body temperature, the author uses a Flowchart as a method for designing the system, this system is made using the C++ programming language and also the Open CV (Open Computer Vision) algorithm. Then perform system testing using hardware testing. After testing, conclusions are made whether the functions, inputs, and outputs of the system are in accordance with the required specifications or not.  

\n", "link": "journal-design-of-automatic-door-detection-of-face-mask-and-human-body-temperature-based-on-arduino-uno-using-haar-cascade-classifier-method-w9ya", "type": "ebook", "subType": null, "status": "active", "name": "DUPLICATE - JOURNAL DESIGN OF AUTOMATIC DOOR DETECTION OF FACE MASK AND HUMAN BODY TEMPERATURE BASED ON Arduino UNO USING HAAR CASCADE CLASSIFIER METHOD", "limit": null, "redirectUrl": null, "installmentId": null, "variant": null, "membershipTier": [], "event": null, "order": null, "coverImageId": "681abbf7-8620-405a-96f6-246cd7397cd9", "multipleImageId": null, "multipleImage": null, "coverImage": null, "transactions": [], "linkUrl": "https://testingmayar.myr.id/ebook/journal-design-of-automatic-door-detection-of-face-mask-and-human-body-temperature-based-on-arduino-uno-using-haar-cascade-classifier-method-w9ya", "linkPayment": "https://testingmayar.myr.id/pl/journal-design-of-automatic-door-detection-of-face-mask-and-human-body-temperature-based-on-arduino-uno-using-haar-cascade-classifier-method-w9ya" } ], "total": 1 } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/product/type/ebook?page=1&pageSize=100 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/product/type/ebook?page=1&pageSize=100 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters Product type for filtering, list all product with filter: * generic\_link * physical\_product * event * webinar * digital\_product * coaching * course * cohort\_based * fundraising * ebook * podcast * audiobook * membership * zakat * invoice * bundling * saas * payment\_request * support ## Query Parameters Determine which page. How much data is displayed on the page. ## Response Successful Response ### Main Structure (Root) Unique identifier of the product. Product price amount. Product category if available. Timestamp in milliseconds indicating when the product was created. Product description in HTML format. Unique slug or identifier used in the product URL. Product type (e.g., `saas`, `event`, `membership`, `ebook`, etc.). Product subtype if applicable. Current product status (e.g., `active`, `inactive`). Product name. Purchase or access limit if configured. URL where the customer will be redirected after checkout. Installment identifier if the product supports installment payments. Product variant. Installment identifier if the product supports installment payments. Membership product tier. Order configuration if applicable. Identifier of the cover image. List of additional image identifiers. Cover image object containing image details. List of additional image objects. List of related transactions (empty if none). Public product page URL. Public payment link URL. # Re-open Product Source: https://docs.mayar.id/api-reference/product/reopen GET /endpointproduct/reopen Endpoint used to change product status from closed to open ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/product/open/a02a76e1-25b4-49dd-9d1f-e84dd34ecbb4' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response example if success theme={null} { "statusCode": 200, "messages": "success" } ``` ```json Response example if failed theme={null} { "statusCode": 200, "messages": "failed" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/product/open/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/product/open/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters Unique product ID. ## Response Successful Response Status code form API. Status message that describes the status code. # Search Product Source: https://docs.mayar.id/api-reference/product/search GET /endpointproduct/search Endpoint used to search for products by product name ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/product?search=test 06' \ --header 'Authorization: Bearer Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 expandable theme={null} { "statusCode": 200, "messages": "success", "hasMore": false, "pageCount": 1, "pageSize": 10, "page": 1, "data": [ { "id": "3d4a503a-04a7-4587-915a-8983f0ab05f7", "amount": 300000, "category": null, "createdAt": 1704961863326, "description": "

Yo test

\n", "link": "jasa-pembuatan-website-82187", "type": "generic_link", "subType": null, "status": "deleted", "name": "Jasa Pembuatan Website ", "limit": null, "redirectUrl": "", "installmentId": null, "variant": "[{\"id\":\"18399af2-1063-4022-868d-23917ee8410b\",\"name\":\"Produk Dengan Jumlah 15\",\"description\":\"

\\n\",\"amount\":12000,\"limit\":null,\"notes\":\"\",\"redirectUrl\":\"\",\"status\":\"ACTIVE\",\"createdAt\":1728286386687}]", "membershipTier": [], "event": null, "order": null, "coverImageId": null, "multipleImageId": "468565a7-b2ad-4ec1-8cbe-2308160c5a4b", "coverImage": null, "multipleImage": [ { "id": "62a02c2d-2d46-4382-9683-b49e5971bfa0", "fileType": "jpeg", "createdAt": 1729063348803, "updatedAt": 1729064548803, "url": "https://media.mayar.id/images/62a02c2d-2d46-4382-9683-b49e5971bfa0.jpeg" }, { "id": "7b3777d4-0c94-4bfe-9dd9-da691f6bf575", "fileType": "jpeg", "createdAt": 1729063348032, "updatedAt": 1729065148033, "url": "https://media.mayar.id/images/7b3777d4-0c94-4bfe-9dd9-da691f6bf575.jpeg" }, { "id": "c81180e7-e91f-464e-abd7-b19254f76cf0", "fileType": "jpeg", "createdAt": 1729063348209, "updatedAt": 1729063948210, "url": "https://media.mayar.id/images/c81180e7-e91f-464e-abd7-b19254f76cf0.jpeg" } ], "variants": [ { "id": "18399af2-1063-4022-868d-23917ee8410b", "name": "Produk Dengan Jumlah 15", "description": "

\n", "amount": 12000, "limit": null, "notes": "", "redirectUrl": "", "status": "ACTIVE", "createdAt": 1728286386687 } ], "transactions": [], "linkUrl": "https://testingmayar.myr.id/plink/jasa-pembuatan-website-82187", "linkPayment": "https://testingmayar.myr.id/pl/jasa-pembuatan-website-82187" }, { "id": "6f8c19ff-5b97-4792-aa89-d2a12797b356", "amount": 100000, "category": null, "createdAt": 1768375011056, "description": "

Testing

\n", "link": "pembuatan-jasa-web", "type": "generic_link", "subType": null, "status": "active", "name": "Pembuatan Jasa Web", "limit": null, "redirectUrl": "", "installmentId": null, "variant": "[{\"id\":\"986cb91e-70ee-4579-a046-3201f936e6e1\",\"name\":\"Landing Page \",\"description\":\"

\\n\",\"amount\":100000,\"limit\":null,\"notes\":\"\",\"redirectUrl\":\"\",\"status\":\"ACTIVE\",\"createdAt\":1778236239496},{\"id\":\"99de25dc-0302-4d64-9467-6f1c85fbc1bb\",\"name\":\"Sistem Crud\",\"description\":\"

\\n\",\"amount\":500000,\"limit\":null,\"notes\":\"\",\"redirectUrl\":\"\",\"status\":\"ACTIVE\",\"createdAt\":1778236254836}]", "membershipTier": [], "event": null, "order": null, "coverImageId": null, "multipleImageId": "62840541-d45d-4e3f-a13a-e4f8bcdf4e5d", "coverImage": null, "multipleImage": [ { "id": "503d493e-7ae5-4892-80a6-b925e057698f", "fileType": "jpeg", "createdAt": 1775731966396, "updatedAt": 1775731974978, "url": "https://media.mayar.id/images/503d493e-7ae5-4892-80a6-b925e057698f.jpeg" } ], "variants": [ { "id": "986cb91e-70ee-4579-a046-3201f936e6e1", "name": "Landing Page ", "description": "

\n", "amount": 100000, "limit": null, "notes": "", "redirectUrl": "", "status": "ACTIVE", "createdAt": 1778236239496 }, { "id": "99de25dc-0302-4d64-9467-6f1c85fbc1bb", "name": "Sistem Crud", "description": "

\n", "amount": 500000, "limit": null, "notes": "", "redirectUrl": "", "status": "ACTIVE", "createdAt": 1778236254836 } ], "transactions": [], "linkUrl": "https://testingmayar.myr.id/plink/pembuatan-jasa-web", "linkPayment": "https://testingmayar.myr.id/pl/pembuatan-jasa-web" } ], "total": 1 } ```
Endpoint: ```Sandbox Production theme={null} https://api.mayar.id/hl/v1/product?search={namaproduk} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/product?search={namaproduk} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Search keywords. ## Response Successful Response ### Main Structure (Root) Unique identifier of the product. Product price amount. Product category if available. Timestamp in milliseconds indicating when the product was created. Product description in HTML format. Unique slug or identifier used in the product URL. Product type (e.g., `saas`, `event`, `membership`, `ebook`, etc.). Product subtype if applicable. Current product status (e.g., `active`, `inactive`). Product name. Purchase or access limit if configured. URL where the customer will be redirected after checkout. Installment identifier if the product supports installment payments. Product variant. Installment identifier if the product supports installment payments. Membership product tier. Order configuration if applicable. Identifier of the cover image. List of additional image identifiers. Cover image object containing image details. List of additional image objects. Product variant. List of related transactions (empty if none). Public product page URL. Public payment link URL. # API Rate Limit Source: https://docs.mayar.id/api-reference/rate-limit API Rate limit per minute > Mayar API rate limits and best practices for handling them. Mayar API has rate limits to ensure fair usage and maintain performance. The limits are as follows: * **50 requests per minute per user credential (API Key).** Rate limiting is applied based on your authenticated user account, not by IP address. All requests made with the same API Key share the same rate limit quota. If you exceed the rate limit, you will receive a **429 Too Many Requests** response. The response will include a **Retry-After** header indicating how long you should wait before making another request. Unauthenticated requests (without a Bearer token) are subject to a separate, stricter limit. # Close Single Payment Request Source: https://docs.mayar.id/api-reference/reqpayment/close GET /endpointqrpayment/close Endpoint used to change the single payment request status to closed ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/payment/close/e890d24a-cfc0-4915-83d2-3166b9ffba9e' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response example if success theme={null} { "statusCode": 200, "messages": "success" } ``` ```json Response example if failed theme={null} { "statusCode": 200, "messages": "failed" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/payment/close/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/payment/close/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters Unique request payment ID. ## Response Successful Response Status code form API. Status message that describes the status code. # Create Single Payment Request Source: https://docs.mayar.id/api-reference/reqpayment/create POST /endpointqrpayment/create Endpoint used to create single payment request The setting to charge admin fee and channel fee to the customer does not apply to the Request Payment feature. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/invoice/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "name": "Azumii", "email": "azumiikecee@gmail.com", "amount": 170000, "mobile": "08996136751", "redirectUrl": "https://web.mayar.id/", "description": "Testing ReqPayment", "expiredAt": "2025-12-29T09:41:09.401Z" } ' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "e890d24a-cfc0-4915-83d2-3166b9ffba9e", "transaction_id": "040d5adb-1496-45de-8435-5cab16526a8c", "transactionId": "040d5adb-1496-45de-8435-5cab16526a8c", "link": "https://andiak.myr.id/invoices/ohsjrd3wko" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/payment/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/payment/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Customer Name Customer email used to send proof of payment, or payment reminders Nominal amount of payment Customer telephone number The destination URL where the customer will be redirected after a successful or completed transaction. General description of the transaction or order. The transaction expiration date and time. This means that after this time, the payment link or order is no longer valid. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The main data returned (request payment details). ### data Structure (Array Of Object) Unique request payment ID. Unique transaction ID associated with this request payment. The URL that users/clients can access to open request payment. # Get Detail Single Payment Request Source: https://docs.mayar.id/api-reference/reqpayment/detail GET /endpointqrpayment/detail Endpoint used to view details of single payment request that have been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/payment/e890d24a-cfc0-4915-83d2-3166b9ffba9e' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "e890d24a-cfc0-4915-83d2-3166b9ffba9e", "link": "ohsjrd3wko", "name": "Azumii", "category": null, "limit": null, "type": "payment_request", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "event": null, "order": null, "qty": null, "amount": 100000, "status": "unpaid", "description": "Ubah ReqPayment", "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/payment/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/payment/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameter A unique identifier obtained when creating an single request payment. If accessed through the dashboard, it can be found at the URL on the request payment details page. Example: `e890d24a-cfc0-4915-83d2-3166b9ffba9e` ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. List of products displayed. ### data Structure (Array Of Object) Unique request payment ID. Product slug/short URL. Product name. Product category, can be null if there is no category. Certain amount limit, can be null. Product type. Unique ID of the user making the request. Related event data, can be null. Related order data, can be null. Quantity (if the request relates to specific goods/services). Product price or nominal value. Product status. Product description. ID cover image, can be null. ID for multiple image group. can be null. Cover image data, can be null. List of additional images for the product. # Edit Single Payment Request Source: https://docs.mayar.id/api-reference/reqpayment/edit POST /endpointqrpayment/edit Endpoint used to edit billing that has been created ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/invoice/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "name": "Azumii", "email": "azumiikecee@gmail.com", "amount": 100000, "mobile": "089961367511", "redirectUrl": "https://web.mayar.id.", "description": "Ubah ReqPayment", "expiredAt": "2025-12-29T09:41:09.401Z", "id": "e890d24a-cfc0-4915-83d2-3166b9ffba9e" } ' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "e890d24a-cfc0-4915-83d2-3166b9ffba9e", "link": "https://testingmayar.myr.id/invoices/ohsjrd3wko" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/payment/edit ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/payment/edit ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Customer Name Customer email used to send proof of payment, or payment reminders Nominal amount of payment Customer telephone number The destination URL where the customer will be redirected after a successful or completed transaction. General description of the transaction or order. The transaction expiration date and time. This means that after this time, the payment link or order is no longer valid. A unique identifier obtained when creating an single request payment. If accessed through the dashboard, it can be found at the URL on the request payment details page. Example: `e890d24a-cfc0-4915-83d2-3166b9ffba9e` ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The main data returned (request payment details). ### data Structure (Array Of Object) Unique request payment ID. The URL that users/clients can access to open request payment. # Get Sort / Filter Single Payment Request Page Source: https://docs.mayar.id/api-reference/reqpayment/filter GET /endpointqrpayment/filter Endpoint used to filter single payment request that have been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/payment?status=paid' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "hasMore": false, "pageCount": 1, "pageSize": 10, "page": 1, "data": [ { "id": "abbf58dc-6e12-4bdc-bdcf-e0a53340227d", "amount": 1000, "category": null, "createdAt": 1685960215853, "description": "

Pembayaran Uang Demo Produk, mohon untuk menyelesaikan dan melakukan pembayaran.

\n", "link": "pagovztwbu", "type": "payment_request", "status": "paid", "name": "Penagihan", "limit": null, "redirectUrl": null, "installmentId": null, "event": null, "order": null, "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null } ] } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/payment?status=paid ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/payment?status=paid ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameter Filter payment status; * active * paid * closed ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Information on whether there is additional data to be retrieved (true/false). Total number of data pages. Number of items per page. The page currently displayed. List of products displayed. ### data Structure (Array Of Object) Unique request payment ID. Product price or nominal value. Product category, can be null if there is no category. Product creation time in epoch milliseconds format. Product description. Product slug/short URL. Product type. Product status. Product name. Certain amount limit, can be null. Redirect destination URL, can be null. Installment ID if the product supports installments, can be null. Related event data, can be null. Related order data, can be null. ID cover image, can be null. ID for multiple image group. can be null. Cover image data, can be null. List of additional images for the product. # Get List Single Payment Request Source: https://docs.mayar.id/api-reference/reqpayment/index GET /endpointqrpayment/index Endpoint used to view details of the number of single payment request that have been created ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/payment' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "hasMore": true, "pageCount": 3, "pageSize": 10, "page": 1, "data": [ { "id": "07e1d023-3bc4-46cd-9a30-2102cd0770f4", "amount": 100000, "category": null, "createdAt": 1753681216049, "description": "

Asasasasasasasasas

\n", "link": "xnxivrq8ple", "type": "payment_request", "status": "unpaid", "name": "Penagihan", "limit": null, "redirectUrl": null, "installmentId": null, "event": null, "order": null, "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, { "id": "1013df14-f5c7-4228-bac8-cc1b6e27f7d5", "amount": 10000, "category": null, "createdAt": 1692086977655, "description": "Dana Tambahan Kelas Online", "link": "4n7wcwt2whi", "type": "payment_request", "status": "unpaid", "name": null, "limit": null, "redirectUrl": null, "installmentId": null, "event": null, "order": null, "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, { "id": "17f51633-3302-4dc6-9d5c-ee1a20b52dd4", "amount": 3000, "category": null, "createdAt": 1705046062681, "description": "

adadadad

\n", "link": "cnyg2trlhu5", "type": "payment_request", "status": "unpaid", "name": "Penagihan", "limit": null, "redirectUrl": null, "installmentId": null, "event": null, "order": null, "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, { "id": "19850f6f-b51c-473e-b14d-f4c37e3543d7", "amount": 1000, "category": null, "createdAt": 1685956367899, "description": "

Pembayaran Uang Makan

\n", "link": "sbz05wc6b0b", "type": "payment_request", "status": "unpaid", "name": "Penagihan", "limit": null, "redirectUrl": null, "installmentId": null, "event": null, "order": null, "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, { "id": "1fdc61da-6aff-482b-aaae-57147fbc80df", "amount": 1000, "category": null, "createdAt": 1718964285753, "description": "

testt

\n", "link": "1xz940k653p", "type": "payment_request", "status": "unpaid", "name": "Penagihan", "limit": null, "redirectUrl": null, "installmentId": null, "event": null, "order": null, "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, { "id": "311e0185-6991-4abf-bf01-a831b19c4b7d", "amount": 100000, "category": null, "createdAt": 1744690223494, "description": "Produk Mahal Tapi Cuma Test Ajasih", "link": "1btrq4v0ch", "type": "payment_request", "status": "unpaid", "name": "Penagihan", "limit": null, "redirectUrl": "https://kelaskami.com/nexst23", "installmentId": null, "event": null, "order": null, "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, { "id": "32b569e3-c90f-46dc-8fa6-65b6a4193ee3", "amount": 500000, "category": null, "createdAt": 1695229210213, "description": "Pembayaran Paket Membership Reguler - Malo Gusto", "link": "rx1f57nhc7", "type": "payment_request", "status": "closed", "name": "Tagihan Membership - Reguler", "limit": null, "redirectUrl": null, "installmentId": null, "event": null, "order": null, "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, { "id": "3ca6a235-f112-42d3-8be7-9836c1b43ee0", "amount": 10000, "category": null, "createdAt": 1687021203866, "description": "Pembayaran Paket Membership Kamar Lantai 1 - Contoh", "link": "wzbs5tbuz5h", "type": "payment_request", "status": "closed", "name": "Tagihan Membership - Kamar Lantai 1", "limit": null, "redirectUrl": null, "installmentId": null, "event": null, "order": null, "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, { "id": "3f6755ee-8e34-4a63-b01f-771da2b3d01d", "amount": 170000, "category": null, "createdAt": 1747718816365, "description": "kemana ini menjadi a", "link": "9f9c6d2v5f", "type": "payment_request", "status": "closed", "name": "Penagihan", "limit": null, "redirectUrl": "https://kelaskami.com/nexst23", "installmentId": null, "event": null, "order": null, "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, { "id": "4513063f-adf2-4374-b0bd-bd89339c4406", "amount": 1500000, "category": null, "createdAt": 1706236280845, "description": "Pembayaran Paket Membership Express - Dr Aldow", "link": "xjz8aytqsdq", "type": "payment_request", "status": "closed", "name": "Tagihan Membership - Express", "limit": null, "redirectUrl": null, "installmentId": null, "event": null, "order": null, "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null } ] } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/payment ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/payment ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Information on whether there is additional data to be retrieved (true/false). Total number of data pages. Number of items per page. The page currently displayed. List of products displayed. ### data Structure (Array Of Object) Unique request payment ID. Product price or nominal value. Product category, can be null if there is no category. Product creation time in epoch milliseconds format. Product description. Product slug/short URL. Product type. Product status. Product name. Certain amount limit, can be null. Redirect destination URL, can be null. Installment ID if the product supports installments, can be null. Related event data, can be null. Related order data, can be null. ID cover image, can be null. ID for multiple image group. can be null. Cover image data, can be null. List of additional images for the product. # Re-open Single Payment Request Source: https://docs.mayar.id/api-reference/reqpayment/reopen GET /endpointqrpayment/reopen Endpoint used to change single payment request status from closed to open ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/payment/close/e890d24a-cfc0-4915-83d2-3166b9ffba9e' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response example if success theme={null} { "statusCode": 200, "messages": "success" } ``` ```json Response example if failed theme={null} { "statusCode": 200, "messages": "failed" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/payment/open/{id} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/payment/open/{id} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters Unique request payment ID. ## Response Successful Response Status code form API. Status message that describes the status code. # Get All Reviews Source: https://docs.mayar.id/api-reference/reviews/getallreviews GET /endpointreviews Endpoint to retrieve all reviews ```bash Request Example theme={null} curl --request GET `https://api.mayar.id/hl/v1/reviews \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "hasMore": false, "pageCount": 1, "pageSize": 10, "page": 1, "total": 1, "data": [ { "id": "11f4d767-4d88-41ff-8777-06564d906fe7", "createdAt": 1778223034383, "customerId": "22eb6224-c20a-4bc2-9b99-13b21e7048c6", "message": "Bagus sekali, takde minusnyo", "paymentLinkId": "e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77", "rating": 5, "status": "ACTIVE", "updatedAt": 1778225558788, "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "multipleImage": [], "content": [], "customer": { "id": "22eb6224-c20a-4bc2-9b99-13b21e7048c6", "name": "Test Mayar" }, "paymentLink": { "id": "e2b3f5d5-0c62-47ba-8a01-6c1c209e0f77", "name": "Kelas Pemrograman Web Dasar", "type": "course", "link": "website", "subType": null } } ] } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/reviews ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/reviews ``` ## Authorization Example: `Authorization | Bearer Paste-Your-Api-Key-Here` ## Response Successful Response ## Main Structure (Root) Status code returned by the API. Status message that describes the API response. Indicates whether more review data is available. Total number of available pages. Maximum number of reviews returned per page. Current page number. Total number of reviews available. Array containing review objects. ### data Structure (Array Of Object) Unique review ID. Unix timestamp in milliseconds indicating when the review was created. Unique customer identifier associated with the review. Review message submitted by the customer. Payment link ID associated with the review. Rating value submitted by the customer. Current review status. Unix timestamp in milliseconds indicating when the review was last updated. Unique user ID associated with the payment link owner. List of review images attached by the customer. Additional review content data. Customer information object. Unique customer ID. Customer full name. Payment link information object. Unique payment link ID. Name of the payment link or product. Type of payment link or product. Slug or public link identifier of the payment link. Additional subtype information of the payment link. # Activate License Source: https://docs.mayar.id/api-reference/saas/activate POST /endpointqrsaas/activate Endpoint to activate a license by providing the license code and product ID. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/saas/v1/license/activate' \ --header 'Authorization: Bearer YOUR-TOKEN-API' \ --data '{ "licenseCode": "YOUR-LICENSE-CODE", "productId": "YOUR-PRODUCT-ID" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "Success updating license code status to ACTIVE." } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/saas/v1/license/activate ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/saas/v1/license/activate ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The license code to be activated. The ID of the product associated with the license. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. By performing this action, the status of the license code will change to ACTIVE. # Deactivate License Source: https://docs.mayar.id/api-reference/saas/deactivate POST /endpointqrsaas/deactivate Endpoint to deactivate a license by providing the license code and product ID. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/saas/v1/license/deactivate' \ --header 'Authorization: Bearer YOUR-TOKEN-API' \ --data '{ "licenseCode": "YOUR-LICENSE-CODE", "productId": "YOUR-PRODUCT-ID" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "Success updating license code status to INACTIVE." } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/saas/v1/license/deactivate ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/saas/v1/license/deactivate ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The license code to be deactivate. The ID of the product associated with the license. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. By performing this action, the status of the license code will change to INACTIVE. # Verify License SaaS Subscription Source: https://docs.mayar.id/api-reference/saas/verify POST /endpointqrsaas/verify Endpoint to verify license by providing license code and product ID in Saas Subscription Product. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/saas/v1/license/verify' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '{ "licenseCode": "YOUR-LICENSE-CODE", "productId": "YOUR-PRODUCT-ID" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "isLicenseActive": true, "licenseCode": { "licenseCode": "LICENSECODE12345", "status": "ACTIVE", "expiredAt": "2025-12-12T19:46:24.000Z", "transactionId": "994d4071-a81e-4558-a854-47530eea9b6d", "productId": "84d1d247-a8b3-4c7d-96f0-cf276edb7c33", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "customerName": "John Doe", "customerEmail": "johndoe@gmail.com", "activationLimit": "Tidak terbatas", "useCount": 10, "createdAt": "2024-02-12T08:41:13.579Z", "updatedAt": "2024-02-12T08:57:36.047Z", "membershipTierId": "c96850f9-b379-4ed3-bcf2-6d88a87bd20c", "membershipTierName": "Master Black Belt Membership" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/saas/v1/license/verify ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/saas/v1/license/verify ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The license code to be verify. The ID of the product associated with the license. ### Response Successful Response ### Main Structure (Root) Status code form API. Shows whether the license is currently active (`true` or `false`). Detailed information about the license code. ### licenseCode Structure (Array Of Object) The license code value. License status (example: `"ACTIVE"`). License expiration date. Related transaction ID. ID of the associated product. Customer ID linked to the license. Customer’s full name. Customer’s email address. Maximum number of allowed activations (example: `"Tidak terbatas"` → means “Unlimited”). Number of times the license has been used. License creation timestamp. Last updated timestamp. ID of the membership tier associated with the license. Name of the membership tier. # Status Code Source: https://docs.mayar.id/api-reference/statuscode Status Code From API Endpoint Request Results. The status code on an API endpoint is a 3-digit numeric code returned by the server each time a client (such as a browser, application, or other backend) sends a request to the API. Every request in our API has a response, and each response has a status code. This code indicates whether the request was successful, failed, or encountered another issue. | **Status Code** | **Explanation** | | :--------------------------------------------------------: | :-----------------------------------------------------------------------: | | 200 | Your request Success | | 400 | Bad request, your request in complate or you need add required data | | 404 | Endpoint or Product doesn't exist. | | 401 | You dont have Authorization for access API | | [429](https://mayar.mintlify.app/api-reference/rate-limit) | [Your limit reached](https://mayar.mintlify.app/api-reference/rate-limit) | | 500 | Error | # Get Account Balance Source: https://docs.mayar.id/api-reference/transaction/accountbalance GET /endpointtransaction/accountbalance Endpoint where you can get your account balance ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/balance' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "balanceActive": 0, "balancePending": 0, "balance": 0 } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/balance ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/balance ``` ### Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The main data returned (detailed customer/user information). ### data Structure (Array Of Object) Active balance that can be used/withdrawn immediately. Pending balance (cannot be withdraw). Total overall balance (Active balance + Pending balance). # Create Dynamic QRCode Source: https://docs.mayar.id/api-reference/transaction/createdynamicqrcode POST /endpointtransaction/createdynamicqrcode Endpoint used to create dynamic QRCode The setting to charge admin fee and channel fee to the customer does not apply to the Payme / Dynamic QR code feature. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/qrcode/create' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "amount": 10000 } ' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "Success", "data": { "url": "https://media.mayar.id/images/resized/480/a30ed45f-976b-490f-b97c-72c90d1e8d9d.png", "amount": 10000 } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/qrcode/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/qrcode/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Nominal Payment. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. The main data returned (detailed customer/user information). ### data Structure (Array Of Object) File link (QR image file provided). Nominal Payment. # Transaction Daily Source: https://docs.mayar.id/api-reference/transaction/dailytransaction GET /endpointtransactions/daily Endpoint to retrieve daily transaction statistics ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/transactions/daily' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "data": { "date": "2026-05-08", "tpvCount": 125000, "trxCount": 10 } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/transactions/daily ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/transactions/daily ``` ## Authorization Example: `Authorization | Bearer Paste-Your-Api-Key-Here` ## Response Successful Response ## Main Structure (Root) Status code returned by the API. Daily transaction statistics object. ### data Structure (Object) Date of the transaction summary in YYYY-MM-DD format. Total payment volume count for the specified date. Total number of transactions for the specified date. # Get Paid Transactions Source: https://docs.mayar.id/api-reference/transaction/paidtransaction GET /endpointtransaction/paidtransaction Endpoint to get paid data transactions ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/transactions?page=1&pageSize=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "hasMore": true, "pageCount": 70, "pageSize": 10, "page": 1, "data": [ { "id": "ff5e591d-6740-442b-8aec-26e72b60c29e", "credit": 0, "status": "settled", "balanceHistoryType": "webinar", "paymentMethod": "Gratis", "customerId": "ce1234f3-6843-4d5c-8838-b7d6f7506955", "createdAt": 1755534083905, "paymentLinkTransactionId": "98f26871-de3c-4bca-ac59-d079ca44d5bd", "fee": [], "paymentLinkId": "015ff1af-c83f-4684-9401-dd74a7c6da0f", "subscriptionId": null, "xenditTransactionId": null, "subscription": null, "xenditTransaction": null, "paymentLinkTransaction": { "id": "98f26871-de3c-4bca-ac59-d079ca44d5bd", "urlParamTrackingData": null, "isAdminFeeBorneByCustomer": null, "isChannelFeeBorneByCustomer": null }, "customeField": null, "customer": { "id": "ce1234f3-6843-4d5c-8838-b7d6f7506955", "name": "trial", "email": "trial@gmail.com", "mobile": "0884444730242" }, "paymentLink": { "id": "015ff1af-c83f-4684-9401-dd74a7c6da0f", "name": "test outlook" } }, { "id": "40067bb5-e06f-4dc6-bd65-e2f6ac35643f", "credit": 0, "status": "settled", "balanceHistoryType": "membership", "paymentMethod": "Gratis", "customerId": "ce1234f3-6843-4d5c-8838-b7d6f7506955", "createdAt": 1755244097529, "paymentLinkTransactionId": "00617429-fc1c-44db-a0ba-e31d3f0edd70", "fee": [], "paymentLinkId": "a6be24df-1335-4682-902c-f0474c1826c0", "subscriptionId": null, "xenditTransactionId": null, "subscription": null, "xenditTransaction": null, "paymentLinkTransaction": { "id": "00617429-fc1c-44db-a0ba-e31d3f0edd70", "urlParamTrackingData": null, "isAdminFeeBorneByCustomer": null, "isChannelFeeBorneByCustomer": null }, "customeField": null, "customer": { "id": "ce1234f3-6843-4d5c-8838-b7d6f7506955", "name": "trial", "email": "trial@gmail.com", "mobile": "0884444730242" }, "paymentLink": { "id": "a6be24df-1335-4682-902c-f0474c1826c0", "name": "test membership cohort analisis" } }, { "id": "306aa4ae-e41b-4dc3-89c5-585ec0ae92dd", "credit": 1059, "status": "settled", "balanceHistoryType": "digital_product", "paymentMethod": "QRIS", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "createdAt": 1755012459984, "paymentLinkTransactionId": "8e7646b1-8c65-4219-9c49-50de5e2f0420", "fee": [ { "id": "66e365d3-9afc-4dec-ad2d-ed925433ddd9", "balanceHistoryType": "xendit_fee", "debit": 6 }, { "id": "973d31bb-c3cf-4b80-b09f-783b0a7fec88", "balanceHistoryType": "mayar_fee", "debit": 53 } ], "paymentLinkId": "d071116a-4359-4262-90dc-a7bd137c1baa", "subscriptionId": null, "xenditTransactionId": "a57b842e-8ffe-4851-9d15-7716c2f56902", "subscription": null, "paymentLinkTransaction": { "id": "8e7646b1-8c65-4219-9c49-50de5e2f0420", "urlParamTrackingData": null, "isAdminFeeBorneByCustomer": true, "isChannelFeeBorneByCustomer": true }, "customeField": null, "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "name": "Harus Buat auto testing", "email": "mayartesting05@gmail.com", "mobile": "081320547877" }, "paymentLink": { "id": "d071116a-4359-4262-90dc-a7bd137c1baa", "name": "test UIUX Produk Digital" }, "xenditTransaction": { "id": "a57b842e-8ffe-4851-9d15-7716c2f56902", "paymentLinkTransactionId": "8e7646b1-8c65-4219-9c49-50de5e2f0420", "paymentLinkTransaction": { "id": "8e7646b1-8c65-4219-9c49-50de5e2f0420", "couponUsage": null } } }, { "id": "59be9cd3-503b-446b-92cf-8df6b2b96345", "credit": 1059, "status": "settled", "balanceHistoryType": "digital_product", "paymentMethod": "QRIS", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "createdAt": 1755012407864, "paymentLinkTransactionId": "e1f9298c-01ad-4a1a-8677-e1afdc964a45", "fee": [ { "id": "b9356032-dd15-4808-869a-43d6b6d8fa18", "balanceHistoryType": "xendit_fee", "debit": 6 }, { "id": "c172f92e-711d-4759-8236-1cd9ab3a5bd0", "balanceHistoryType": "mayar_fee", "debit": 53 } ], "paymentLinkId": "d071116a-4359-4262-90dc-a7bd137c1baa", "subscriptionId": null, "xenditTransactionId": "0f62b59a-ca73-4ee5-ae33-bfe1631f2218", "subscription": null, "paymentLinkTransaction": { "id": "e1f9298c-01ad-4a1a-8677-e1afdc964a45", "urlParamTrackingData": null, "isAdminFeeBorneByCustomer": true, "isChannelFeeBorneByCustomer": true }, "customeField": null, "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "name": "Harus Buat auto testing", "email": "mayartesting05@gmail.com", "mobile": "081320547877" }, "paymentLink": { "id": "d071116a-4359-4262-90dc-a7bd137c1baa", "name": "test UIUX Produk Digital" }, "xenditTransaction": { "id": "0f62b59a-ca73-4ee5-ae33-bfe1631f2218", "paymentLinkTransactionId": "e1f9298c-01ad-4a1a-8677-e1afdc964a45", "paymentLinkTransaction": { "id": "e1f9298c-01ad-4a1a-8677-e1afdc964a45", "couponUsage": null } } }, { "id": "618a2e42-fea1-49e7-8a2a-3b3b7b9d42e0", "credit": 1059, "status": "settled", "balanceHistoryType": "digital_product", "paymentMethod": "QRIS", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "createdAt": 1755012388185, "paymentLinkTransactionId": "11a8a7ee-88d5-4a36-9523-9e14fc845155", "fee": [ { "id": "2a043370-b62a-4f14-967f-5060224434a6", "balanceHistoryType": "xendit_fee", "debit": 6 }, { "id": "8dc17d96-fa3f-4467-a21f-e316ab68b2ca", "balanceHistoryType": "mayar_fee", "debit": 53 } ], "paymentLinkId": "d071116a-4359-4262-90dc-a7bd137c1baa", "subscriptionId": null, "xenditTransactionId": "15e8a711-e99b-4a54-acf9-67cdcf3c034e", "subscription": null, "paymentLinkTransaction": { "id": "11a8a7ee-88d5-4a36-9523-9e14fc845155", "urlParamTrackingData": null, "isAdminFeeBorneByCustomer": true, "isChannelFeeBorneByCustomer": true }, "customeField": null, "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "name": "Harus Buat auto testing", "email": "mayartesting05@gmail.com", "mobile": "081320547877" }, "paymentLink": { "id": "d071116a-4359-4262-90dc-a7bd137c1baa", "name": "test UIUX Produk Digital" }, "xenditTransaction": { "id": "15e8a711-e99b-4a54-acf9-67cdcf3c034e", "paymentLinkTransactionId": "11a8a7ee-88d5-4a36-9523-9e14fc845155", "paymentLinkTransaction": { "id": "11a8a7ee-88d5-4a36-9523-9e14fc845155", "couponUsage": null } } }, { "id": "1d55351c-940f-4eb7-99ad-1ab6b1f0fd29", "credit": 1077, "status": "settled", "balanceHistoryType": "digital_product", "paymentMethod": "Ewallet - Gopay", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "createdAt": 1754909424974, "paymentLinkTransactionId": "d6c93069-3c65-4235-8392-5644987a3a52", "fee": [ { "id": "16d2c286-f081-4e74-b481-6d6d25ed83af", "balanceHistoryType": "xendit_fee", "debit": 23 }, { "id": "7b1353b9-2c12-488b-af5a-5950308e6fc2", "balanceHistoryType": "mayar_fee", "debit": 54 } ], "paymentLinkId": "d071116a-4359-4262-90dc-a7bd137c1baa", "subscriptionId": null, "xenditTransactionId": "1e3e3905-0fac-419a-b919-019ecfe3f7f9", "subscription": null, "paymentLinkTransaction": { "id": "d6c93069-3c65-4235-8392-5644987a3a52", "urlParamTrackingData": null, "isAdminFeeBorneByCustomer": true, "isChannelFeeBorneByCustomer": true }, "customeField": null, "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "name": "Harus Buat auto testing", "email": "mayartesting05@gmail.com", "mobile": "081320547877" }, "paymentLink": { "id": "d071116a-4359-4262-90dc-a7bd137c1baa", "name": "test UIUX Produk Digital" }, "xenditTransaction": { "id": "1e3e3905-0fac-419a-b919-019ecfe3f7f9", "paymentLinkTransactionId": "d6c93069-3c65-4235-8392-5644987a3a52", "paymentLinkTransaction": { "id": "d6c93069-3c65-4235-8392-5644987a3a52", "couponUsage": null } } }, { "id": "41c9ffd1-388d-40a1-8cef-965e33d459a1", "credit": 1059, "status": "settled", "balanceHistoryType": "digital_product", "paymentMethod": "QRIS", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "createdAt": 1754909018059, "paymentLinkTransactionId": "f62c271c-a7fd-443c-a437-80929ea6d98c", "fee": [ { "id": "9c37092d-780a-4ca1-963c-264280a9d944", "balanceHistoryType": "xendit_fee", "debit": 6 }, { "id": "d29f93d8-06f1-4f9d-a348-3998bde669d8", "balanceHistoryType": "mayar_fee", "debit": 53 } ], "paymentLinkId": "d071116a-4359-4262-90dc-a7bd137c1baa", "subscriptionId": null, "xenditTransactionId": "f05f4764-2561-4ef3-8ba5-0a644d7eed16", "subscription": null, "paymentLinkTransaction": { "id": "f62c271c-a7fd-443c-a437-80929ea6d98c", "urlParamTrackingData": null, "isAdminFeeBorneByCustomer": true, "isChannelFeeBorneByCustomer": true }, "customeField": null, "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "name": "Harus Buat auto testing", "email": "mayartesting05@gmail.com", "mobile": "081320547877" }, "paymentLink": { "id": "d071116a-4359-4262-90dc-a7bd137c1baa", "name": "test UIUX Produk Digital" }, "xenditTransaction": { "id": "f05f4764-2561-4ef3-8ba5-0a644d7eed16", "paymentLinkTransactionId": "f62c271c-a7fd-443c-a437-80929ea6d98c", "paymentLinkTransaction": { "id": "f62c271c-a7fd-443c-a437-80929ea6d98c", "couponUsage": null } } }, { "id": "8ad2dfe7-ca76-4d97-b7de-6f6e58480404", "credit": 10493, "status": "settled", "balanceHistoryType": "event", "paymentMethod": "QRIS", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "createdAt": 1754908707277, "paymentLinkTransactionId": "61617dfd-cf70-4cd8-9f20-b5ef77ebb390", "fee": [ { "id": "8d118e9a-393b-40b5-a559-def7f347c195", "balanceHistoryType": "mayar_fee", "debit": 420 }, { "id": "92424261-0f69-4c79-bb99-9b389aadca44", "balanceHistoryType": "xendit_fee", "debit": 73 } ], "paymentLinkId": "a14295a7-f37c-44e0-a488-7c4732cb8491", "subscriptionId": null, "xenditTransactionId": "31ab6c69-12c6-4234-b29f-59bba82b44d8", "subscription": null, "paymentLinkTransaction": { "id": "61617dfd-cf70-4cd8-9f20-b5ef77ebb390", "urlParamTrackingData": null, "isAdminFeeBorneByCustomer": true, "isChannelFeeBorneByCustomer": true }, "customeField": null, "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "name": "Harus Buat auto testing", "email": "mayartesting05@gmail.com", "mobile": "081320547877" }, "paymentLink": { "id": "a14295a7-f37c-44e0-a488-7c4732cb8491", "name": "test UIUX Event / Acara" }, "xenditTransaction": { "id": "31ab6c69-12c6-4234-b29f-59bba82b44d8", "paymentLinkTransactionId": "61617dfd-cf70-4cd8-9f20-b5ef77ebb390", "paymentLinkTransaction": { "id": "61617dfd-cf70-4cd8-9f20-b5ef77ebb390", "couponUsage": null } } }, { "id": "e258dc42-191a-43a5-8856-582622553486", "credit": 15042, "status": "settled", "balanceHistoryType": "event", "paymentMethod": "Transfer VA - MANDIRI", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "createdAt": 1754908251426, "paymentLinkTransactionId": "0d8efb5a-403b-4060-ae31-6f9de016662c", "fee": [ { "id": "48bc4322-bd98-47d1-95db-e51f9805b19a", "balanceHistoryType": "xendit_fee", "debit": 4440 }, { "id": "a1aa2545-f38a-41f3-afda-5d7bbddf46ae", "balanceHistoryType": "mayar_fee", "debit": 602 } ], "paymentLinkId": "a14295a7-f37c-44e0-a488-7c4732cb8491", "subscriptionId": null, "xenditTransactionId": "f5f50c26-a484-4105-badf-94c67a5528c7", "subscription": null, "paymentLinkTransaction": { "id": "0d8efb5a-403b-4060-ae31-6f9de016662c", "urlParamTrackingData": null, "isAdminFeeBorneByCustomer": true, "isChannelFeeBorneByCustomer": true }, "customeField": null, "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "name": "Harus Buat auto testing", "email": "mayartesting05@gmail.com", "mobile": "081320547877" }, "paymentLink": { "id": "a14295a7-f37c-44e0-a488-7c4732cb8491", "name": "test UIUX Event / Acara" }, "xenditTransaction": { "id": "f5f50c26-a484-4105-badf-94c67a5528c7", "paymentLinkTransactionId": "0d8efb5a-403b-4060-ae31-6f9de016662c", "paymentLinkTransaction": { "id": "0d8efb5a-403b-4060-ae31-6f9de016662c", "couponUsage": null } } }, { "id": "be5bfd6f-28b8-4729-8304-05a8cf95abcf", "credit": 1059, "status": "settled", "balanceHistoryType": "digital_product", "paymentMethod": "QRIS", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "createdAt": 1754906098343, "paymentLinkTransactionId": "1ed9252b-d56b-4be3-8bb5-f75f654ec3ab", "fee": [ { "id": "5324f5c2-3520-481d-a106-889696a89f61", "balanceHistoryType": "xendit_fee", "debit": 6 }, { "id": "e16e0178-ab58-4d10-9e33-d05d761d5969", "balanceHistoryType": "mayar_fee", "debit": 53 } ], "paymentLinkId": "d071116a-4359-4262-90dc-a7bd137c1baa", "subscriptionId": null, "xenditTransactionId": "7454ad4f-307a-4917-b3cc-ad87ab9fc26a", "subscription": null, "paymentLinkTransaction": { "id": "1ed9252b-d56b-4be3-8bb5-f75f654ec3ab", "urlParamTrackingData": null, "isAdminFeeBorneByCustomer": true, "isChannelFeeBorneByCustomer": true }, "customeField": null, "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "name": "Harus Buat auto testing", "email": "mayartesting05@gmail.com", "mobile": "081320547877" }, "paymentLink": { "id": "d071116a-4359-4262-90dc-a7bd137c1baa", "name": "test UIUX Produk Digital" }, "xenditTransaction": { "id": "7454ad4f-307a-4917-b3cc-ad87ab9fc26a", "paymentLinkTransactionId": "1ed9252b-d56b-4be3-8bb5-f75f654ec3ab", "paymentLinkTransaction": { "id": "1ed9252b-d56b-4be3-8bb5-f75f654ec3ab", "couponUsage": null } } } ] } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/transactions?page=1&pageSize=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/transactions?page=1&pageSize=10 ``` ## Authorizations Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Determine which page. How much data is displayed on the page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Information on whether there is additional data to be retrieved (true/false). Total number of data pages. Number of items per page. The page currently displayed. List of invoices displayed. ### data Structure (Array Of Object) Unique ID for the balance transaction history. The amount of credit received from the transaction (here 0). The status of the balance transaction (settled = completed/successful). The type of transaction. The payment method. The unique ID of the customer who made the transaction. The transaction creation time in epoch format (ms). The transaction ID associated with the payment link. Additional fee, here empty The ID of the payment link used. The subscription ID (if the transaction is a subscription) The Xendit transaction ID (if using the Xendit gateway) Subscription details (if any). Xendit transaction details (if any) Object that stores transaction details related to payment link. additional custom fields that can be filled in by the user (if any). Customer data that makes transactions. Payment link information used for transactions. ### paymentLinkTransaction Structure (Array Of Object) Payment link transaction ID. Tracking URL data (if any). Whether the admin fee is borne by the customer. Whether the channel fee is borne by the customer. ### customer Structure (Array Of Object) Unique customer ID. Customer's name. Customer's email address. Customer's mobile phone number. ### paymentLink Structure (Array Of Object) ID payment link. Payment link name. # Get Unpaid Transaction Source: https://docs.mayar.id/api-reference/transaction/unpaidtransaction GET /endpointtransaction/unpaidtransaction Endpoint for get unpaid data transactions ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/transactions/unpaid?page=1&pageSize=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "hasMore": true, "pageCount": 28, "pageSize": 10, "page": 1, "data": [ { "id": "040d5adb-1496-45de-8435-5cab16526a8c", "createdAt": 1755627439078, "type": "payment_request", "amount": 100000, "status": "active", "urlParamTrackingData": null, "paymentLinkId": "e890d24a-cfc0-4915-83d2-3166b9ffba9e", "customerId": "ae57ce73-89a2-46a7-84d7-93a616ef220e", "customeField": null, "customer": { "id": "ae57ce73-89a2-46a7-84d7-93a616ef220e", "email": "azumiikecee@gmail.com", "name": "Azumii", "mobile": "08996136751" }, "paymentLink": { "id": "e890d24a-cfc0-4915-83d2-3166b9ffba9e", "category": null, "createdAt": 1755627438790, "description": "Ubah ReqPayment", "link": "ohsjrd3wko", "name": "Azumii", "redirectUrl": "https://web.mayar.id.", "userId": "348e083d-315a-4e5c-96b1-5a2a98c48413", "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, "paymentUrl": "https://andiak.myr.id/plt/040d5adb-1496-45de-8435-5cab16526a8c" }, { "id": "23fa41c5-c6ed-45d4-8302-5fac4a165dfa", "createdAt": 1755621464062, "type": "invoice", "amount": 110000, "status": "active", "urlParamTrackingData": null, "paymentLinkId": "f774034d-d9cc-43a0-97d8-a2520c127f03", "customerId": "ae57ce73-89a2-46a7-84d7-93a616ef220e", "customeField": null, "customer": { "id": "ae57ce73-89a2-46a7-84d7-93a616ef220e", "email": "azumiikecee@gmail.com", "name": "Azumii", "mobile": "08996136751" }, "paymentLink": { "id": "f774034d-d9cc-43a0-97d8-a2520c127f03", "category": null, "createdAt": 1755621463743, "description": "Berubah Jadi Invoice Yang Sudah Diedit", "link": "ibzfrf4880", "name": "INVOICE", "redirectUrl": "https://web.mayar.id", "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, "paymentUrl": "https://andiak.myr.id/plt/23fa41c5-c6ed-45d4-8302-5fac4a165dfa" }, { "id": "03f2e6e9-78c6-428c-999f-c02fdb067e32", "createdAt": 1755533945187, "type": "membership_payment", "amount": 104930, "status": "active", "urlParamTrackingData": null, "paymentLinkId": "fdc44ac4-d06b-4906-ab3a-e35b61c1a6d0", "customerId": "ce1234f3-6843-4d5c-8838-b7d6f7506955", "customeField": null, "customer": { "id": "ce1234f3-6843-4d5c-8838-b7d6f7506955", "email": "trial@gmail.com", "name": "trial", "mobile": "0884444730242" }, "paymentLink": { "id": "fdc44ac4-d06b-4906-ab3a-e35b61c1a6d0", "category": null, "createdAt": 1755533914224, "description": "Pembayaran Paket Membership paket 2 - Andika", "link": "3j2z9bb1e5", "name": "Tagihan Membership - paket 2", "redirectUrl": null, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, "paymentUrl": "https://andiak.myr.id/plt/03f2e6e9-78c6-428c-999f-c02fdb067e32" }, { "id": "252fdc97-e14f-404a-956d-06262a7f2245", "createdAt": 1755511718734, "type": "generic_link", "amount": 10489, "status": "active", "urlParamTrackingData": null, "paymentLinkId": "8872687f-f548-4327-b59b-1be9e8b9aa36", "customerId": "ce1234f3-6843-4d5c-8838-b7d6f7506955", "customeField": null, "customer": { "id": "ce1234f3-6843-4d5c-8838-b7d6f7506955", "email": "trial@gmail.com", "name": "trial", "mobile": "0884444730242" }, "paymentLink": { "id": "8872687f-f548-4327-b59b-1be9e8b9aa36", "category": null, "createdAt": 1731653740699, "description": "

Hshshwhwh

", "link": "Hshshshshsh", "name": "Hshshshshsh", "redirectUrl": "", "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "coverImageId": "162c8020-fdb0-4504-8999-4d23cfb96fdf", "multipleImageId": null, "multipleImage": null, "coverImage": { "id": "162c8020-fdb0-4504-8999-4d23cfb96fdf", "fileType": "jpeg", "url": "https://media.mayar.id/images/162c8020-fdb0-4504-8999-4d23cfb96fdf.jpeg" } }, "paymentUrl": "https://andiak.myr.id/plt/252fdc97-e14f-404a-956d-06262a7f2245" }, { "id": "05321c55-9c78-4627-b689-23e24d7e7957", "createdAt": 1755256632035, "type": "membership_payment", "amount": 41972, "status": "active", "urlParamTrackingData": null, "paymentLinkId": "a33ce773-2380-48da-b891-e89a32170c7d", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "customeField": null, "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "email": "mayartesting05@gmail.com", "name": "Harus Buat auto testing", "mobile": "081320547877" }, "paymentLink": { "id": "a33ce773-2380-48da-b891-e89a32170c7d", "category": null, "createdAt": 1755256271521, "description": "Pembayaran Paket Membership paket 1 - Andika", "link": "evq5sq825kf", "name": "Tagihan Membership - paket 1", "redirectUrl": null, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, "paymentUrl": "https://andiak.myr.id/plt/05321c55-9c78-4627-b689-23e24d7e7957" }, { "id": "7943b939-fb78-4e8c-bb3a-b9b26e5eb9be", "createdAt": 1755256538587, "type": "membership_payment", "amount": 14840, "status": "active", "urlParamTrackingData": null, "paymentLinkId": "a33ce773-2380-48da-b891-e89a32170c7d", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "customeField": null, "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "email": "mayartesting05@gmail.com", "name": "Harus Buat auto testing", "mobile": "081320547877" }, "paymentLink": { "id": "a33ce773-2380-48da-b891-e89a32170c7d", "category": null, "createdAt": 1755256271521, "description": "Pembayaran Paket Membership paket 1 - Andika", "link": "evq5sq825kf", "name": "Tagihan Membership - paket 1", "redirectUrl": null, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, "paymentUrl": "https://andiak.myr.id/plt/7943b939-fb78-4e8c-bb3a-b9b26e5eb9be" }, { "id": "82472171-f815-4cac-b8a9-f924cbceec35", "createdAt": 1755256520598, "type": "membership_payment", "amount": 14840, "status": "active", "urlParamTrackingData": null, "paymentLinkId": "a33ce773-2380-48da-b891-e89a32170c7d", "customerId": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "customeField": null, "customer": { "id": "6a38cf26-6bab-42c8-92be-72f3a9fd4c33", "email": "mayartesting05@gmail.com", "name": "Harus Buat auto testing", "mobile": "081320547877" }, "paymentLink": { "id": "a33ce773-2380-48da-b891-e89a32170c7d", "category": null, "createdAt": 1755256271521, "description": "Pembayaran Paket Membership paket 1 - Andika", "link": "evq5sq825kf", "name": "Tagihan Membership - paket 1", "redirectUrl": null, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, "paymentUrl": "https://andiak.myr.id/plt/82472171-f815-4cac-b8a9-f924cbceec35" }, { "id": "f8b0ffba-c1bb-47c6-bd31-4b33fdbe3dd6", "createdAt": 1755256470651, "type": "membership_payment", "amount": 10493, "status": "active", "urlParamTrackingData": null, "paymentLinkId": "586a2d96-41bb-4940-b54f-9d3dfdaf069e", "customerId": "3a5d26f9-894d-47e8-b9e7-4f611979b007", "customeField": null, "customer": { "id": "3a5d26f9-894d-47e8-b9e7-4f611979b007", "email": "muslimbasic8@gmail.com", "name": "Raihan", "mobile": "081320547877" }, "paymentLink": { "id": "586a2d96-41bb-4940-b54f-9d3dfdaf069e", "category": null, "createdAt": 1755256364050, "description": "Pembayaran Paket Membership paket 2 - Andika", "link": "e7uvqy4gbb9", "name": "Tagihan Membership - paket 2", "redirectUrl": null, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, "paymentUrl": "https://andiak.myr.id/plt/f8b0ffba-c1bb-47c6-bd31-4b33fdbe3dd6" }, { "id": "6457c7ae-632a-4708-acee-582cde2352b0", "createdAt": 1755256342870, "type": "membership_payment", "amount": 10493, "status": "active", "urlParamTrackingData": null, "paymentLinkId": "bd98b446-1373-4842-a129-c75af36a9bf9", "customerId": "ce1234f3-6843-4d5c-8838-b7d6f7506955", "customeField": null, "customer": { "id": "ce1234f3-6843-4d5c-8838-b7d6f7506955", "email": "trial@gmail.com", "name": "trial", "mobile": "0884444730242" }, "paymentLink": { "id": "bd98b446-1373-4842-a129-c75af36a9bf9", "category": null, "createdAt": 1755244488205, "description": "Pembayaran Paket Membership paket 2 - Andika", "link": "sei6i61sv4", "name": "Tagihan Membership - paket 2", "redirectUrl": null, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, "paymentUrl": "https://andiak.myr.id/plt/6457c7ae-632a-4708-acee-582cde2352b0" }, { "id": "dd33202d-bab4-4283-9b78-b9f4f1ba308e", "createdAt": 1755256318689, "type": "membership_payment", "amount": 13640, "status": "active", "urlParamTrackingData": null, "paymentLinkId": "75130b99-5ecf-4846-967a-a240d75721b4", "customerId": "db721f94-2f69-46de-8744-46066dd42af6", "customeField": null, "customer": { "id": "db721f94-2f69-46de-8744-46066dd42af6", "email": "mayartesting19@gmail.com", "name": "test UIUX", "mobile": "6281320549999" }, "paymentLink": { "id": "75130b99-5ecf-4846-967a-a240d75721b4", "category": null, "createdAt": 1755256280592, "description": "Pembayaran Paket Membership paket 3 - Andika", "link": "bn046sqay3", "name": "Tagihan Membership - paket 3", "redirectUrl": null, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "coverImageId": null, "multipleImageId": null, "coverImage": null, "multipleImage": null }, "paymentUrl": "https://andiak.myr.id/plt/dd33202d-bab4-4283-9b78-b9f4f1ba308e" } ], "total": 278 } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/transactions/unpaid?page=1&pageSize=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/transactions/unpaid?page=1&pageSize=10 ``` ## Authorizations Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Determine which page. How much data is displayed on the page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Information on whether there is additional data to be retrieved (true/false). Total number of data pages. Number of items per page. The page currently displayed. List of invoices displayed. ### data Structure (Array Of Object) Unique ID for the balance transaction history. The transaction creation time in epoch format (ms). The type of transaction. Payment amount Request status (active = still valid). Data tracking via additional URL parameters (if any). The ID of the payment link used. The unique ID of the customer who made the transaction. additional custom fields that can be filled in by the user (if any). Customer data that makes transactions. Payment link information used for transactions. Unique URL to pay for this request. ### customer Structure (Array Of Object) Unique customer ID. Customer's email address. Customer's name. Customer's mobile phone number. ### paymentLink Structure (Array Of Object) ID payment link. Product category, can be null if there is no category. Product creation time in epoch milliseconds format. Product description. Product slug/short URL. Product name. Redirect destination URL. User ID of the payment link owner. ID cover image, can be null. ID for multiple image group. Cover image data, can be null. List of additional images for the product. # Add Customer Credit Source: https://docs.mayar.id/api-reference/usagebasedmembership/addcustomercredit POST /endpointusagebasedmembership/ This endpoint is used to add credit to a customer’s or member’s account on particular membership tier. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/credit/v1/credit/customer/add-credit' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '{ "memberId" : "KKGOL1MV", // optionally mandatory "productId": "40f26fbe-f4d8-4693-975f-e6d105d291e6", "membershipTierId": "9bbbfa01-1bf8-4e4d-8470-cdf7066b6ea2", "amount": 100 }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "success", "customerId": "faa4ee60-cf45-4043-b964-303890713bb9", "productId": "40f26fbe-f4d8-4693-975f-e6d105d291e6", "membershipTierId": "9bbbfa01-1bf8-4e4d-8470-cdf7066b6ea2", "amount": 100, "customerBalance": 911090 } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/credit/v1/credit/customer/add-credit ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/credit/v1/credit/customer/add-credit ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The unique identifier of the customer whose credit will be spent. The unique identifier of the member whose credit will be spent. The unique identifier of the product associated with the credit. The unique identifier of the membership tier associated with the credit. The amount of credit to deduct (positive integer). At least **one of** `customerId` **or** `memberId` must be provided. ## Response Successful Response Status code form API. Status message that describes the status code. The unique identifier of the customer to whom the credit be added. The unique identifier of the product associated with the credit added. The unique identifier of the membership tier associated with the credit added. The amount of credit to add (positive integer). The amount of credit balance after adding credit. # Get Customer Balance Source: https://docs.mayar.id/api-reference/usagebasedmembership/customerbalance GET /endpointusagebasedmembership/ This is endpoint is used to get a customer credit balance. ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/credit/v1/credit/customer/balance?productId=810328a4-6eeb-4680-8f05-8d578da46c40&membershipTierId=261acae0-d6ae-4d8c-adf5-6fb8c2361514&memberId=PQVS4KGY' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "success", "customerBalance": 50990, "customerBalanceMembership": 0, "customerBalanceAddon": 50990 } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/credit/v1/credit/customer/balance?productId={productId}&membershipTierId={membershipTierId}&memberId={memberId} ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/credit/v1/credit/customer/balance?productId={productId}&membershipTierId={membershipTierId}&memberId={memberId} ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters The unique identifier of the product associated with the credit balance. The unique identifier of the membership tier associated with the credit balance. The unique identifier of the member whose credit balance is being queried. The unique identifier of the customer whose credit balance is being queried balance. At least **one of** `customerId` **or** `memberId` must be provided. ## Response Successful Response Status code form API. Status message that describes the status code. Number of total credit balance. Number of total credit balance with `MEMBERSHIP` type. Number of total credit balance with `ADD_ON` type. # Get Paginate Customer Credit History Source: https://docs.mayar.id/api-reference/usagebasedmembership/paginatecustomercredithistory Get /endpointusagebasedmembership/ This is endpoint is used to get a customer credit transaction history in a pagination form. ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/credit/v1/credit/customer/paginate-credit-history/PQVS4KGY?productId=40f26fbe-f4d8-4693-975f-e6d105d291e6&membershipTierId=261acae0-d6ae-4d8c-adf5-6fb8c2361514&page=1&limit=5' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "success", "total": 10, "page": 1, "limit": 5, "totalPages": 2, "data": [ { "id": "68a84724c8d5f89bdeae7346", "createdAt": "2025-08-22T10:32:04.204Z", "amount": -100000, "productId": "40f26fbe-f4d8-4693-975f-e6d105d291e6", "status": "ACTIVE", "membershipTierId": "9bbbfa01-1bf8-4e4d-8470-cdf7066b6ea2", "customerId": "faa4ee60-cf45-4043-b964-303890713bb9", "merchantId": "35776524-8ea9-46ac-b2dd-89efc496593f", "walletType": "MEMBERSHIP", "type": "EXPIRE_VOID", "referenceId": "68a56306c8d5f89bdeae32fd" }, { "id": "68a84724c8d5f89bdeae7344", "createdAt": "2025-08-22T10:32:03.972Z", "amount": 0, "productId": "40f26fbe-f4d8-4693-975f-e6d105d291e6", "status": "ACTIVE", "membershipTierId": "9bbbfa01-1bf8-4e4d-8470-cdf7066b6ea2", "customerId": "faa4ee60-cf45-4043-b964-303890713bb9", "merchantId": "35776524-8ea9-46ac-b2dd-89efc496593f", "walletType": "MEMBERSHIP", "type": "EXPIRE_VOID", "referenceId": "68a562b2c8d5f89bdeae32fa" }, { "id": "68a6b896c8d5f89bdeae3d5c", "createdAt": "2025-08-21T06:11:34.145Z", "amount": 6000, "productId": "40f26fbe-f4d8-4693-975f-e6d105d291e6", "status": "ACTIVE", "membershipTierId": "9bbbfa01-1bf8-4e4d-8470-cdf7066b6ea2", "customerId": "faa4ee60-cf45-4043-b964-303890713bb9", "merchantId": "35776524-8ea9-46ac-b2dd-89efc496593f", "expiredAt": "2027-07-20T05:52:50.053Z", "walletType": "ADD_ON", "type": "TOPUP" }, { "id": "68a6b31bc8d5f89bdeae3d2c", "createdAt": "2025-08-21T05:48:11.194Z", "amount": 5000, "productId": "40f26fbe-f4d8-4693-975f-e6d105d291e6", "status": "ACTIVE", "membershipTierId": "9bbbfa01-1bf8-4e4d-8470-cdf7066b6ea2", "customerId": "faa4ee60-cf45-4043-b964-303890713bb9", "merchantId": "35776524-8ea9-46ac-b2dd-89efc496593f", "expiredAt": "2027-07-20T05:52:50.053Z", "walletType": "ADD_ON", "type": "TOPUP" }, { "id": "68a573d7c8d5f89bdeae3370", "createdAt": "2025-08-20T07:05:59.723Z", "amount": -100000, "productId": "40f26fbe-f4d8-4693-975f-e6d105d291e6", "status": "ACTIVE", "membershipTierId": "9bbbfa01-1bf8-4e4d-8470-cdf7066b6ea2", "customerId": "faa4ee60-cf45-4043-b964-303890713bb9", "merchantId": "35776524-8ea9-46ac-b2dd-89efc496593f", "expiredAt": null, "walletType": "MEMBERSHIP", "type": "CREDIT_USAGE" } ] } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/credit/v1/credit/customer/paginate-credit-history/{memberId}?productId={productId}&membershipTierId={membershipTierId}&page=1&limit=5 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/credit/v1/credit/customer/paginate-credit-history/{memberId}?productId={productId}&membershipTierId={membershipTierId}&page=1&limit=5 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Path Parameters The unique identifier of the member whose credit balance is being queried. The unique identifier of the customer whose credit balance is being queried balance. either `memberId` or `customerId` must be used to get the desired customer credit history. ## Query Parameters The unique identifier of the product associated with the credit balance. The page number for pagination. The unique identifier of the membership tier associated with the credit balance. The field name used to sort results. The order of sorting. Accepts `"asc"` or `"desc"`. The start date filter for the query range. The end date filter for the query range. The unique identifier of the membership tier associated with the credit history. The type of wallet to filter credit history (e.g., `"MEMBERSHIP"`, `"ADD_ON"`). The transaction type filter (e.g., `"TOPUP"`, `"MERCHANT_TOPUP"` , `"TRIAL_TOPUP"`, `"EXPIRE_VOID"` , `"CREDIT_USAGE"`). ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Indicates the total data. Indicates the current page. Indicates the current limit (page size). Indicates the total page. Result list of requested data. # Regist New Membership Customer Source: https://docs.mayar.id/api-reference/usagebasedmembership/registnewmembershipcustomer POST /endpointusagebasedmembership/ This endpoint is used to register new customers into the membership credit product. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/credit/v1/credit/membership/customer/regist' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data-raw '{ "productId": "40f26fbe-f4d8-4693-975f-e6d105d291e6", "membershipTierId": "9bbbfa01-1bf8-4e4d-8470-cdf7066b6ea2", "membershipMonthlyPeriod": 1, // mandatory must 1, 3, 6, 12 "trialCredit": 100, //optional "customerInfo": { "name" : "memberTambahan", "email" : "tambahan@gg.com", "mobile" : "08777777799" } }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "success", "membershipCustomer": { "id": "68ca1a1c-7ed8-47f3-a5c2-c5ff314dd750", "userId": "35776524-8ea9-46ac-b2dd-89efc496593f", "paymentLinkId": "40f26fbe-f4d8-4693-975f-e6d105d291e6", "createdAt": 1756088397669, "nextPayment": 1758766797571, "isLifetimePeriod": null, "paymentLink": { "id": "40f26fbe-f4d8-4693-975f-e6d105d291e6", "name": "produk baru 2", "description": "

xcxcxccx

\n" } } } ```
Endpoint: ```Production Production theme={null} https://api.mayar.id/credit/v1/credit/membership/customer/regist ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/credit/v1/credit/membership/customer/regist ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The unique identifier of the product associated with the credit. The unique identifier of the membership tier to assign to the customer. The membership period in months. Must be one of `1`, `3`, `6`, or `12`. The trial credit amount to grant upon registration. Object containing customer details. ### customerInfo Structure (Array Of Object) Full name of the customer. Email address of the customer. Mobile phone number of the customer. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Contains details of the newly registered or updated membership customer. ### membershipCustomer Structure (Array Of Object) Unique identifier of the membership customer record. Unique identifier of the user associated with this membership. Unique identifier of the payment link associated with this membership. Timestamp (in milliseconds) indicating when the membership was created. Timestamp (in milliseconds) of the next scheduled payment. ndicates whether the membership has a lifetime period; `null` if not set. Details of the payment link. ### paymentLink Structure (Array Of Object) Unique identifier of the payment link. Name of the payment link or product. Description of the payment link or product in HTML format. # Spend Customer Credit Source: https://docs.mayar.id/api-reference/usagebasedmembership/spendcustomercredit POST /endpointusagebasedmembership/ This endpoint is used to spend a specified amount of credit from a customer’s or member’s account on particular membership tier. ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/credit/v1/credit/customer/spend' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '{ "memberId" : "KKGOL1MV", // optionally mandatory "productId": "40f26fbe-f4d8-4693-975f-e6d105d291e6", "membershipTierId": "9bbbfa01-1bf8-4e4d-8470-cdf7066b6ea2", "amount": 10 }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "message": "Successfully spent 10. MEMBERSHIP: 10, ADD_ON: 0" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/credit/v1/credit/customer/spend ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/credit/v1/credit/customer/spend ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body The unique identifier of the customer whose credit will be spent. The unique identifier of the member whose credit will be spent. The unique identifier of the product associated with the credit. The unique identifier of the membership tier associated with the credit. The amount of credit to deduct (positive integer). At least **one of** `customerId` **or** `memberId` must be provided. ## Response Successful Response Status code form API. Status message that describes the status code. # Get History Source: https://docs.mayar.id/api-reference/webhook/history GET /endpointwebhook/history Endpoint to get data webhook history This `/history` endpoint is **deprecated** and only returns **old** webhook history. For the current and up-to-date webhook history, please use the new endpoint: `GET /hl/v2/webhooks/new-history` (see [Webhook New History](/api-reference-v2/webhook/newhistory)). ```bash Request Example theme={null} curl --request GET 'https://api.mayar.id/hl/v1/webhook/history?page=1&pageSize=10' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "hasMore": true, "pageCount": 77, "pageSize": 10, "page": 1, "data": [ { "id": "7d567063-ad7f-48d5-9e84-0e41938783a5", "createdAt": 1745919352229, "nextDelivery": null, "paymentLinkId": "688b6a9f-2893-4b8a-a637-a008d91d0cfc", "payload": "{\"event\":\"payment.received\",\"data\":{\"id\":\"43b2f0ce-03f2-4f59-a341-299ea3ef19b6\",\"transactionId\":\"43b2f0ce-03f2-4f59-a341-299ea3ef19b6\",\"status\":\"SUCCESS\",\"transactionStatus\":\"paid\",\"createdAt\":\"2025-04-29T09:35:43.635Z\",\"updatedAt\":\"2025-04-29T09:35:43.635Z\",\"merchantId\":\"8afa8430-9ccd-4d33-9c1b-e0999a319994\",\"merchantName\":\"Andika\",\"merchantEmail\":\"mayartesting05@gmail.com\",\"customerName\":\"ladu\",\"customerEmail\":\"ladusing@gmail.com\",\"customerMobile\":\"0888775540242\",\"amount\":0,\"isAdminFeeBorneByCustomer\":null,\"isChannelFeeBorneByCustomer\":null,\"productId\":\"688b6a9f-2893-4b8a-a637-a008d91d0cfc\",\"productName\":\"E-Book JOURNAL DESIGN OF AUTOMATIC\",\"productType\":\"ebook\",\"pixelFbp\":\"fb.1.1716364188358.1111830624\",\"pixelFbc\":null,\"qty\":1,\"couponUsed\":null,\"paymentMethod\":null}}", "status": "SUCCESS", "type": "payment.received", "updatedAt": 1745919352229, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "paymentLinkTransactionId": "43b2f0ce-03f2-4f59-a341-299ea3ef19b6", "urlDestination": "https://eoze6x1sc8k58q4.m.pipedream.net", "responsePayload": null, "source": "AUTOMATIC" }, { "id": "7c98876e-bed4-44de-bd37-b144a4559476", "createdAt": 1745918541638, "nextDelivery": null, "paymentLinkId": "f361e6f5-5e92-4ba8-a244-b9b7823003fc", "payload": "{\"event\":\"payment.received\",\"data\":{\"id\":\"8e537afc-4f2f-4e1c-b91b-f75af34bf71a\",\"transactionId\":\"8e537afc-4f2f-4e1c-b91b-f75af34bf71a\",\"status\":\"SUCCESS\",\"transactionStatus\":\"paid\",\"createdAt\":\"2025-04-29T09:22:11.239Z\",\"updatedAt\":\"2025-04-29T09:22:11.239Z\",\"merchantId\":\"8afa8430-9ccd-4d33-9c1b-e0999a319994\",\"merchantName\":\"Andika\",\"merchantEmail\":\"mayartesting05@gmail.com\",\"customerName\":\"ladu\",\"customerEmail\":\"ladusing@gmail.com\",\"customerMobile\":\"0888775540242\",\"amount\":0,\"isAdminFeeBorneByCustomer\":null,\"isChannelFeeBorneByCustomer\":null,\"productId\":\"f361e6f5-5e92-4ba8-a244-b9b7823003fc\",\"productName\":\"Test 04\",\"productType\":\"digital_product\",\"pixelFbp\":\"fb.1.1716364188358.1111830624\",\"pixelFbc\":null,\"qty\":1,\"couponUsed\":null,\"paymentMethod\":null}}", "status": "SUCCESS", "type": "payment.received", "updatedAt": 1745918541638, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "paymentLinkTransactionId": "8e537afc-4f2f-4e1c-b91b-f75af34bf71a", "urlDestination": "https://eoze6x1sc8k58q4.m.pipedream.net", "responsePayload": null, "source": "AUTOMATIC" }, { "id": "6e93eae5-e190-4989-8e0f-1b4870be9bce", "createdAt": 1745569215626, "nextDelivery": null, "paymentLinkId": "d071116a-4359-4262-90dc-a7bd137c1baa", "payload": "{\"event\":\"payment.reminder\",\"data\":{\"id\":\"089fcdc2-5292-4e09-8b29-cfb7bdde3be6\",\"transactionId\":\"089fcdc2-5292-4e09-8b29-cfb7bdde3be6\",\"status\":\"SUCCESS\",\"transactionStatus\":\"created\",\"createdAt\":\"2025-04-25T07:58:27.539Z\",\"updatedAt\":\"2025-04-25T08:00:21.672Z\",\"merchantId\":\"8afa8430-9ccd-4d33-9c1b-e0999a319994\",\"merchantEmail\":\"mayartesting05@gmail.com\",\"customerName\":\"Harus Buat auto testing\",\"customerEmail\":\"mayartesting05@gmail.com\",\"customerMobile\":\"081320547877\",\"amount\":107135,\"isAdminFeeBorneByCustomer\":true,\"isChannelFeeBorneByCustomer\":true,\"productId\":\"d071116a-4359-4262-90dc-a7bd137c1baa\",\"productName\":\"test UIUX Produk Digital\",\"productType\":\"digital_product\",\"pixelFbp\":\"fb.1.1737105110463.389414050868219356\",\"pixelFbc\":null,\"qty\":1,\"couponUsed\":null,\"paymentMethod\":\"qris\",\"paymentUrl\":\"https://andiak.myr.id/select-channel/089fcdc2-5292-4e09-8b29-cfb7bdde3be6?webhook=true\"}}", "status": "SUCCESS", "type": "payment.reminder", "updatedAt": 1745569215626, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "paymentLinkTransactionId": "089fcdc2-5292-4e09-8b29-cfb7bdde3be6", "urlDestination": "https://eoze6x1sc8k58q4.m.pipedream.net", "responsePayload": null, "source": "AUTOMATIC" }, { "id": "af46a267-8896-446d-ac7e-90c212e756db", "createdAt": 1745386516347, "nextDelivery": null, "paymentLinkId": "0dd01bc9-ca99-4c0f-94df-fcfb78b835de", "payload": "{\"event\":\"payment.received\",\"data\":{\"id\":\"2c53458c-51ee-4fcc-8f6c-03b4ee948054\",\"transactionId\":\"2c53458c-51ee-4fcc-8f6c-03b4ee948054\",\"status\":\"SUCCESS\",\"transactionStatus\":\"paid\",\"createdAt\":\"2025-04-23T05:35:05.951Z\",\"updatedAt\":\"2025-04-23T05:35:05.951Z\",\"merchantId\":\"8afa8430-9ccd-4d33-9c1b-e0999a319994\",\"merchantName\":\"Andika\",\"merchantEmail\":\"mayartesting05@gmail.com\",\"customerName\":\"Harus Buat auto testing\",\"customerEmail\":\"mayartesting05@gmail.com\",\"customerMobile\":\"081320547877\",\"amount\":0,\"isAdminFeeBorneByCustomer\":null,\"isChannelFeeBorneByCustomer\":null,\"productId\":\"0dd01bc9-ca99-4c0f-94df-fcfb78b835de\",\"productName\":\" Algoritma Pemrograman Dasar\",\"productType\":\"course\",\"pixelFbp\":\"fb.1.1737105110463.389414050868219356\",\"pixelFbc\":null,\"qty\":1,\"couponUsed\":null,\"paymentMethod\":null}}", "status": "SUCCESS", "type": "payment.received", "updatedAt": 1745386516348, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "paymentLinkTransactionId": "2c53458c-51ee-4fcc-8f6c-03b4ee948054", "urlDestination": "https://eoze6x1sc8k58q4.m.pipedream.net", "responsePayload": null, "source": "AUTOMATIC" }, { "id": "7514ea9b-61e7-4d3f-af42-7f7fc08cfaa6", "createdAt": 1745386309689, "nextDelivery": null, "paymentLinkId": "f361e6f5-5e92-4ba8-a244-b9b7823003fc", "payload": "{\"event\":\"payment.received\",\"data\":{\"id\":\"e801de8c-ab24-4ffa-ac14-99349495c325\",\"transactionId\":\"e801de8c-ab24-4ffa-ac14-99349495c325\",\"status\":\"SUCCESS\",\"transactionStatus\":\"paid\",\"createdAt\":\"2025-04-23T05:31:39.805Z\",\"updatedAt\":\"2025-04-23T05:31:39.805Z\",\"merchantId\":\"8afa8430-9ccd-4d33-9c1b-e0999a319994\",\"merchantName\":\"Andika\",\"merchantEmail\":\"mayartesting05@gmail.com\",\"customerName\":\"Harus Buat auto testing\",\"customerEmail\":\"mayartesting05@gmail.com\",\"customerMobile\":\"081320547877\",\"amount\":0,\"isAdminFeeBorneByCustomer\":null,\"isChannelFeeBorneByCustomer\":null,\"productId\":\"f361e6f5-5e92-4ba8-a244-b9b7823003fc\",\"productName\":\"Test 04\",\"productType\":\"digital_product\",\"pixelFbp\":\"fb.1.1737105110463.389414050868219356\",\"pixelFbc\":null,\"qty\":1,\"couponUsed\":null,\"paymentMethod\":null}}", "status": "SUCCESS", "type": "payment.received", "updatedAt": 1745386309689, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "paymentLinkTransactionId": "e801de8c-ab24-4ffa-ac14-99349495c325", "urlDestination": "https://eoze6x1sc8k58q4.m.pipedream.net", "responsePayload": null, "source": "AUTOMATIC" }, { "id": "544df424-7584-478b-8ec9-37e4507d3296", "createdAt": 1745386189675, "nextDelivery": null, "paymentLinkId": "4f1af572-9a12-489f-b6bb-a067ab1402d5", "payload": "{\"event\":\"payment.received\",\"data\":{\"id\":\"f90f4d32-bdf7-4d11-8253-6f7ce19e4a78\",\"transactionId\":\"f90f4d32-bdf7-4d11-8253-6f7ce19e4a78\",\"status\":\"SUCCESS\",\"transactionStatus\":\"created\",\"createdAt\":\"2025-04-23T05:28:45.172Z\",\"updatedAt\":\"2025-04-23T05:28:46.785Z\",\"merchantId\":\"8afa8430-9ccd-4d33-9c1b-e0999a319994\",\"merchantName\":\"Andika\",\"merchantEmail\":\"mayartesting05@gmail.com\",\"customerName\":\"Harus Buat auto testing\",\"customerEmail\":\"mayartesting05@gmail.com\",\"customerMobile\":\"081320547877\",\"amount\":1045,\"isAdminFeeBorneByCustomer\":true,\"isChannelFeeBorneByCustomer\":true,\"productId\":\"4f1af572-9a12-489f-b6bb-a067ab1402d5\",\"productName\":\"test UIUX Link Pembayaran\",\"productType\":\"generic_link\",\"pixelFbp\":\"fb.1.1737105110463.389414050868219356\",\"pixelFbc\":null,\"qty\":1,\"couponUsed\":null,\"paymentMethod\":\"QRIS\",\"nettAmount\":1000,\"custom_field\":[{\"name\":\"Harus Buat auto testing\",\"description\":\"Baskomg\",\"fieldType\":\"text\",\"isRequired\":false,\"key\":\"6df52b26-b018-4855-ab3d-8fdfb46861b8\",\"type\":\"string\",\"value\":\"tests\"},{\"name\":\"Harus Buat auto testing\",\"description\":\"Baskomg\",\"fieldType\":\"multipleText\",\"isRequired\":false,\"key\":\"80912ec7-e83d-46c6-afab-55ad39e88114\",\"type\":\"string\",\"value\":\"belajara\"},{\"name\":\"Harus Buat auto testing\",\"description\":\"Baskomg\",\"fieldType\":\"checkbox\",\"isRequired\":false,\"key\":\"55695415-e3bb-4127-92e0-29c7a756812d\",\"type\":\"lists\",\"value\":[{\"name\":\"Harus Buat auto testing\",\"value\":\"55695415-e3bb-4127-92e0-29c7a756812d\",\"selected\":true}]},{\"name\":\"Harus Buat auto testing\",\"description\":\"Baskomg\",\"fieldType\":\"textNumber\",\"isRequired\":false,\"key\":\"ddcd3c04-928e-4dd2-b011-5d5919a622e3\",\"type\":\"number\",\"value\":\"1232\"},{\"name\":\"Harus Buat auto testing\",\"description\":\"Baskomg\",\"fieldType\":\"date\",\"isRequired\":false,\"key\":\"fffe0331-8813-4e63-9802-8a3fab49368d\",\"type\":\"datetime\",\"value\":\"2025-04-25T17:00:00.000Z\"},{\"name\":\"Harus Buat auto testing\",\"description\":\"Baskomg\",\"fieldType\":\"select\",\"isRequired\":false,\"key\":\"0922d967-5635-43ce-855e-cb66e375047e\",\"type\":\"lists\",\"value\":[{\"name\":\"ddfdf\",\"value\":\"ddfdf\",\"key\":\"9f66d951-b773-4992-bccd-03586ffb865d\",\"selected\":false},{\"name\":\"perempuan\",\"value\":\"perempuan\",\"key\":\"51f180ec-70be-4588-83ba-f3faca6deea1\",\"selected\":false},{\"name\":\"laki\",\"value\":\"laki\",\"key\":\"c25f5360-c3e8-47d7-940c-d2f60d788225\",\"selected\":true}],\"selectedValue\":{\"name\":\"laki\",\"value\":\"laki\",\"key\":\"c25f5360-c3e8-47d7-940c-d2f60d788225\",\"selected\":true}},{\"name\":\"Harus Buat auto testing\",\"description\":\"Baskomg\",\"fieldType\":\"url\",\"isRequired\":false,\"key\":\"a598d6d6-e39c-4f30-8755-62141567c848\",\"type\":\"url\",\"value\":\"https://andiak.myr.id/pl/test-uiux-55576\"}]}}", "status": "SUCCESS", "type": "payment.received", "updatedAt": 1745386189676, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "paymentLinkTransactionId": "f90f4d32-bdf7-4d11-8253-6f7ce19e4a78", "urlDestination": "https://eoze6x1sc8k58q4.m.pipedream.net", "responsePayload": null, "source": "AUTOMATIC" }, { "id": "897920cd-4dd8-4d40-af96-0c8c541fac43", "createdAt": 1745378929327, "nextDelivery": null, "paymentLinkId": "670ee967-8d09-40d4-95b2-7983f6ce5544", "payload": "{\"event\":\"payment.received\",\"data\":{\"id\":\"43bf4898-c081-4e5d-a6da-f5c78ec46486\",\"transactionId\":\"43bf4898-c081-4e5d-a6da-f5c78ec46486\",\"status\":\"SUCCESS\",\"transactionStatus\":\"paid\",\"createdAt\":\"2025-04-23T03:28:39.894Z\",\"updatedAt\":\"2025-04-23T03:28:39.895Z\",\"merchantId\":\"8afa8430-9ccd-4d33-9c1b-e0999a319994\",\"merchantName\":\"Andika\",\"merchantEmail\":\"mayartesting05@gmail.com\",\"customerName\":\"Aldoghandika\",\"customerEmail\":\"aldobaik18@gmail.com\",\"customerMobile\":\"0877828291999\",\"amount\":0,\"isAdminFeeBorneByCustomer\":null,\"isChannelFeeBorneByCustomer\":null,\"productId\":\"670ee967-8d09-40d4-95b2-7983f6ce5544\",\"productName\":\"test UIUX Membership\",\"productType\":\"membership\",\"pixelFbp\":\"fb.1.1737105110463.389414050868219356\",\"pixelFbc\":null,\"qty\":1,\"couponUsed\":null,\"paymentMethod\":null,\"membershipTier\":{\"id\":\"3a57c51e-48d8-4051-9651-6eff0a5eae24\",\"createdAt\":1738212685739,\"paymentAtStart\":true,\"paymentLinkId\":\"670ee967-8d09-40d4-95b2-7983f6ce5544\",\"updatedAt\":1738212685739,\"gracePeriodInDays\":0,\"isTrialAvailable\":true,\"finishMembershipAt\":null,\"name\":\"test UIUX 3\",\"notes\":\"Lorem ipsum dolor sit amet consectetur adipiscing, elit posuere euismod nascetur purus morbi, nam commodo fames sociis non. Litora aliquam imperdiet vulputate iaculis quisque eleifend nam lectus eget facilisi maecenas ullamcorper, sed malesuada nisi est sollicitudin magnis aptent blandit lacus donec. Sed placerat volutpat natoque ullamcorper cubilia senectus, elementum nisi tristique venenatis himenaeos metus felis, faucibus scelerisque cras arcu pretium. Nisl tincidunt nullam imperdiet scelerisque condimentum lectus inceptos, risus suspendisse purus sociosqu hendrerit consequat arcu neque, erat urna donec nunc dapibus maecenas. Nostra id pellentesque bibendum porttitor cubilia etiam luctus platea nec, porta magnis tortor fringilla venenatis conubia enim nisi, dictumst habitasse eros integer dictum praesent accumsan euismod. \",\"limit\":null},\"membershipCustomer\":{\"id\":\"3d22701d-0811-406e-b289-f7c92ce04a89\",\"isInTrial\":true,\"expiredAt\":1747970919291,\"status\":\"active\",\"isLifetimePeriod\":null,\"nextPayment\":1747970919291,\"monthlyPaymentPeriod\":null,\"membershipTierId\":\"3a57c51e-48d8-4051-9651-6eff0a5eae24\",\"isAlreadyUsedTrial\":null}}}", "status": "SUCCESS", "type": "payment.received", "updatedAt": 1745378929327, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "paymentLinkTransactionId": "43bf4898-c081-4e5d-a6da-f5c78ec46486", "urlDestination": "https://eoze6x1sc8k58q4.m.pipedream.net", "responsePayload": null, "source": "AUTOMATIC" }, { "id": "8153c243-c5bf-4145-941e-9aef43011677", "createdAt": 1745377230152, "nextDelivery": null, "paymentLinkId": "670ee967-8d09-40d4-95b2-7983f6ce5544", "payload": "{\"event\":\"payment.reminder\",\"data\":{\"id\":\"d43eaa25-01b7-461e-9340-ba95b453cb84\",\"transactionId\":\"d43eaa25-01b7-461e-9340-ba95b453cb84\",\"status\":\"SUCCESS\",\"transactionStatus\":\"created\",\"createdAt\":\"2025-04-23T02:31:30.865Z\",\"updatedAt\":\"2025-04-23T02:35:31.483Z\",\"merchantId\":\"8afa8430-9ccd-4d33-9c1b-e0999a319994\",\"merchantEmail\":\"mayartesting05@gmail.com\",\"customerName\":\"ali kusnadi\",\"customerEmail\":\"kugutsu.hiruko@gmail.com\",\"customerMobile\":\"6285797522261\",\"amount\":33000,\"isAdminFeeBorneByCustomer\":false,\"isChannelFeeBorneByCustomer\":false,\"productId\":\"670ee967-8d09-40d4-95b2-7983f6ce5544\",\"productName\":\"test UIUX Membership\",\"productType\":\"membership\",\"pixelFbp\":\"fb.1.1745375116069.518591344665233937\",\"pixelFbc\":null,\"qty\":1,\"couponUsed\":null,\"paymentMethod\":null,\"paymentUrl\":\"https://andiak.myr.id/plt/d43eaa25-01b7-461e-9340-ba95b453cb84?webhook=true\"}}", "status": "SUCCESS", "type": "payment.reminder", "updatedAt": 1745377230152, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "paymentLinkTransactionId": "d43eaa25-01b7-461e-9340-ba95b453cb84", "urlDestination": "https://eoze6x1sc8k58q4.m.pipedream.net", "responsePayload": null, "source": "AUTOMATIC" }, { "id": "539e936e-5fa2-4710-b8fd-50863c188921", "createdAt": 1745377228533, "nextDelivery": null, "paymentLinkId": "670ee967-8d09-40d4-95b2-7983f6ce5544", "payload": "{\"event\":\"payment.reminder\",\"data\":{\"id\":\"c238d027-fe8c-4777-9241-48c635b66597\",\"transactionId\":\"c238d027-fe8c-4777-9241-48c635b66597\",\"status\":\"SUCCESS\",\"transactionStatus\":\"created\",\"createdAt\":\"2025-04-23T02:26:35.509Z\",\"updatedAt\":\"2025-04-23T02:30:24.027Z\",\"merchantId\":\"8afa8430-9ccd-4d33-9c1b-e0999a319994\",\"merchantEmail\":\"mayartesting05@gmail.com\",\"customerName\":\"ali kusnadi\",\"customerEmail\":\"kugutsu.hiruko@gmail.com\",\"customerMobile\":\"6285797522261\",\"amount\":13782,\"isAdminFeeBorneByCustomer\":true,\"isChannelFeeBorneByCustomer\":true,\"productId\":\"670ee967-8d09-40d4-95b2-7983f6ce5544\",\"productName\":\"test UIUX Membership\",\"productType\":\"membership\",\"pixelFbp\":\"fb.1.1745375116069.518591344665233937\",\"pixelFbc\":null,\"qty\":1,\"couponUsed\":null,\"paymentMethod\":\"qris\",\"paymentUrl\":\"https://andiak.myr.id/select-channel/c238d027-fe8c-4777-9241-48c635b66597?webhook=true\"}}", "status": "SUCCESS", "type": "payment.reminder", "updatedAt": 1745377228533, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "paymentLinkTransactionId": "c238d027-fe8c-4777-9241-48c635b66597", "urlDestination": "https://eoze6x1sc8k58q4.m.pipedream.net", "responsePayload": null, "source": "AUTOMATIC" }, { "id": "b13dbe97-1dd6-4383-ab92-400f9cdd3b74", "createdAt": 1745377224450, "nextDelivery": null, "paymentLinkId": "805ceb62-54c9-4671-9b2a-4d13c643b78e", "payload": "{\"event\":\"payment.reminder\",\"data\":{\"id\":\"8850d886-39a7-42f7-927c-16e8fb346d16\",\"transactionId\":\"8850d886-39a7-42f7-927c-16e8fb346d16\",\"status\":\"SUCCESS\",\"transactionStatus\":\"created\",\"createdAt\":\"2025-04-23T02:30:29.693Z\",\"updatedAt\":\"2025-04-23T02:35:31.235Z\",\"merchantId\":\"8afa8430-9ccd-4d33-9c1b-e0999a319994\",\"merchantEmail\":\"mayartesting05@gmail.com\",\"customerName\":\"Firzha Ardhia Ramadhan\",\"customerEmail\":\"zhaardhiatesting@gmail.com\",\"customerMobile\":\"08551498798\",\"amount\":1073,\"isAdminFeeBorneByCustomer\":true,\"isChannelFeeBorneByCustomer\":true,\"productId\":\"805ceb62-54c9-4671-9b2a-4d13c643b78e\",\"productName\":\"test UIUX Audiobook\",\"productType\":\"audiobook\",\"pixelFbp\":\"fb.1.1721824347392.952216048745555286\",\"pixelFbc\":null,\"qty\":1,\"couponUsed\":null,\"paymentMethod\":\"qris\",\"paymentUrl\":\"https://andiak.myr.id/select-channel/8850d886-39a7-42f7-927c-16e8fb346d16?webhook=true\"}}", "status": "SUCCESS", "type": "payment.reminder", "updatedAt": 1745377224450, "userId": "8afa8430-9ccd-4d33-9c1b-e0999a319994", "paymentLinkTransactionId": "8850d886-39a7-42f7-927c-16e8fb346d16", "urlDestination": "https://eoze6x1sc8k58q4.m.pipedream.net", "responsePayload": null, "source": "AUTOMATIC" } ] } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/webhook/history?page=1&pageSize=10 ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/webhook/history?page=1&pageSize=10 ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Query Parameters Determine which page. How much data is displayed on the page. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. Information on whether there is additional data to be retrieved (true/false). Total number of data pages. Number of items per page. The page currently displayed. List of products displayed. ### data Structure (Array Of Object) Webhook delivery record ID. Creation time of the webhook delivery log. Timestamp of the next delivery attempt (if any). Associated payment link ID. Original webhook payload sent (contains event + transaction data). Delivery status (example: `"SUCCESS"`). Webhook event type (example: `"payment.received"`, `"payment.reminder"`). Last update timestamp. User ID who owns this webhook. Associated transaction ID. Destination endpoint where the webhook is delivered. Response returned from the destination endpoint. Indicates whether the webhook was sent automatically or manually (example: `"AUTOMATIC"`). # Register URL Hook Source: https://docs.mayar.id/api-reference/webhook/registerurlhook POST /endpointwebhook/registerurlhook Endpoint to register your URL Hook for Webhook ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/webhook/register' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '{ "urlHook": "https://example.mayar.com" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/webhook/register ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/webhook/register ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body URL for webhook callback. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. # Retry History Source: https://docs.mayar.id/api-reference/webhook/retryhistory POST /endpointwebhook/retryhistory Endpoint retry your webhook history data ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/webhook/retry' \ --header 'Authorization: Bearer Bearer Paste-Your-API-Key-Here' \ --data '{ "webhookHistoryId": "9f8050f0-9a58-4432-bf36-a7eeff7d6aea" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/webhook/retry ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/webhook/retry ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Unique ID for webhook delivery history log. ## Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. # Test URL Hook Source: https://docs.mayar.id/api-reference/webhook/testurlhook POST /endpointwebhook/testurlhook Endpoint to testing your URL Hook for Webhook ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/webhook/test' \ --header 'Authorization: Bearer Paste-Your-API-Key-Here' \ --data '{ "urlHook": "https://example.mayar.com" }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success" } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/webhook/test ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/webhook/test ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body URL for webhook callback. ### Response Successful Response ### Main Structure (Root) Status code form API. Status message that describes the status code. # Create Webinar Source: https://docs.mayar.id/api-reference/webinar/create POST /endpointwebinar/create Endpoint to create webinar product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/product/webinar/create'\ --header 'Authorization: Bearer Paste-Your-API-Key-Here'\ --data-raw '{ "name": "Webinar Belajar Crypto Untuk Pemula", "description": "Belajar dulu", "amount": 100000, "crossoutPrice": 199000, "eventUrl": "https://zoom.us/j/123456", "notes": "early-bird sd ds ds", "terms": "Tidak ada refund setelah pembelian", "redirectUrl": "https://example.com/webinar-thanks", "paymentType": "paid", "startAt": "2026-06-01T09:00:00.000Z", "eventStartAt": "2026-06-10T09:00:00.000Z", "eventEndAt": "2026-06-10T12:00:00.000Z", "expiredAt": "2026-06-15T12:00:00.000Z", "limit": 100 }' ``` ```json Response Example 200 theme={null} { "statusCode":200, "messages":"success", "data": { "id":"3f4fc3fd-10dc-4a97-b54c-7632881858cb", "link":"https://testingmayar.myr.id/pl/Webinar-Belajar-Crypto-Untuk-Pemula" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/product/webinar/create ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/product/webinar/create ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Webinar product name. Webinar product description. Webinar price amount. Crossed-out price displayed as the original price. Webinar URL, such as Zoom or meeting link. Additional notes for the webinar. Terms and conditions for the webinar purchase. URL where the customer will be redirected after completing payment. Payment type for the webinar. Sales start date in ISO 8601 format. Webinar start date in ISO 8601 format. Webinar end date in ISO 8601 format. Webinar product expiration date in ISO 8601 format. Maximum participant or purchase limit. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The created webinar product data. ### data Structure (Array of Object) Unique identifier of the webinar product. Public URL of the created webinar product. # Edit Webinar Source: https://docs.mayar.id/api-reference/webinar/edit POST /endpointwebinar/edit Endpoint used to edit webinar product ```bash Request Example theme={null} curl --request POST 'https://api.mayar.id/hl/v1/product/webinar/edit`\ --header 'Authorization: Bearer Paste-Your-API-Key-Here'\ --data-raw '{ "id": "3f4fc3fd-10dc-4a97-b54c-7632881858cb", "name": "Webinar Belajar Crypto Untuk Pemula", "description": "Belajar dulu", "amount": 100000, "crossoutPrice": 199000, "eventUrl": "https://zoom.us/j/123456", "notes": "Kalo susah tanya aja ya", "terms": "Tidak ada refund setelah pembelian", "redirectUrl": "https://example.com/webinar-thanks", "paymentType": "paid", "startAt": "2026-06-01T09:00:00.000Z", "eventStartAt": "2026-06-10T09:00:00.000Z", "eventEndAt": "2026-06-10T12:00:00.000Z", "expiredAt": "2026-06-15T12:00:00.000Z", "limit": 100 }' ``` ```json Response Example 200 theme={null} { "statusCode": 200, "messages": "success", "data": { "id": "3f4fc3fd-10dc-4a97-b54c-7632881858cb", "link": "https://testingmayar.myr.id/pl/Webinar-Belajar-Crypto-Untuk-Pemula" } } ``` Endpoint: ```Production Production theme={null} https://api.mayar.id/hl/v1/product/webinar/edit ``` ```Sandbox Sandbox theme={null} https://api.mayar.io/hl/v1/product/webinar/edit ``` ## Authorization Example: `Authorization | Bearer Paste-Your-API-Key-Here` ## Request Body Unique identifier of the webinar product. Webinar product name. Webinar product description. Webinar price amount. Crossed-out price displayed as the original price. Webinar URL, such as Zoom or meeting link. Additional notes for the webinar. Terms and conditions for the webinar purchase. URL where the customer will be redirected after completing payment. Payment type for the webinar. Sales start date in ISO 8601 format. Webinar start date in ISO 8601 format. Webinar end date in ISO 8601 format. Webinar product expiration date in ISO 8601 format. Maximum participant or purchase limit. ## Response Successful Response ### Main Structure (Root) Status code from API. Status message that describes the status code. The created webinar product data. ### data Structure (Array of Object) Unique identifier of the webinar product. Public URL of the created webinar product. # Business Verification Source: https://docs.mayar.id/businessverify In this section, we'll explore the Business Verification Form and explain the different verification statuses you might come across. ### Overview Business verification is a crucial step in setting up your MAYAR account. This process helps us ensure the safety and legitimacy of all businesses using our platform. ### Why is Business Verification Required? MAYAR, like many platforms, requires business verification to ensure security, legal compliance, user trust, and to protect the platform as a whole. It also helps us provide a better and safer user experience by making sure registered businesses are legitimate, reducing fraud risk, and maintaining the platform’s integrity and reputation. ### Business Verification Form The Business Verification Form is a detailed form that collects important information about your business. This information helps our team evaluate and verify your business operations. MAYAR provides 5 types of verification, based on the type of business entity: Individual, Business, Foundation (Non-profit), Limited Liability Company (PT), and Sole Proprietorship (PT Perorangan). Gambar HD32 Pn ### Types of Business Verification Forms on MAYAR This form is for individuals who want to use MAYAR services for personal business purposes without establishing a formal legal entity. Required information includes: Full Name (as per ID), ID Number, Business Name, Business Description (include social media and/or website), Business Address, and Website. Required documents: | No. | Documents | | --- | ----------------------------------------------------------------- | | 1. | National ID (KTP) | | 2. | Selfie with ID | | 3. | Tax ID (NPWP) **(Optional)** | | 4. | Bank Book Front Page / Screenshot showing account name and number | This form is for businesses registered as non-legal entities, such as a *firm* or a *CV*. Required information includes: Full Name (as per ID) of the Director or Responsible Person, ID Number, Business Name, Business Description (include social media and/or website), Business Address, and Website. Required documents: | No. | Documents | | --- | ----------------------------------------------------------------- | | 1. | National ID (KTP) of Director/Responsible Person | | 2. | Selfie with ID | | 3. | Company Deed | | 4. | Ministry of Law and Human Rights Decree (SK Kemenkumham) | | 5. | Company Registration Certificate (TDP) | | 6. | Business Identification Number (NIB) | | 7. | Business License (SIUP) | | 8. | Company Tax ID (NPWP) | | 9. | Bank Book Front Page / Screenshot showing account name and number | This form is for nonprofit organizations registered as foundations. It requires specific documents showing nonprofit status and social objectives. Required information includes: Full Name (as per ID) of the Director or Responsible Person, and ID Number. Required documents: | No. | Documents | | --- | ----------------------------------------------------------------- | | 1. | National ID (KTP) of Director/Responsible Person | | 2. | Foundation Deed | | 3. | Ministry of Law and Human Rights Decree (SK Kemenkumham) | | 4. | Foundation Registration Certificate (TDY) | | 5. | Foundation Tax ID (NPWP) | | 6. | Bank Book Front Page / Screenshot showing account name and number | This form is for businesses established as Limited Liability Companies (PT), which are legal entities with share ownership. Required information includes: Full Name (as per ID) of the Director or Responsible Person, ID Number, Company Name, Company Description (include social media and/or website), Company Address, and Website. Required documents: | No. | Documents | | --- | ----------------------------------------------------------------- | | 1. | National ID (KTP) of Owner or Director | | 2. | Company Tax ID (NPWP) | | 3. | Business Identification Number (NIB) | | 4. | Latest Director Appointment Deed | | 5. | Ministry of Law and Human Rights Decree for Director Appointment | | 6. | Bank Book Front Page / Screenshot showing account name and number | | 7. | Other Required Industry Permits **(Optional)** | This form is for a Limited Liability Company owned by a single individual, a new type of company in Indonesia with simpler establishment requirements than a regular PT. Required information includes: Full Name (as per ID) of the Director or Responsible Person, ID Number, Company Name, Company Description (including social media and/or website), Company Address, and Website. Required documents: | No. | Documents | | --- | ----------------------------------------------------------------- | | 1. | National ID (KTP) of Owner or Director | | 2. | Company Tax ID (NPWP) | | 3. | Business Identification Number (NIB) | | 4. | Sole Proprietorship Establishment Statement Letter | | 5. | Sole Proprietorship Registration Certificate | | 6. | Bank Book Front Page / Screenshot showing account name and number | | 7. | Other Required Industry Permits **(Optional)** | ### Verification Statuses | **Verification Statuses** | **Details** | | :------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Pending** | Your application is under review. This means our team is checking your submitted documents and information. | | **Revision Required** | Some information or documents are missing or need corrections. You’ll receive an email with feedback or a list of items to fix. Please respond quickly to avoid delays. | | **Verified** | Your business has been successfully verified. You can now fully use MAYAR services without any verification restrictions. | | **Rejected** | Your verification has been declined. This could be due to missing requirements or issues with your documents. You may need to resubmit your application or contact support for clarification. | ### Accessing the Checkout Page Once your verification is approved and no further documents are needed, you’ll be able to access the checkout page. This allows you to manage your business finances and ensure smooth payment processing. We understand how important timely verification is, and our team is here to support you throughout the process. If you have any questions or need help, feel free to reach out to us—we’re here to make your verification process as smooth as possible. # Affiliate Source: https://docs.mayar.id/features/affiliate Create affiliate and referral program for your products, manage thousands resellers effortlessly with automated trackiing and automated commission payment. ### Overview The Affiliate feature on Mayar allows users to earn additional income by promoting the services or products offered on the platform. Users who join the affiliate program will receive a unique link that can be shared with others. Every time someone makes a transaction through that link, the affiliate user will earn a commission based on a predetermined percentage. This program is designed to incentivize users to expand Mayar’s reach and increase the number of transactions on the platform. As a result, the affiliate feature benefits not only the participating users but also helps Mayar grow its visibility and customer base. ### How to Add and Manage Affiliators Make sure you are logged into your account and on the main Dashboard page. This is where you’ll start the process of adding an affiliate. On the right sidebar of the Dashboard, find and click the “Affiliate” option. This will take you to the Affiliate Members page. On this page, click the “Add Affiliate” button to start adding a new affiliate, or you can share the affiliate registration page to your community. Gambar HD8 Pn A “Add Affiliate” modal will appear. Enter the email of the person you want to add. Then, select the product to affiliate, fill in the destination URL (optional), and add notes if needed. Gambar HD9 Pn After filling in and saving the information, you will be redirected to the Affiliate Detail page, where you can track the status of the affiliate you’ve invited to join. Gambar HD10 Pn ### How to Add Affiliate Product Make sure you are logged into your account and on the main Dashboard page. This is where you’ll start using the Add Affiliate Product feature. On the right sidebar of the Dashboard, click “Affiliate.” This will take you to the Affiliate Members page. On this page, click “Add Affiliate Product” to add a new product. Gambar HD8 Pn A “Add Affiliate Product” window will appear. Enter the product information and choose whether to add it for all affiliates or selected affiliates only. Gambar HD11 Pn Once the information is filled in and saved, you’ll be redirected back to the Affiliate Members page. From there, you can access the details of the affiliates who now have the product assigned. Gambar HD10 Pn ### How to Access and Promote Affiliate Products (as an Affiliator)? You can access the affiliate page in two ways — directly from the Dashboard if you already have an account, or through the invitation link sent to your email. Once logged in, you can access the affiliate products page. Here, you’ll find information such as all products affiliated with the Merchant, the number of leads, transactions, total commissions, and all affiliate payments. Gambar HD77 Pn Use your unique affiliate link to promote the products. You can share it on social media, blogs, or other platforms. Gambar HD79 Pn After promoting, you can monitor progress from the affiliated product details. You’ll see data such as the number of leads, transactions, total commissions, and all transactions related to that product. Gambar HD78 Pn # Product Analytics Source: https://docs.mayar.id/features/analytics A quick glance for your product traffic and sales metrics ### Overview Analytics Page by Mayar offers a professional metrics dashboard out of the box. So you can stay focused on increasing revenue. anal.png | **Information** | **Description** | | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **URL Params - Landing Visit** | URL parameters used on the product detail page. | | **URL Params - Checkout Visit** | URL parameters used on the checkout page. | | **Top Location** | This typically shows the country or city from which a visitor is accessing your site. If this information is not displayed, it means that Ackee, our analytics tool, couldn't determine the location. To protect user privacy, Ackee doesn't track IP addresses by default. Therefore, location data might be unavailable unless additional configurations like a reverse proxy or GeoIP are set up. | | **Referral** | This field indicates the website that directed the visitor to your site, such as [Google.com](http://google.com) or [Instagram.com](http://instagram.com). If this is empty, it suggests that the visitor came directly to your site or that their browser didn't send a referrer. | | **Operation System** | Here, you'll usually see the operating system of the visitor's device, such as "Windows," "Android," "iOS," or "MacOS." If this field is empty, it might mean that the Ackee script didn't load correctly, or there aren't enough users to generate this data yet. | | **Browsers Information** | Similarly with operating systems, this is usually 'Chrome,' 'Safari,' or 'Firefox.' If it's empty, it means the data hasn't been collected yet. | | **Screen Resolution** | Similar to the operating system data, this field shows the browser being used, typically "Chrome," "Safari," or "Firefox." An empty field indicates that the data hasn't been collected yet. | | **Language Settings** | This typically reflects the language setting of the user's browser, such as "id-ID" for Indonesian or "en-US" for American English. If this information is missing, it means the data hasn't been captured yet. | ## **Metrics** | **Metrics** | **Description** | | --------------------------------------- | ---------------------------------------------------------------------- | | **Total Transactions** | The total number of transactions for this product. | | **Total Transaction Amount** | The total amount from product sales and subscription payments is made. | | **Incomplete Payments** | The total number of product sales and subscriptions left unpaid. | | **Product Page Views (Last 6 Months)** | The total number of product views in the last 6 months. | | **Completed Checkouts** | The total number of completed product checkouts. | | **Checkout Page Views (Last 6 Months)** | The total number of views for the checkout page. | | **Successful Transactions / Paid** | The total number of paid checkouts. | | **Active Visitors** | Real-time visitor tracking. | | **Average Visits** | The average number of visitors per day. | | **Average Duration** | The average time spent on the checkout page. | | **Today's Visits** | The total number of visitors today. | | **Visits This Month** | The total number of visitors this month. | | **Visits This Year** | The total number of visitors this year. | # Balance Source: https://docs.mayar.id/features/balance See your active and pending balance in one page. ### Overview The Balance Page on the Mayar app is designed to give users a complete overview of their balance and financial activities. It shows up-to-date information about account balance, recent transactions, and visual expense analysis, making it easier to manage finances effectively. ### Short Explanation About Balance in MAYAR Active Balance: This is the amount of money available for you to use or withdraw anytime. It has passed all verification and clearance processes, so it’s ready to use. Pending Balance: This is money from confirmed transactions that is still being processed by the payment channel (Bank, Credit Card Provider, Alfamart, Indomaret, or E-Wallet Provider) and is on the way to Mayar. Settlement Time: This is the time it takes for a payment to move from “received” to “active balance.” The duration may vary depending on the payment method and the policies of the bank or payment provider. Typically, it can take from a few hours up to several business days. ### How to Withdraw Balance Make sure you are logged into your account and on the main Dashboard page. This is where you’ll start the withdrawal process. On the right sidebar of the Dashboard, find and click “Balance.” You’ll see two options: “Withdraw & Top Up” and “History.” Since you want to withdraw funds, select “Withdraw & Top Up.” Ensure you’ve completed verification and linked your bank account beforehand. Enter the amount you want to withdraw in the “Withdraw Balance” field (note: the maximum withdrawal limit on Mayar is IDR 250 million). Once entered, click “Withdraw Balance.” Gambar HD13 Pn download.png A confirmation pop-up will appear showing the withdrawal details, such as amount, fee, bank/E-Wallet name, account number, and account holder’s name. If everything looks correct, click “Send Code.” Gambar HD90 Pn You’ll be asked to enter a One-Time Password (OTP). The OTP will be sent to your email along with the withdrawal details for double-checking. Enter the OTP in the confirmation pop-up, then click “Confirm.” Gambar HD91 Pn Gambar HD92 Pn Gambar HD93 Pn You can track the withdrawal status in the “Withdrawal History” section on the Balance page. If the status changes to “Paid,” congratulations! Your withdrawal was successful. Gambar HD94 Pn ### How to Top Up Balance Make sure you are logged into your account and on the main Dashboard page. This is where you’ll start the top-up process. On the right sidebar of the Dashboard, click “Balance.” You’ll see two options: “Withdraw & Top Up” and “History.” Since you want to add funds, select “Withdraw & Top Up.” Gambar HD12 Pn Before topping up, make sure your account is verified and your bank account is set up. Once ready, click the “Top Up” button located next to your total balance. A “Top Up” window will appear where you can select your payment method, such as BNI, Mandiri, BRI, Permata Bank, and other banks. Complete the payment through your chosen bank and enter the amount you want to top up. Once the payment is completed, the transaction will be recorded in “History,” and your balance will increase. Gambar HD86 Pn Gambar HD87 Pn Gambar HD88 Pn # Bio Link & Catalog Source: https://docs.mayar.id/features/biolinkcatalog Try the Biolink & Catalog feature in Mayar for a simpler and more efficient way to shop and share links! ### Overview The Biolink & Catalog feature in Mayar is designed to help users easily manage and promote their products or services online. With Biolink, users can create a single link that directs their audience to multiple social media platforms, websites, or other important pages—making access easier and increasing visibility. Meanwhile, the Catalog feature allows users to organize and showcase their product list with descriptions and prices, helping customers browse and purchase more easily. Together, these features provide an all-in-one solution to boost digital presence and improve online business efficiency. ### How to Use the Biolink & Catalog Feature in Mayar Here’s a simple step-by-step guide: Make sure you’re logged into your account and on the main Dashboard. From here, you can start using the Biolink & Catalog feature. On the right sidebar of the Dashboard, find and click “Biolink & Catalog.” This will take you to the setup page. On this page, you can configure various elements such as displayed links, design layout, social media links, and product catalog settings. You can add different types of links, such as catalogs, products, text, website URLs, subscriptions, promo codes, and more, to promote your products. Gambar HD20 Pn Personalize your Biolink & Catalog page by selecting profiles, design templates, buttons, fonts, and even removing the Mayar logo. There are five design options: flat color, gradient, photo, pattern, and animation. Gambar HD21 Pn Add up to 19 social media links such as Email, WhatsApp, Instagram, and more. You can also adjust whether these links appear at the top or bottom of the page. Gambar HD22 Pn On the Catalog page, you can choose to hide the catalog, post announcements, select products to display, and arrange product categories. Gambar HD23 Pn Once everything is set up, copy the link available at the bottom-left corner of the “Biolink & Catalog” page. Congratulations—you’re ready to use Biolink & Catalog in Mayar! Gambar HD97 Pn # Broadcast Source: https://docs.mayar.id/features/broadcast Braodcast your message, promotion and information yo tour customers quickly and easily. ### Overview The Broadcast feature in Mayar allows users to send messages or information simultaneously to all customers in just one simple step. With this feature, you can easily share important announcements, the latest updates, or useful content quickly and efficiently. Broadcast is designed to support smoother communication and ensure every member stays well-informed. In addition, it supports various message formats, so you can tailor your communication style based on your audience’s needs. ### How to Use the Broadcast Feature in Mayar? Here are the simple steps to use the Broadcast feature in Mayar: Make sure you are logged into your account and on the main Dashboard page. This is where you will start with the Broadcast feature. On the Dashboard page, find and click the "Create" button located at the top right, next to the "Product" button. This will open the creation menu. From the creation menu, choose "Broadcast / Blast" to start creating your Broadcast. A new window called "Create Broadcast" will appear, where you can enter the required details. Gambar HD14 Pn In the "Create Broadcast" window, enter details such as Broadcast Name, Broadcast/Blast Channel, Email Subject, and Email Template. Gambar HD15 Pn Once all the information is filled out and your Broadcast is created, you will be directed to the newly created Broadcast detail page. On this page, you can edit the Broadcast email content, set the recipients, and preview the message. You can customize different elements such as blocks, body, and content (including columns, buttons, titles, text, images, social links, and menus). You also need to define the recipients, whether you want to send it to all customers, to product-specific customers (with additional filters like product input and customer status: all, paid, or unpaid), or to a specific customer segment by selecting the segment name. Gambar HD16 Pn Gambar HD95 Pn After editing the content and setting recipients, you can choose to send the Broadcast immediately or schedule it. If you select "schedule delivery," you will be asked to set the send time. Once sent, you’ll get a notification confirming that the email has been delivered. You can monitor metrics such as the number of emails sent, opened, clicked, and bounced. Congratulations! You have successfully used the Broadcast feature in Mayar. Gambar HD17 Pn # Bundling Source: https://docs.mayar.id/features/bundling Boost your sales and enhance your offers with Mayar’s product bundling feature — available now! ### Overview Product bundling on the Mayar platform is a sales strategy where multiple products or services are combined into a single package, offered at a more attractive price than if purchased separately. The main goal of bundling is to provide more value to customers while increasing sales for sellers. With product bundling, customers can find complementary items packaged together — for example, a skincare bundle that includes a facial cleanser, toner, and moisturizer. Customers benefit from a lower overall price, the convenience of getting everything they need in one purchase, and added value from products or services they might not buy individually. For sellers, bundling can help boost sales, reduce excess inventory, and build customer loyalty by offering more appealing deals. ### How to Create a Product Bundle? Follow these steps to create a product bundle on Mayar easily: First, go to the "CREATE" dropdown menu located at the top right corner, next to the "Products" dropdown. Gambar HD18 Pn Then, select the "Bundling" option from the menu. Gambar HD19 Pn A "Create Bundling" modal form will appear. Fill in the required information: Bundle Name, Select Products to Include, Price, Cover Image (for promotion), Description, Expiry Date, Post-Purchase Message/Notes, Quantity (qty), and Redirect URL. You can also set a commission percentage if you want to make the bundle available for affiliate marketing. Gambar17 Pn After completing the form, you'll be redirected to the product detail page of the newly created bundle. Congratulations — your product bundle is now ready! ### Access and Display of Bundled Products for Customers In Mayar, bundled products can be accessed through the customer portal page and the payment receipt email. The pricing of bundled products follows the price set during the bundle creation. On the checkout page, the difference between the total price of the individual products and the bundle price you entered during setup will be shown. On the bundled product page, you will usually see a main image that attracts attention, a clear product title, and a short description of the bundle. Price information and a "BUY NOW" button are provided to make it easy for customers to complete their purchase. There is also a list of the products included in the bundle with the price of each item, so customers know exactly what they are getting. At the bottom of the page, you will typically find links to site policies and a language option for user convenience. Gambar HD81 Pn On the customer portal, bundled products are grouped together—starting with the bundle itself, followed by the products included in it. Usually, products that are part of a bundle will have the label “(bundling)” after their product type. Gambar HD80 Pn # Checkout Settings Source: https://docs.mayar.id/features/checkoutsetting Customize further the checkout experience for your customers ### Overview The Checkout Setting feature on Mayar allows sellers to edit the Checkout Page based on Requirements. With this feature, you can set wording for the checkout button, add terms and conditions, add a final note, etc. ### How to access the Checkout Settings? Follow these simple steps to access the Checkout Settings in Mayar: Choose one of the products on the list. 13 Avi Select "**View**" from the product hyperlink. Screenshot2025 09 24103229 Pn Select the Checkout Setting menu list on the right side of the menu bar. Screenshot2025 09 24122021 Pn You will see the "**Checkout Setting**" form. Fill in the required details, including: 16 Avi | **Option** | **Description** | | :--------------------------------- | :----------------------------------------------------------------- | | **Checkout Button Wording** | Change the checkout button wording | | **T\&C Setup dropdown** | Terms & Conditions if needed. | | **Wording Discount Button** | Field for change copywriting of Discount Button. | | **Hide Code Coupon** | Hide or unhide the Code Coupon input field. | | **View Popup Transaction** | Alert message for showing the pop-up transaction from the customer | | **Notes under the payment button** | Final note and disclaimer before Checkout | After completing the "**Checkout Setting**" form, you’ll be redirected to the product page. Congratulations! You've successfully created the Checkout Setting. You can see that the form has already been changed with your customization. 17 Avi # Cross-Sell Source: https://docs.mayar.id/features/crosssell Boost your sales by using the Cross-Sell feature in Mayar and offer the right product recommendations to your customers! ### Overview Mayar’s Cross-Sell feature is designed to help sellers increase their revenue by suggesting relevant additional products or services to customers during the purchase process. This feature intelligently analyzes customer shopping behavior and preferences to recommend items they might be interested in. Seamlessly integrated into the checkout flow, sellers can display these extra offers in a non-intrusive way, increasing the chances of additional sales without disrupting the customer experience. This not only raises the average transaction value but also strengthens customer relationships by providing personalized and useful recommendations. ### How to Use the Cross-Sell Feature? Follow these simple steps to create a Cross-Sell offer with Mayar: First, choose the product you want to enable the Cross-Sell feature for. Once selected, go to the product’s detail page. To use the Cross-Sell feature, click the "Upsell & Crosssell" button on the right. download.avif A modal form titled "Cross-sell Other Products" will appear, where you can add other products to be offered as cross-sell items. Note: You can add up to three products. You can also adjust the discount price for each cross-sell item. 19 Avi 20 Avi 21 Avi 22 Avi After saving, the selected products will appear on the checkout page for customers to see and choose from. 23 Avi # Customer Management Source: https://docs.mayar.id/features/customermanagement Manage and Maintain relation with your customers. ### Overview The Customer Management Page in Mayar is designed to help users manage customer data efficiently. This page allows you to add, edit, and delete customer information, as well as view their transaction history. With its intuitive interface, users can easily search for customers by name, email, or phone number. Additionally, it provides analytics tools to help understand customer purchasing patterns, enabling businesses to create more effective marketing strategies. This feature is essential for building stronger customer relationships and driving business growth. ### How to Add Customers Data Manually in Mayar Here are the simple steps to add customers manually in Mayar: Make sure you are logged into your account and on the main Dashboard page. This is where you will start the manual customer-adding process. From the right sidebar in the Dashboard, find and click “Customers” to open the Customer Management Page. On this page, you’ll see the total number of customers and their details. To add a new customer, click “Create Customer”, located on the right side, just below the “Total Customers” section. Gambar HD176 Pn In the “Create Customer” window, enter the details such as Name, Email, and Phone Number. Gambar HD30 Pn Once the information is filled in and the customer is created, you’ll be redirected to the Customer Page. The new customer will appear at the top of the list. You can view their details by clicking “View” in the action column. Gambar HD55 Pn The section displays information about the selected customer, including their name, email, phone number, and account status, making it easy to identify and contact them while also checking whether the account is active. The active billing area shows ongoing bills such as the amount due, package description, and payment status (e.g., paid or closed), helping to monitor financial obligations. The subscriptions section lists active subscriptions (if any), while the membership section provides details about available plans, including price, duration, and status, to help customers choose the right package. Finally, the payment history is shown in a table containing all transactions with details such as transaction ID, package name, payment amount, transaction type, status, payment method, coupon code (if any), and transaction date. Altogether, this section ensures customer information is well organized and transactions are easy to track. Gambar HD175 Pn If all the data is correct and the customer has been successfully added, you’ve now manually added a customer in Mayar. # Customer Portal Source: https://docs.mayar.id/features/customerportal Customer portal is a gateway for your customers to access all products and services they bought from you. ### Overview The Customer Portal Page in Mayar allows customers to access and manage the products they’ve purchased. Through this portal, customers can view their purchased product list, check product details, and track shipping status if applicable. It also provides access to product support, such as user guides or after-sales services, making it easy for customers to get assistance with their products. With these features, the Customer Portal Page not only helps manage transactions but also ensures customers have full control over their purchased products. ### How to Access the Customer Portal Page Here’s how you can access the Customer Portal Page: You can access the Customer Portal Page in two ways. The first is through the purchase receipt email—simply open the email and click on the "Customer Portal" link at the bottom. The second way is through the Mayar Dashboard—after logging in, you will find the portal link located below your PayMe Link. Alternatively, you can also access the portal directly using the following URL format: `https://your-subdomain.myr.id/portal`. Once you open the portal, you’ll be directed to the login page. Enter your email and click “Send Login Link.” Gambar69 Pn You’ll receive an email titled “Portal Login.” Click “Access Customer Portal” to proceed. Gambar70 Pn After logging in, you can view your transaction history and purchased products in Mayar. Congratulations—you’ve successfully accessed the Customer Portal Page! Gambar HD31 Pn ### Inside the Customer Portal In the Customer Portal, the Products page shows a list of previously purchased products. Each product includes options to view details, access content, download files, leave reviews, and access payment invoices, making it easier for users to interact with the products they own or are interested in. A search feature by product name is also available. Gambar HD72 Pn The Membership page displays all subscription plans the user has purchased. Here, users can check the status of their subscriptions, view package details, and access invoices and payments. There is also an option to unlock exclusive content tied to each plan, giving users flexibility in managing and accessing their memberships. A search feature by subscription name is included as well. Gambar HD75 Pn The Payments page shows the user’s transaction history, including purchased products and gifted items. Each entry includes details such as price, date, and payment status. This helps users track their purchases and confirm that all payments have been completed correctly. Users can also access invoices for more detailed data or view full transaction details. To simplify navigation, there are filters for searching transactions by date range or payment name. Gambar HD73 Pn Gambar HD74 Pn # Custom Form Source: https://docs.mayar.id/features/customform Create new input fields for checkout by using the Custom Form feature on Mayar to adjust your Payment Form according to your needs. ### Overview The **Custom Form** feature on Mayar allows sellers to customize the Payment Form for their products or services at checkout. With this feature, sellers can easily create a comprehensive template based on their specific requirements. Custom Forms can also be configured for certain product types, making it easier to manage and control which options to add. ### How to Create a Custom Form? Follow these simple steps to create a Custom Form in Mayar: Choose a product from the list. 1 Avi Click **“View”** on the product hyperlink. Screenshot2025 09 24103229 Pn From the right-side menu bar, select the **Custom Form** option. Screenshot 2025-09-24 103427.png The **Custom Form** page will appear. Fill in the required details and create your custom input. 4 Avi | **Input Form** | **Description** | | :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Add Fields** | Create a new input field. | | **Dropdown Field Fill Types** | Various types of Data :
- Single Line Text (limit 99 characters)
- Multi-Line Text (limit 250 characters)
- Checkbox
- Numbers
- Date Picker
- Dropdown
- URL / Tautan | | **Name Tag** | Define the label name of the field. | | **Help Text (optional)** | Add an additional description for the field. | | **Required or Optional** | Choose whether this field is mandatory or optional. | | **Save Button** | Save your Custom Form template. |
Once you’ve completed the form, click the **Save** button. You’ll be redirected back to the product page. Congratulations — your Custom Form has been successfully created! You can access your Custom Form directly through your product link. Screenshot 2025-09-24 103610.png Your Custom Form is now applied and ready to use. 6 Avi
# Dashboard Source: https://docs.mayar.id/features/dashboard The front page of your business shows key metrics, new transactions, and customer feedback in one place. ### Overview The Mayar dashboard serves as the main control center for users to monitor their sales activities, transactions, and overall business performance. At the top, you can see the **Account Balance**, which can be used for top-ups or withdrawals, along with special links such as the **PayMe Link** for receiving payments and the **Customer Portal,** where customers can access services. The dashboard also shows **Lifetime Revenue**, giving users a clear view of their total earnings. A chart section displays **Transactions & Revenue** over the past year as well as earnings from the last 30 days, helping users analyze sales trends. On the right side, you’ll find a list of the most recent transactions, the latest customer reviews (useful for evaluating service or product quality), and a list of unpaid invoices to make follow-ups easier. Overall, this dashboard helps users manage their products, track sales performance, engage with customers through reviews, and keep cash flow under control. Mayar Dashboard Page helps users: * Track sales & revenue * Monitor customer transactions and reviews * Follow up on unpaid invoices * Analyze sales performance * Access common links (like payment or customer portal) Dashboarddd Jp # Discount & Coupon Source: https://docs.mayar.id/features/discount Boost your business growth by using the discount feature on Mayar to attract and retain more customers! ### Overview The discount feature on Mayar allows sellers to offer price reductions on their products or services, helping them attract more customers and increase sales. With this feature, sellers can easily set a percentage or fixed amount discount on specific items or entire product categories. Discounts can be set for a specific time period, giving you flexibility to run seasonal promotions or special event sales. Additionally, sellers can target specific customer segments with exclusive discount codes, helping build customer loyalty and encouraging repeat purchases. This feature is designed to help sellers stay competitive in the market, increase product visibility, and drive higher sales volume. ### How to Create a Discount? Follow these simple steps to create a discount in Mayar: First, click on the "CREATE" dropdown menu located in the top-right corner, next to the "Products" menu. Gambar HD18 Pn Then, select "Discount" from the dropdown options. Gambar HD33 Pn You will see the "Create Discount" form. Fill in the required details, including: Gambar HD34 Pn | **Input Form** | **Description** | | :---------------------- | :--------------------------------------------------------------------------------------------- | | **Discount Name** | Enter the name of the discount. | | **Applicable Products** | Select which products the discount will apply to. | | **Discount Type** | Choose whether it’s a percentage or a fixed amount. | | **Discount Value** | Specify the amount or percentage of the discount. | | **Minimum Purchase** | Set the minimum order value required to apply the discount. | | **Coupon Type** | Choose whether the coupon can be used multiple times or just once. | | **Eligible Customers** | Select who can use the discount, such as all customers, new customers, or returning customers. | | **Coupon Code** | You can create your own code or use the system to generate one. | | **Usage Limit** | Set how many times the coupon can be used. | | **Expiration Date** | Define the expiry date of the discount. | Once you complete the form, you’ll be redirected to the Discount Details page. Here, you’ll see the complete discount information, for example: Gambar HD40 Pn At the bottom of the page, you’ll also find Generated Coupon Codes, which include: | **Information** | **Description** | | :------------------ | :--------------------------------- | | **Coupon Code** | WOQRS37 | | **Limit** | No usage limit | | **Expiration Date** | No expiry (valid forever) | | **Details** | Option to view more coupon details | On the Coupon Details page, you can also see: Gambar HD41 Pn | **Information** | **Description** | | :------------------ | :------------------------ | | **Coupon Code** | WOQRS37 | | **Usage Limit** | None (unlimited) | | **Total Usage** | Currently 0 | | **Created On** | August 29, 2025, at 12:39 | | **Expiration Date** | None (valid forever) | Once all steps are completed, your discount is ready to use. Congratulations, you’ve successfully created a Discount Code in Mayar! ### How to Use Auto-Apply Discount Codes during Checkout The Auto-Apply Discount Code feature in Mayar allows discounts to be applied automatically at checkout, without customers needing to enter a code manually. This makes shopping easier, improves customer experience, and reduces errors when entering codes. Eligible discounts will automatically apply to relevant products during checkout. Here’s how to set it up: Either use an existing coupon or create a new one to auto-apply. Get the coupon code from your discount details page. Gambar HD43 Pn Add `?coupon=COUPONCODE` at the end of your product checkout URL. Replace `COUPONCODE` with the actual code. Give this modified URL to your customers. Example: `https://andiak.myr.id/pl/test-uiux-produk-digital?coupon=WOQRS37` Gambar HD44 Pn When customers visit the URL, the discount will be applied automatically—no need to type in the code. Congrats! You’ve successfully used the Auto-Apply Discount feature in Mayar. Gambar HD45 Pn ### Using a Discount Coupon at Checkout On the Mayar checkout page, customers can easily apply discount coupons. For example, if the customer enters the coupon code “WOQRS37”, the system shows a “SUCCESS” status, meaning the discount has been applied. \* Original Price: Rp 10,000 \* Discount: 50% \* Final Price: Rp 5,000 The order summary clearly shows the applied discount, ensuring transparency and a smooth checkout experience for customers. Gambar HD42 Pn # Landing Page Source: https://docs.mayar.id/features/landingpage A fast and beautiful single page website for your product. ### Overview The Landing Page feature in Mayar is designed to help users create attractive and effective landing pages without requiring technical skills. With an intuitive interface and flexible design tools, users can easily customize visual elements, text, and layout to fit their business needs. This feature also integrates with various marketing and analytics tools, making it simple to track performance and conversions. With responsive templates, Mayar ensures your landing page looks great on all devices—helping boost engagement and turn visitors into customers. ### How to Use the Landing Page Feature in Mayar Here’s a step-by-step guide to using the Landing Page feature in Mayar: Make sure you are logged into your account and on the main Dashboard page. Find and click the “Create” button in the top-right corner, next to the “Product” button. From the creation menu, select “Landing Page” to start building. A new window titled “Create Landing Page” will open. Gambar HD35 Pn Enter the required details such as Landing Page Type, Landing Page Name, and SEO information like Title, Meta Description, and Meta Keywords. Gambar HD36 Pn After filling in the details and creating your page, you’ll be redirected to the Landing Page details page. Gambar HD37 Pn Click the blue button to start customizing your Landing Page. In the editor, you can add different components to enrich your Landing Page, such as Text, Button, Social Media Icon, FAQ, Countdown, and Divider from the General category; YouTube, TikTok, Tweet, Spotify, Banner, and Carousel from the Media category; Catalog, Product, Product Card, Email Subscribe, Support, Promo Code, Form, and WhatsApp Chat from the Marketing category; as well as HTML Embed and Iframe from the Other category. You can choose to design from scratch or use a ready-made template, and then adjust the design by customizing elements like colors, patterns, and animations. Gambar HD179 Pn Once everything is set, access the link at the bottom-left corner of the page to preview your Landing Page. Congratulations—you’ve successfully created your Landing Page in Mayar! Gambar HD63 Pn # Order Source: https://docs.mayar.id/features/order Manage order for physical product, from printing label, request pickup to tracking shipment. ### Overview This is the main page if you're selling a physical product. You can download and print a shipping label, request package pickup, and track the shipment on this page. Mayar's package pickup service and shipping are powered by KiriminAja. ### How to manage orders on the Order Page? Follow these simple steps to do an action Order Page in Mayar: Choose Order from the list. 1 Pn Select "View" from the product hyperlink. 2 Pn Select the Action to do on the List on the right side menu bar. 3 Pn | Information | Description | | :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Packed | Your order needs to be carefully packaged and is ready for shipping. You ensure that all items are securely packed to prevent any damage during transit, and you also need to attach a Label to the package. | | Awaiting Courier | Your package is now waiting to be picked up by the courier. This means it will soon be on its way to you. We’ll update you once it’s on the move. | | Shipped | Your order has been handed over to the courier and is currently on its way to your specified address. You can track its journey using the tracking number provided. | | Completed | Your package has been successfully delivered. We hope you’re satisfied with your purchase. If you have any feedback or need assistance, feel free to reach out to our customer service team. | Track the detailed status of the Order from the Courier Pickup Order until the courier delivers your Order. Screenshot2025 09 24125645 Pn Drop your package at the nearest shipping service provider available in your area. Make sure that the package already has the attached Label & Order code. 5 Pn Request a pick-up of your order by Courier from the Shipping Service that is available in your area. Make sure that the package already has the attached Label & Order code. 6 Pn Cancel your shipment and pickup order. Screenshot2025 09 24125833 Pn Print your physical product label and attach it to the package to be shipped. 8 Pn 9 Pn # Payment Method Settings Source: https://docs.mayar.id/features/paymentmethodsetting Enhance your customer’s payment experience and boost conversion with various payment method ### Overview The Payment Method Settings page on Mayar is designed to make it easy for users to manage the various payment methods available for their business. On this page, users can add, remove, or customize payment preferences such as credit cards, bank transfers, e-wallets, and more. With an intuitive interface, users can easily enable or disable specific payment methods based on their business needs. Additionally, this page offers options to configure automated payments, ensuring all transactions are smooth and efficient. With this feature, Mayar gives users full flexibility and control in optimizing the payment experience for their customers. ### Setting Payment Duration Choose a payment time limit that suits your needs. Once the time expires, the payment code will become inactive. The countdown will also be displayed on your customer’s payment page. To use this feature, go to Settings → Payment Methods tab, where you can select a duration ranging from 10 minutes to 1 month. Gambar20 Pn ### Managing Payment Methods Control which payment methods you want to offer by toggling them on or off. You can choose which methods are active and which are disabled. To use this feature, go to Settings → Payment Methods tab and toggle each payment method as needed. Gambar21 Pn ### Charging Transaction Fees to Customers Both the Channel Fee and Admin Fee can be charged to your customers (meaning your transaction amount will remain unchanged, and the fees will be added to your customer’s total payment). You can enable this option by going to Settings → Payment Methods tab. ### Fee Deduction Simulation In this scenario, the customer bears all additional costs, including the Mayar admin fee and the payment channel fee. This may increase the final price paid by the customer. Gambar HD82 Pn Here, only the Mayar admin fee is charged to the customer. The payment channel fee is covered by the service provider, making the customer’s cost lighter compared to Scenario 1. Gambar HD83 Pn In this case, the payment channel fee is charged to the customer, while the Mayar admin fee is covered by the service provider. This creates a balance between the costs shared by customers and the provider. Gambar HD84 Pn In this scenario, the service provider covers all additional costs, including both the admin fee and channel fee. Customers enjoy a lower price, but the provider’s profit margin may decrease. Gambar HD85 Pn # Audio Book Source: https://docs.mayar.id/features/productpage/audiobook Explore the world of stories with our captivating Audio Book feature! ### Overview The Audio Book feature on Mayar offers an immersive and convenient listening experience, allowing you to enjoy a wide range of book genres without having to read physically. With clear audio quality and engaging narration, you can enjoy your favorite stories anytime and anywhere — whether you’re traveling, exercising, or relaxing at home. This feature also includes playback speed control and chapter markers, making it easy to customize your listening experience to your preferences. Discover a new, more flexible, and enjoyable way to experience books with Mayar’s Audio Book feature. ### Creating an Audio Book Product First, log in to your Mayar Dashboard. Make sure you are signed in to your account and on the main Dashboard page. Here, you will begin the process of creating an audiobook product. On the Dashboard page, find and click the "product" button located at the top right corner, next to the "create" button. This will take you to the product menu, where you can choose the type of product you want to create. Gambar36 Pn From the product menu, select the "Audio Book" option to start creating your Audio Book product. This will open a new window titled “Create Audio Book”, where you’ll be asked to provide details about the product you’re making. Gambar28 Pn In the "Create Audio Book" window, you need to fill in the product details as follows: Gambar31 Pn | **Input Form** | **Description** | | :----------------------------------------- | :---------------------------------------------------------------------------- | | **Product Name** | Field to enter the audiobook name. | | **Payment Type** | Option to choose the payment type, such as paid, free, or pay-what-you-want. | | **Price** | Field to enter the price in IDR (Rupiah). | | **Discounted Price (optional)** | Field to enter a crossed-out price that is higher than the main price. | | **Description** | Text area to add a description of the audiobook with text formatting options. | | **Cover (promotional image)** | Area to upload the audiobook cover image. | | **Sales Start Time** | Date picker to set when the sales will begin. | | **Expiration Date** | Date picker to set when the sales will end (optional). | | **Notes** | Field to add notes that can be viewed by buyers/registrants. | | **Maximum Number of Payments (Quota/QTY)** | Field to set the maximum purchase limit. | | **File Source** | Dropdown to select the source of the audiobook file. | | **Downloadable?** | Option to enable or disable the download feature. | | **Narrator** | Field to enter the audiobook narrator’s name. | | **Format** | Dropdown to select the audiobook format. | | **Audiobook Duration** | Field to enter the audiobook duration in hours and minutes. | | **Affiliate Enabled** | Option to allow or disallow product affiliation. | | **"Create Audiobook" Button** | Button to submit and create the audiobook. | After all the information is filled in and the audiobook product is successfully created, you will be redirected to the product details page you just created. Here, you can see all the information as follows: Gambar HD141 Pn | **Information** | **Description** | | :------------------- | :--------------------------------------------------------------------------------------------------------------------------------- | | **Status** | Shows the audiobook status, e.g., "Published". | | **Name** | The audiobook name, e.g., "test UIUX Audiobook". | | **Price** | The set audiobook price, e.g., Rp 1,000. | | **Description** | "View Description" button to see the full audiobook description. | | **Payment Limit** | Indicates that there is no purchase limit. | | **Sales Start Time** | Indicates that sales are not restricted by a specific start time. | | **Expiration Dat** | Indicates that there is no expiration date for the audiobook sales. | | **Notes** | Displays additional notes or information about the audiobook. | | **Downloadable?** | Indicates that the audiobook can be downloaded (active status). | | **Narrator** | The narrator’s name, e.g., "Dikandi". | | **Format** | The audiobook file format, e.g., MP3. | | **Duration** | The audiobook duration, e.g., 12 Hours 30 Minutes. | | **Cover Image** | Displays the audiobook’s cover image. | | **File/Content** | The file name and a short description of the audiobook content, including file size (130.91 MB) and creation date (July 24, 2024). | | **Created On** | How's the audiobook creation date, e.g., January 30, 2025 | Congratulations! You have successfully created an Audiobook product in Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the product details. Gambar HD122 Pn You can also access the product page by copying the product page link. Gambar HD110 Pn To access the checkout page, you can copy the payment link. Gambar HD111 Pn ### Accessing Your Audio Book Product After purchasing an audiobook product, you can access it in several ways. You can play it directly from the “Thank You” page that appears once your purchase is complete. You will also receive a confirmation email containing a link to access your audiobook, and you can use this link anytime via the customer portal. Be sure to keep the confirmation email so you can easily access your audiobook whenever you want. # Cohort Based Bootcamp Source: https://docs.mayar.id/features/productpage/bootcamp Find your best Bootcamp course for your career path! ## Overview Mayar Bootcamp is an innovative online course platform designed to facilitate the creation and management of structured classes and courses across a wide range of study programs. This platform is tailored to make educational content more accessible and organized, providing both educators and learners with a seamless experience. By leveraging the capabilities of Mayar Bootcamp, educators can design comprehensive curricula that cater to diverse learning needs and preferences. The bootcamp courses can be effortlessly created and managed using the user-friendly Mayar Web Apps. These applications offer intuitive tools for setting up classes, organizing course materials, and engaging with students. The platform supports a variety of educational formats, enabling instructors to deliver content most effectively. This documentation is specifically focused on guiding users through the process of creating and customizing payment links via the Mayar Dashboard. By utilizing these tools, educators can efficiently manage course enrollments, process payments, and track financial transactions. The Mayar Dashboard provides extensive customization options, allowing educators to tailor payment processes to align with their specific course offerings and institutional requirements. Through this comprehensive approach, Mayar Bootcamp empowers educators to enhance the learning experience while ensuring administrative processes remain smooth and efficient. ### Navigate to Bootcamp Make sure you are logged into your account and on the main **Dashboard Page**. This is where you will start with the **Bootcamp**. On the Dashboard page, find and click **Bootcamp** Menu. This will display all the **Bootcamp** lists you have created previously. ### Create Bootcamp Make sure you are logged into your Mayar account and on the main **Dashboard** page. Click the “**Product**” button at the top right near the “**Create**” button. This will take you to the product menu. Select the “**Bootcamp**” option to start creating your Writing product. The “**Create Bootcamp**” window will open. Screenshot 2025-09-11 172142.png Enter the following information: | **Input Form** | **Description** | | :----------------------------------------- | :--------------------------------------------------------------------------------------------------------------------- | | Bootcamp Tittle | Title of Bootcamp. | | Category | Category of Bootcamp class. | | Payment Type | Set up your Payment type. | | Price | Price of Bootcamp event. | | Strikethrough price | Price of Bootcamp event before Discount (Optional). | | Description | Description field for Bootcamp event. | | Cover (Image for promotion) | Cover image of Bootcamp for promotion. | | Cover (Video for promotion) | Cover image of Bootcamp for promotion (Optional) | | Instruction | Guide for Bootcamp Event. | | Terms & Condition | Terms & Conditions for Bootcamp event. | | Sales Start Time | Start time for the open Link Payment page. | | Expired Date | Start time for the close Link Payment page (Optional). | | Start Time | Start time for Bootcamp Event. | | End Time | End time for Bootcamp Event. | | Maximum Bootcamp member amount (Quota/qty) | Set up the maximum quantity of Bootcamp members that can be sold (Optional). If empty, the quantity will be unlimited. | | Quiz score limit for certificate access | Set up a quiz score to get certificate access for the member. | | Redirect URL | Directing the customer through the page (Optional), if empty, the customer will be directed to the Mayar checkout page | | The product can be affiliated | Product can be affiliated by others (Optional) | | Button Create Bootcamp Link Payment | Button to create Bootcamp Link Payment | createform bootcamp.png After filling in all the information, review the product details to ensure everything is correct. On the product detail page, you will see the following: | **Information** | **Description** | | :--------------------- | :--------------------------------------------------------- | | Status | Status of Bootcamp (Published, Unpublished, and Unlisted). | | Name | Name of bootcamp event. | | Category | Academic category fields of Bootcamp. | | Price | Price of Bootcamp. | | Description | Description field for Bootcamp. | | Payment Amount Limit | Maximum payment for Bootcamp. | | Sales Start Time | Start time for the open Link Payment page. | | Expired Date | Start time for the close Link Payment page. | | Time Start of learning | Estimation Time Start for Bootcamp. | | Time End of learning | Estimation Time End for Bootcamp. | | Instructions | Guide through the Bootcamp. | | Terms & Condition | Terms & Conditions for Bootcamp event. | | Image Cover | Cover Image of Bootcamp for promotion. | | Video Cover | Video Image of Bootcamp for promotion. | detail bootcamp.png If everything looks good, congratulations — you have successfully created a **Bootcamp** on Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the **product details**. Gambar HD172 Pn You can also access the product page by copying the **product page link**. Gambar HD173 Pn To access the checkout page, you can copy the **payment link**. Gambar HD174 Pn # Coaching & Mentoring Source: https://docs.mayar.id/features/productpage/coaching Try to find your Passion and let the Coach & Mentor guide your Passion! ## Overview Mayar Coaching & Mentoring is a dynamic online course platform that facilitates personalized one-on-one sessions across a diverse range of topics, making expert guidance more accessible to learners. This platform is designed to connect individuals with seasoned mentors, providing tailored coaching experiences that cater to specific learning and professional development needs. With Mayar Coaching & Mentoring, users can effortlessly create and manage personalized mentoring sessions using the intuitive Mayar Web Apps. These applications offer robust tools for scheduling, content delivery, and interaction, ensuring that both mentors and mentees have a seamless and productive experience. The platform supports a variety of topics, allowing learners to engage with experts in fields that align with their personal and professional goals. This documentation is dedicated to guiding users through the process of creating and customizing payment links via the Mayar Dashboard. By utilizing these tools, mentors can efficiently manage session bookings, process payments, and track financial transactions. The Mayar Dashboard offers extensive customization options, enabling mentors to tailor the payment process to suit their specific services and client needs. Through this comprehensive approach, Mayar Coaching & Mentoring empowers mentors to deliver impactful, personalized learning experiences while streamlining administrative tasks for maximum efficiency. ### Navigate to Coaching & Mentoring Make sure you are logged into your account and on the main **Dashboard** Page. This is where you will start with the **Coaching & Mentoring**. On the Dashboard page, find and click **Coaching & Mentoring** Menu. This will show all of the **Coaching & Mentoring** lists that you have created before. ### Create Coaching & Mentoring Make sure you are logged into your Mayar account and on the main **Dashboard** page. Click the “**Product**” button at the top right near the “**Create**” button. This will take you to the product menu. Select the “**Coaching & Mentoring**” option to start creating your Writing product. The “**Create Coaching & Mentoring**” window will open. Screenshot 2025-09-12 180248.png Enter the following information: | **Input Form** | **Description** | | :--------------------------------------- | :------------------------------------------------------------------------------------------------------- | | Name Coaching / Mentoring / Consultation | Name of Coaching & Mentoring Event. | | Calendar URL/Link | Link for Coaching & Mentoring event. | | Payment Type | Set up your Payment type. | | Price per session | Price of Coaching & Mentoring event per session. | | Strikethrough price | Price of the Webinar event before Discount (Optional). | | Cover (Image for promotion) | Cover image of Coaching & Mentoring for Promotion. | | Description | Description field for Coaching & Mentoring event. | | Sales Start Time | Start time for the open Link Payment page. | | Expired Date | Start time for the close Link Payment page (Optional). | | Maximum payment amount (Quota/qty) | Set up the maximum quantity of product that can be sold (Optional). If empty, the qty will be unlimited. | | Instruction | Guide for Coaching & Mentoring Event. | | Terms & Condition | Terms & Conditions for Coaching & Mentoring event. | | The product can be affiliated | Product can be affiliated by others (Optional) | | Button Create Coaching Event | Button create Link Payment of Coaching & Mentoring Event. | paymentlink-coaching.png After filling in all the information, review the product details to ensure everything is correct. On the product detail page, you will see the following: | **Information** | **Description** | | :-------------------- | :-------------------------------------------------------------- | | Status | Status of Coaching & Mentoring: Check if active or deactivated. | | Name | Name of Coaching & Mentoring event. | | Calendar Link Booking | Link to Coaching & Mentoring event. | | Price | Price of Coaching & Mentoring. | | Description | Description field for Coaching & Mentoring. | | Payment Amount Limit | Maximum payment for Coaching & Mentoring. | | Sold | Amount member checkout Coaching & Mentoring event. | | Sales Start Time | Start time for the open Link Payment page. | | Expired Date | Start time for the close Link Payment page. | | Instructions | Guide for Through Coaching & Mentoring. | | Terms & Condition | Terms & Conditions for Coaching & Mentoring event. | detail-coaching.png If everything looks good, congratulations — you have successfully created a **Coaching & Mentoring** on Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the **product details**. Gambar HD163 Pn You can also access the product page by copying the **product page link**. Gambar HD164 Pn To access the checkout page, you can copy the **payment link**. Gambar HD165 Pn # Web Comic Source: https://docs.mayar.id/features/productpage/comic Explore a world of endless imagination with our fun and entertaining Web Comic product! ### Overview Web Comic is a digital platform that allows users to read comics online through their devices, such as computers, tablets, or smartphones. This product offers a wide variety of genres and titles that are easy and quick to access, often with extra features like automatic updates, bookmarking favorite pages, and subscription options for exclusive content. With a user-friendly interface and intuitive navigation, Web Comic provides an interactive and enjoyable reading experience for comic fans, while also helping creators reach a wider audience without geographical limits. ### How to Create a Web Comic Product Make sure you’re logged in to your Mayar account and on the main Dashboard page. Click the "Product" button near the "Create" button in the top right corner. This will take you to the product menu. Select the "Web Comic" option to start creating a Web Comic product. The "Create Web Comic" window will appear. Gambar73 Pn Enter the following information: | **Input Form** | **Description** | | ------------------------------------ | ---------------------------------------------------------------------------------------------------- | | **Product Name** | Field to enter the name of the comic or gallery. | | **Writing Type** | Dropdown to choose the type of comic. | | **Description** | Text area to add a description of the comic with text editing tools (bold, italic, underline, etc.). | | **Cover (promotional image)** | Area to upload the comic’s promotional image (drag & drop). | | **Sales Start Time** | Field to select the sales start date and time. Optional, leave blank to start immediately. | | **Expiration Date** | Field to set the sales closing date (optional). | | **Notes** | Text area to add notes that buyers will see after payment. | | **Reader Type** | Dropdown to select the type of readers. | | **Genre** | Dropdown to select the comic’s genre. | | **Author** | Field to enter the author’s name. | | **Artist** | Field to enter the artist’s name. | | **Language** | Field to specify the comic’s language. | | **Publish Date** | Field to select the publication date (optional). | | **Product Can Be Affiliated** | Option to allow the product to be part of the affiliate program. | | **"SAVE AS DRAFT" Button** | Button to save the form as a draft. | | **"CREATE & PUBLISH COMIC/GALLERY"** | Button to submit the form and publish the comic or gallery. | Gambar74 Pn For One-Shot, you can create the Web Comic content directly on the work page. For Chapter type, enter details such as Chapter Title, Cover, and Release Date before adding content per chapter on the work page. Make sure everything matches your chosen payment method and sales strategy. After filling in all the information, double-check the product details to make sure everything is correct. On the Web Comic detail page, you can access the following information: | **Information** | **Description** | | -------------------- | ----------------------------------------------------------------------------------------------------------------- | | **Status** | Shows whether the product has been published or not. "Published" means it is available to the public. | | **Title** | The name of the comic, e.g., *“Petualangan Raka di Dunia Paralel”*. | | **Writing Type** | Shows the type of work, in this case *“One-Shot”*, meaning the comic is complete in one edition. | | **Price** | The cost to purchase the comic e.g., Rp 1,000. | | **Description** | Contains a summary or more details about the comic. The "VIEW DESCRIPTION" button indicates there’s more to read. | | **Payment Limit** | States whether there is a limit to the number of payments. *“Unlimited”* means no limit. | | **Sales Start Time** | Shows when the product starts selling. *“Unlimited”* means no restriction. | | **Expiration Date** | Shows how long the product has been available. *“Unlimited”* means no expiration date. | | **Notes** | Additional information about the product, such as format, language, or bonuses for buyers. | | **Genre** | The comic’s category or theme, e.g., *“Fantasy”*. | | **Author** | The main creator of the comic, e.g., *“Dikandi”*. | | **Writer** | The person who wrote the story, e.g., *“Andika”*. | | **Artist** | The illustrator or person who drew the comic, e.g., *“Udinan”*. | | **Language** | The language used in the comic, e.g., *“Indonesian”*. | | **Number of Pages** | The total number of pages in the comic, e.g., 5 pages. | | **Publish Date** | The date the comic was published. In this example, the date is not set ("-"). | | **Image/Cover** | The visual or cover of the comic gives buyers a preview. | Gambar HD60 Pn Once everything looks correct, you have successfully created a Web Comic product in Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the product details. Gambar HD124 Pn You can also access the product page by copying the product page link. Gambar HD114 Pn To access the checkout page, you can copy the payment link. Gambar HD115 Pn ### How to Access Web Comic Products After purchasing a Web Comic product, you can access it in three ways. First, directly from the "Thank You" page after completing the purchase. Second, through a confirmation email containing an access link. Lastly, through the customer portal using the link from the confirmation email. Be sure to keep your confirmation email so you can easily access the product anytime. # Creator Support Page Source: https://docs.mayar.id/features/productpage/creatorsupportpage Try the Creator Support Page to get the support and resources you need! ### Overview The Creator Support feature on the Mayar platform is designed to help content creators receive financial support from their fans. With this feature, creators can receive donations or contributions from their followers, allowing them to continue producing quality content. Fans can support creators in different ways, such as one-time donations or monthly subscriptions, giving them flexibility in how they choose to support their favorite creators. In addition, Creator Support provides creators with analytics tools to track contributions and fan engagement, as well as communication features that allow direct interaction between creators and supporters. This strengthens community connections and creates a more personal experience. ### How to use the Creator Support feature on Mayar Here’s a simple guide to using the Creator Support feature on Mayar: Make sure you’re logged into your account and on the main Dashboard page. From here, you can start using the Creator Support feature. On the right sidebar of the Dashboard, find and click “Creator Support page.” This will take you to the setup page. On this page, you can customize various elements, such as your profile description, support unit, value per unit, support unit icon, and whether to display the number of supporters. You can also adjust the page design by customizing the background, cards, buttons, fonts, cover image, and the option to display "Powered by [Mayar.id](http://Mayar.id)” in the footer. Additionally, you can add and manage links to different social media and platforms like Email, WhatsApp, Instagram, TikTok, Twitter/X, Facebook, Telegram, YouTube, LinkedIn, Tokopedia, Shopee, BukaLapak, Lazada, Spotify, SoundCloud, Signal, Twitch, Patreon, and Pinterest. In the supporter section, you’ll find a table with supporter details and the option to integrate with third-party email marketing services. Gambar77 Pn You can access it by clicking the “View Page” button or using the link provided below it. You can also access it via the available QR code. Once you’ve opened your Support Page, congratulations—you’ve successfully created it! Gambar HD134 Pn # Digital Product Source: https://docs.mayar.id/features/productpage/digitalproduct Explore our latest Digital Product feature, designed to significantly enhance your ability to create, manage, and sell digital content with unparalleled ease and efficiency. This innovative feature empowers you to transform your ideas into market-ready digital products. ## Overview Mayar Digital Product is an all-encompassing platform designed to facilitate the seamless creation, management, and sale of digital products. This comprehensive solution empowers creators and businesses to easily accept payments. By leveraging the capabilities of Mayar Digital Product, users can efficiently monetize their digital creations, reaching a global audience with minimal effort. The process of creating and managing digital products is streamlined through the use of the Mayar Web Apps. These applications provide intuitive tools for setting up product listings, organizing content, and handling customer interactions, ensuring a smooth and professional experience for both sellers and buyers. The platform supports a variety of digital formats, allowing creators to offer products that meet diverse consumer needs and preferences. This documentation is specifically focused on guiding users through the process of creating and customizing payment links via the Mayar Dashboard. By utilizing these tools, sellers can efficiently manage transactions, process payments, and track financial performance. The Mayar Dashboard offers extensive customization options, enabling sellers to tailor the payment process to align with their specific product offerings and business requirements. Through this comprehensive approach, Mayar Digital Product empowers creators to maximize their revenue potential while ensuring a seamless and secure purchasing experience for their customers. ### Navigate to Digital Product Make sure you are logged into your account and on the main **Dashboard Page**. This is where you will start with the **Digital Product**. On the Dashboard page, find and click **Digital Product** **Menu**. This will show all of the **Digital Product lists** that you have created before. ### Create Digital Product Make sure you are logged into your Mayar account and on the main **Dashboard** page. Click the “**Product**” button at the top right near the “**Create**” button. This will take you to the product menu. Select the “**Digital Product**” option to start creating your Writing product. The “**Create Digital Product**” window will open. Screenshot 2025-09-12 110935.png Enter the following information: | **Input Form** | **Description** | | :--------------------------------- | :------------------------------------------------------------------------------------------------------- | | Name Product | Name of Digital Product. | | Payment Type | Set up your Payment type. | | Price | Price of Digital Product. | | Strikethrough price | Price of Digital Product before Discount (Optional). | | Description | Description field for Digital Product. | | Cover (Image for promotion) | Cover image of the Product for promotion. | | Sales Start Time | Start time for the open Link Payment page. | | Expired Date | Start time for the close Link Payment page (Optional). | | Notes after Payment | Additional notes after checkout product (Optional). | | Maximum payment amount (Quota/qty) | Set up the maximum quantity of product that can be sold (Optional). If empty, the qty will be unlimited. | | File Source | You can add or upload a recent file. | | Link source | You can add a link to a file. | | The product can be affiliated | Product can be affiliated by others (Optional). | | Button Create Link Payment | Button create Link Payment. | prodig-proform.png | **Information** | **Description** | | :--------------- | :--------------------------------------------------------- | | Status | Status of Digital Product: checkout active or deactivated. | | Name | Name of Digital Product. | | Description | Description field for Digital Product. | | Sales Start Time | Start time for the open Link Payment page. | | Expired Date | Start time for the close Link Payment page. | | Notes | Additional notes after checkout of the Digital Product. | | Cover Image | Cover image of Digital Product for promotion. | | File / Content | Content Digital Product that is available. | detail-prodig.png If everything looks good, congratulations — you have successfully created a **Digital Product** on Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the **product details**. Gambar HD154 Pn You can also access the product page by copying the **product page link**. Gambar HD155 Pn To access the checkout page, you can copy the **payment link**. Gambar HD156 Pn # E-Book Source: https://docs.mayar.id/features/productpage/ebook Discover the exciting features of our Ebook product for a better reading experience! ### Overview The E-Book product on Mayar offers advanced features designed to enhance your reading experience. With a user-friendly interface, you can easily browse through a wide collection of digital books. The quick search feature helps you find your favorite titles or authors in seconds. You can adjust the font size and style for comfortable reading, and use the bookmark feature to save important pages. Multi-platform support allows you to read on different devices without losing your last read position. You can also enjoy the notes and highlight features, making it easy to capture important ideas. All these features are designed to give you a more personal and enjoyable reading experience. ### Creating an Ebook Product First, log in to your Mayar Dashboard. Make sure you are signed in to your account and on the main Dashboard page. Here, you will start the process of creating an E-Book product. On the Dashboard page, find and click the “Product” button located at the top right corner, next to the “Create” button. This will take you to the product menu, where you can select the type of product you want to create. Gambar36 Pn From the product menu, choose the “Ebook” option to start creating your Ebook product. This will open a new window titled “Create Ebook”, where you’ll be asked to fill in details about your product. Gambar30 Pn In the “Create E-Book” window, you’ll need to fill in the product details such as: Gambar33 Pn | **Input Form** | **Description** | | :--------------------------------------- | :--------------------------------------------------------------------------------------------------- | | **Product Name** | Field to enter the e-book product name. | | **Payment Type** | Choose whether the product is paid, free, or pay what you want. | | **Price** | Appears that if you select “paid” as the payment type, to can set the product price in IDR (Rupiah). | | **Strike-through Price (optional)** | Appears that if you select “paid,” to set a higher crossed-out price above the main price. | | **Description** | Text area to write the product description, with formatting options (bold, italic, underline, etc.). | | **Cover (promo image)** | Upload the e-book cover image using drag & drop. | | **Start Selling Date** | Select the date when the sale begins. | | **Expiration Date** | Select the date when the sale ends. | | **Notes** | Text area for adding notes that customers will see after completing payment. | | **Maximum Sales Quantity (Quota / QTY)** | Field to set the maximum number of sales allowed. | | **File Source** | Choose whether to use an existing file or upload a new one. | | **Downloadable?** | Option to enable or disable the download feature. | | **Author** | Field to enter the author’s name. | | **ISBN** | Field to enter the e-book ISBN number. | | **Format** | Choose the e-book format (PDF, EPUB, MOBI, or AZW). | | **Language** | Field to specify the e-book language. | | **Publish Date** | Select the date the e-book will be published. | | **Affiliate Option** | Enable affiliate marketing for the product. | | **“CREATE E-BOOK” Button** | Button to save and create the e-book based on the information provided. | After filling in all the information and successfully creating the E-Book product, you will be directed to the Product Details page. Here, you can see all the information you entered, such as: Gambar HD46 Pn | **Information** | **Description** | | :------------------------- | :-------------------------------------------------------------------------------------- | | **E-Book Name** | test UIUX E-Book | | **Quick Actions** | Shortcuts to perform quick actions. | | **Navigation Tabs** | Includes *Details, Transactions, Email, Analytics, Integration, Track,* and Affiliator. | | **Share Link** | Two links available — one for payment and one for the product page. | | **Status** | Shows the publication status, *“Published.”* | | **Price** | Rp 1,000 | | **Description** | Button to view the product description. | | **Maximum Sales Quantity** | Unlimited | | **Start Selling Date** | Unlimited | | **Expiration Date** | Unlimited | | **Notes** | Placeholder text (\*Lorem ipsum\*). | | **Downloadable?** | Active | | **Author** | Not displayed | | **Number of Pages** | 123 | | **Format** | PDF | | **ISBN** | Not displayed | | **Publish Date** | Not displayed | | **Language** | Indonesian | | **Image/Cover** | The cover image representing the e-book | | **File/Content** | File name *“JurnalNasional.pdf”*, size *141.01 kB*, date *March 31, 2024* | | **Created On** | *January 30, 2025* | Congratulations, you have successfully created an E-Book product in Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the product details. Gambar HD120 Pn You can also access the product page by copying the product page link. Gambar HD106 Pn To access the checkout page, you can copy the payment link. Gambar HD107 Pn ### Accessing Your Ebook Product After purchasing an E-Book product, you can access it in several ways. You can open it directly from the “Thank You” page that appears once your purchase is complete. You will also receive a confirmation email containing a link to access your E-Book, and you can use this link anytime through the customer portal. It’s important to keep the confirmation email so you can easily retrieve and read your E-Book whenever you want. # Event Source: https://docs.mayar.id/features/productpage/event Create your Event base on your own creativity with Mayar! ## Overview Mayar Event is an innovative online course platform designed to facilitate the creation and management of diverse events to a wide range of interests. This platform provides users with an intuitive and user-friendly interface, making it easier than ever to access and organize events. Whether you are an educator, a professional, or an enthusiast looking to share your knowledge, Mayar Event offers the tools you need to reach your audience effectively. Events can be effortlessly created and customized using the Mayar Web Apps, which are designed to streamline the process from start to finish. The platform supports a variety of event types, allowing you to engage with participants in a way that best suits your content and goals. This documentation specifically focuses on the steps involved in creating and customizing payment links through the Mayar Dashboard. By leveraging these features, you can efficiently manage transactions, track payments, and provide a seamless experience for your attendees. The Mayar Dashboard offers comprehensive tools and settings to ensure that your payment processes are secure, reliable, and tailored to meet your specific requirements. ### Navigate to Event Make sure you are logged into your account and on the main **Dashboard** Page. This is where you will start with the **Event**. On the Dashboard page, find and click **Event** Menu. This will show all of your **Event** list that you have created before. ### Create Event Make sure you are logged into your Mayar account and on the main **Dashboard** page. Click the “**Product**” button at the top right near the “**Create**” button. This will take you to the product menu. Select the “**Event**” option to start creating your Writing product. The “**Create Event**” window will open. Screenshot 2025-09-12 130200.png Enter the following information: | **Input Form** | **Description** | | :----------------------------------- | :--------------------------------------------------------------------------------------------------------------------- | | Event Name | Name of Event. | | Description | Description field for Event. | | Online event button | Set your online event. | | Location / Venue | Venue for an offline event. | | Map Location | Set your Location from maps (Optional). | | Start Time | Start time for the Event. | | End Time | End time for Event. | | Cover (Image for promotion) | Cover image of the Event for promotion. | | Instruction | Guide for Event. | | Terms & Condition | Terms & Conditions for the Event. | | Sales Start Time | Start time for the open Link Payment page. | | Expired Date | Start time for the close Link Payment page (Optional). | | Total maximum Ticket per Transaction | Set your total Maximum Ticket per Transaction - Checkout. | | Redirect URL | Directing the customer through the page (Optional), if empty, the customer will be directed to the Mayar checkout page | | The product can be affiliated | Product can be affiliated by others (Optional) | | Button Create Event | Button creates an Event. | 1_2.jpeg After filling in all the information, review the product details to ensure everything is correct. On the product detail page, you will see the following: | **Information** | **Description** | | :---------------- | :----------------------------------------------- | | Status | Status of Event: checkout active or deactivated. | | Name | Name of Event. | | Description | Description field for Event. | | Event Location | Venue location Event. | | Start Time | Start time for the Event. | | End Time | End time for Event. | | Sales Start Time | Start time for the open Link Payment page. | | Expired Date | Start time for the close Link Payment page. | | Instructions | Guide for Event. | | Terms & Condition | Terms & Conditions for Event | | Cover Image | Cover image for promotion. | detail-event1.png If everything looks good, congratulations — you have successfully created a **Event** on Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the **product details**. Gambar HD160 Pn You can also access the product page by copying the **product page link**. Gambar HD161 Pn To access the checkout page, you can copy the **payment link**. Gambar HD162 Pn # Fundraising Source: https://docs.mayar.id/features/productpage/fundraising Specialized approach that combines elements of traditional product sales with fundraising efforts. Try it now! ### Overview Mayar Fundraising is a feature within the fundraising platform that empowers organizations and individuals to effortlessly accept payments across a variety of platforms. This functionality is designed to streamline the donation process, making it simple and efficient for both fundraisers and donors. Users can create and manage fundraising campaigns seamlessly using the intuitive Mayar Web Apps, which provide a user-friendly interface for campaign setup and management. This documentation is dedicated to guiding you through the process of creating and customizing payment links via the Mayar Dashboard. By utilizing these tools, you can create your fundraising efforts to meet specific goals, ensuring a smooth transaction experience for your supporters. The Mayar Dashboard offers comprehensive options for personalizing your payment links, enabling you to align them with your campaign's unique objectives and branding. ### Navigate to Fundraising Campaign Make sure you are logged into your account and on the main Dashboard Page. This is where you will start with the Fundraising. On the Dashboard page, find and click Fundraising Menu. This will show all of your Fundraising Campaign list that you have created before. ### Create Fundraising Campaign Make sure you are logged into your Mayar account and on the main Dashboard page. Click the “**Product**” button at the top right near the “Create” button. This will take you to the product menu. Select the “Fundraising” option to start creating your Writing product. The “Create Fundraising” window will open. Screenshot 2025-09-11 141829.png Enter the following information: | **Input Form** | **Description** | | :------------------------------------- | :-------------------------------------------------------------------------------------------------------------------- | | **Fundraising Type** | Type of Fundraising. | | **Fundraising Category** | Category of Fundraising. | | **Fundraising Tittle** | Title / Name of the Fundraising. | | **Donation Target** | Objective amount: Target for Fundraising. | | **Donation Start Time** | Start time for open Donation Link Payment page (Optional). | | **Donation Expired Date** | End time to close the donation link payment page (Optional). | | **Fundraising Goals** | Goals of Fundraising. | | **Beneficiaries** | Receiver of Fundraising. | | **Fundraising Description** | Description field for Fundraising. | | **Details of Fund Usage if Collected** | Explanation of what the funds will be used for once collected. | | **Cover (Image for promotion)** | Cover image of the fundraising for promotion. | | **Notes** | Additional notes for Fundraising. | | **Redirect URL** | Directs the customer through the page (Optional). If empty, the customer will be directed to the Mayar checkout page. | | **Show Donation target** | Show or Hide Donation Target on Payment Page. | | **The product can be affiliated** | Product can be affiliated by others (Optional). | | **Cover (Image for promotion)** | Cover image of the Product for promotion. | | **"CREATE FUNDRAISING" Button** | Button to submit the form and create the writing product. | paymentlink-galangdana.png After filling in all the information, review the product details to ensure everything is correct. On the product detail page, you will see the following: | **Information** | **Description** | | :------------------------------------- | :---------------------------------------------------------------- | | **Status** | Status of the fundraising checkout, either active or deactivated. | | **Name** | Name of the fundraising campaign. | | **Category** | Academic category fields of fundraising. | | **Sales Start Time** | Start time for opening the fundraising link payment page. | | **Fundraising Expired Date** | End time for closing the fundraising link payment page. | | **Fundraising Goals** | Objectives of the fundraising campaign. | | **Beneficiaries** | Individuals who will receive the fundraising support. | | **Description** | Description field for fundraising. | | **Latest News** | Latest updates on the fundraising campaign. | | **Details of Fund Usage if Collected** | Explanation of what the funds will be used for once collected. | | **Image Cover** | Cover image of the fundraising for promotion. | detail-galangdana.png If everything looks good, congratulations — you have successfully created a Fundraising on Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the product details. Gambar HD166 Pn You can also access the product page by copying the product page link. Gambar HD167 Pn To access the checkout page, you can copy the payment link. Gambar HD168 Pn # License Software Source: https://docs.mayar.id/features/productpage/licensesoftware Try our latest Software License feature to boost your efficiency and productivity today! ### Overview Our Software License product offers powerful features designed to simplify the management of your software licenses. With an intuitive interface, you can easily track license usage in real time, ensure compliance with regulations, and optimize operational costs. Our automation features allow for seamless license renewal and maintenance, while the integrated reporting system provides in-depth insights into software usage across your organization. With top-level security and responsive customer support, our Software License is a trusted solution for all your license management needs. ### Creating a Software License Product First, log in to your Mayar Dashboard. Make sure you are signed in to your account and on the main Dashboard page. Here, you will begin the process of creating a Software License product. On the Dashboard page, find and click the "Product" button located at the top right corner, next to the “Create” button. This will take you to the product menu, where you can choose the type of product you want to create. Gambar36 Pn From the product menu, select the “Software License” option to start creating your Software License product. This will open a new window titled “Create Licensed Product”, where you will be asked to provide details about your product. Gambar27 Pn In the "Create Software License" window, you need to fill in the product details as follows: Gambar34 Pn | **Input Form** | **Description** | | :--------------------------------------- | :------------------------------------------------------------------------------------------------ | | **Product Name** | Field to enter the name of the product. | | **License Type** | Dropdown to select the license type. | | **Activation Code Limit** | Field to set the limit for license code activations. | | **Payment Type** | Displays the payment type, which is "Paid Product". | | **Price** | Field to enter the product price in IDR (Rupiah). | | **Strikethrough Price (optional)** | An optional field to enter a strikethrough price, which must be higher than the main price. | | **Description** | Text area to add the product description with text editing tools (bold, italic, underline, etc.). | | **Cover (promotional image)** | Area to upload the product’s promotional image (drag & drop). | | **Sales Start Time** | Field to set the date and time when sales begin. | | **Expiration Date** | Field to set the sales closing date (optional). | | **Notes** | Text area to add notes that will be shown to buyers after payment. | | **Maximum Payment Quantity (Quota/QTY)** | Field to set the maximum number of purchases allowed. | | **Downloadable File After Purchase?** | Option to upload a file that can be downloaded after purchase or include a file URL. | | **Product Can Be Affiliated** | Option to allow the product to be part of an affiliate program. | | **"CREATE LICENSED PRODUCT" Button** | Button to submit the form and create the licensed product. | After filling in all the information and successfully creating the Software License product, you will be redirected to the product detail page. Here, you can see all the information as follows: Gambar HD142 Pn | **Information** | **Description** | | :------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------- | | **Status** | Shows whether the product has been published or not. "Published" means the product is available to the public. | | **Name** | The name of the licensed product, e.g., "Microsoft Office". | | **Price** | The amount to be paid to get the license, e.g., Rp 100,000. | | **Description** | Contains a summary or more details about the license. The "VIEW DESCRIPTION" button indicates that more details are available. | | **Payment Limit** | Shows whether there is a limit on the number of payments. "Unlimited" means no limit. | | **Sold** | Shows how many licenses have been sold, e.g., 1. | | **Activation Limit** | Shows the number of activations allowed. "Unlimited" means no restriction. | | **Expiration Date** | Shows how long the license is valid. "Unlimited" means it does not expire. | | **Notes** | Additional information about the product, such as technical details or special usage. | | **Image/Cover** | Visual or cover image of the licensed product, giving buyers a preview. | | **Downloadable File After Purchase?** | Shows whether a file is available for download after purchase. "No" means no file is available. | Congratulations! You have successfully created a Software License Product in Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the product details. Gambar HD126 Pn You can also access the product page by copying the product page link. Gambar HD118 Pn To access the checkout page, you can copy the payment link. Gambar HD119 Pn ### Accessing Your Software License Product After purchasing a Software License product, you can access it in several ways. You can open it directly from the “Thank You” page that appears once your purchase is complete. You will also receive a confirmation email containing a link to access the product, and you can use this link anytime via the customer portal. Be sure to keep the confirmation email so you can easily access your product whenever you want. # Membership Source: https://docs.mayar.id/features/productpage/membership Discover exclusive benefits by joining our Membership and enjoy a whole new experience! ### Overview The Membership product on Mayar offers a variety of exclusive perks for members, including priority access to the latest features, special discounts on selected services, and more responsive customer support. By subscribing to a Membership, users can enjoy a more personalized and integrated experience, making the most out of Mayar’s services. In addition, members also get the opportunity to join exclusive events and promotions that are not available to non-members. This membership is designed to enhance convenience and efficiency in managing everyday financial needs. ### How to Create a Membership Product Make sure you’re logged into your account and on the main Dashboard page. Find and click the "Product" button at the top right corner, next to the “Create” button. When the creation menu appears, choose “Membership & SaaS.” A new window titled “Create Membership” will open. Gambar78 Pn Enter the following information: | **Input Form** | **Description** | | ------------------------------ | ----------------------------------------------------------------------------------------------- | | **Product Type** | A dropdown that shows the product type, which is "Membership". | | **Package Name** | Field to enter the membership package name. | | **Description** | Text area to add a package description with text editing tools (bold, italic, underline, etc.). | | **Sales Start Time** | Field to set the start date and time for sales. Optional, leave blank to start immediately. | | **Cover (promotional image)** | Area to upload the membership promotional image (drag & drop). | | **Show Members** | A dropdown to choose whether or not to display members. | | **Product Can Be Affiliated** | Option to allow the product to be part of the affiliate program. | | **"CREATE MEMBERSHIP" Button** | Button to submit the form and create the membership product. | Gambar79 Pn After filling in the information, you will be redirected to the Membership Product Detail page. Here, you can see the following information: | **Information** | **Description** | | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- | | **Status** | Shows whether the product has been published or not. "Published" means it is available to the public. | | **Name** | The membership name, e.g., "test UIUX Membership". | | **Membership Type** | Shows the type of membership; here, it is simply "Membership". | | **Description** | Contains a summary or more details about the membership. The "VIEW DESCRIPTION" button indicates that more details can be read. | | **Sales Start Time** | Shows when the product starts selling. "Unlimited" means there is no start time restriction. | | **Number of Active Members** | Shows how many members are currently active in this membership, e.g., 0. | | **Image/Cover** | Visual or cover image of the membership, giving a preview to potential members. | | **Show Number of Members on Product Page** | Indicates whether the number of members will be shown on the product page. "YES" means visitors can see it. | | **Downloadable File After Purchase?** | Shows whether a file is available to download after purchase. "No" means no file is provided. | download.png Click the “Create Tier / Level / Membership Package” button above the Membership Tier table. Enter the following information for the membership tier: | **Input Form** | **Description** | | ---------------------------------------- | ------------------------------------------------------------------------------------------------- | | **Tier / Level / Package Name** | Field to enter the tier, level, or package name. | | **Description** | Text area to add a tier description with text editing tools (bold, italic, underline, etc.). | | **Maximum Total Members** | Field to set the maximum number of members. Leave blank for unlimited. | | **Membership Payment Duration (Months)** | Field to set the membership billing duration in months. Leave blank for unlimited. | | **Instructions** | Text area to add instructions or notes that will be sent to members after payment. | | **Grace Period** | Dropdown to choose the grace period before the account is deactivated if payment is not received. | | **Redirect URL** | Field to enter the URL members will be redirected to after a successful payment. | | **Pricing** | Table to set the price based on duration (1 month, 3 months, 6 months, 12 months, lifetime). | | **Allow 1-Month Trial** | Option to enable a one-month trial period. | | **Charge Initial Extra Fee** | Option to add an extra upfront fee, such as installation, service, or setup. | | **"CREATE MEMBERSHIP TIER" Button** | Button to submit the form and create the membership tier. | download.png After creating a Tier, you can access the content page under the Membership name. Click the “Create Membership Content” button to open the “Create Content Section” page. Add a Title, Description, Cover Image, and set access rights for each Membership Tier. Click “Add Module” to add Text, Embed, DRM Video, File, or Audio. Once the content modules are created, access the Product page under the Membership name. Click “Add Product Access” to include products such as digital items, online classes, e-books, podcasts, and more. After setting up the Tier, content, modules, and product access, your Membership Product is ready to use on Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the product details. Gambar HD125 Pn You can also access the product page by copying the product page link. Gambar HD116 Pn To access the checkout page, you can copy the payment link. Gambar HD117 Pn # Online Course Source: https://docs.mayar.id/features/productpage/onlinecourse Find your best Online Course to improve and gain more ability of your skill set! ## Overview Mayar Online Course is an advanced online learning platform designed to facilitate the creation and management of structured classes and courses across a diverse range of study programs. This innovative platform empowers educators, trainers, and professionals to develop and deliver educational content that is easily accessible to a global audience. With Mayar Online Course, you can design comprehensive curricula that cater to various academic disciplines and professional fields, ensuring an enriching and engaging learning experience for all participants. The process of creating online courses is made seamless through the use of the Mayar Web Apps. These applications provide a robust and user-friendly interface that streamlines course development, enabling you to concentrate on creating high-quality content. Whether you are setting up a single class or an entire educational program, Mayar Online Course provides the flexibility and tools necessary to achieve your teaching objectives. By following this guide, you will gain a thorough understanding of how to effectively utilize the payment link functionalities, ultimately enhancing your course management capabilities and providing a streamlined experience for your students. ### Navigate to Online Course Make sure you are logged into your account and on the main **Dashboard** Page. This is where you will start with the **Online Course**. On the Dashboard page, find and click **Online Course** Menu. This will display all the **Online courses** you have created previously. ### Create Online Course Make sure you are logged into your Mayar account and on the main **Dashboard** page. Click the “**Product**” button at the top right near the “**Create**” button. This will take you to the product menu. Select the “**Online Course**” option to start creating your Writing product. The “**Create Online Course**” window will open. Screenshot 2025-09-12 170958.png Enter the following information: | **Input Form** | **Description** | | :-------------------------------------- | :--------------------------------------------------------------------------------------------------------------------- | | Class Name | Name of class | | Payment Type | Set up your Payment type. | | Price | Price of Online Course. | | Strikethrough price | Price of Online Course before Discount (Optional). | | Cover (Image for promotion) | Cover image for the product's promotion. | | Description | Description field for product. | | Sales Start Time | Start time for the open Link Payment page. | | Expired Date | Start time for the close Link Payment page (Optional). | | Notes after Payment | Additional notes after checkout product (Optional). | | Maximum payment amount (Quota/qty) | Set up the maximum quantity of product that can be sold (Optional). If empty, the quantity will be unlimited. | | Quiz score limit for certificate access | Limitation for access certificate (optional) | | Redirect URL | Directing the customer through the page (Optional), if empty, the customer will be directed to the Mayar checkout page | | The product can be affiliated | Product can be affiliated by others (Optional) | | Button Create Online Course | Button create Link Payment of Online Course | 2025-09-03 16 51 03.png After filling in all the information, review the product details to ensure everything is correct. On the product detail page, you will see the following: | **Information** | **Description** | | :------------------ | :------------------------------------------------------------- | | Status | Status of Online Class (Published, Unpublished, and Unlisted). | | Name | Name of Online Class. | | Price | Price for Online Class. | | Description | Description field for Online Class. | | Sales Start Time | Start time for the open Link Payment page. | | Expired Date | Start time for the close Link Payment page. | | Notes | Additional notes after checkout for the Online Class. | | Cover Image | Cover image of the Online Class for promotion. | | Add chapter section | Add a chapter for class. | | Add instructor | Add an instructor for the class. | kelon.png If everything looks good, congratulations — you have successfully created a **Online Course** on Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the **product details**. Gambar HD169 Pn You can also access the product page by copying the **product page link**. Gambar HD170 Pn To access the checkout page, you can copy the **payment link**. Gambar HD171 Pn # Payment Link Source: https://docs.mayar.id/features/productpage/paymentlink Discover exclusive Payment Links and enjoy a whole new experience! ## Overview Mayar Payment Links is a versatile and powerful payment solution designed to simplify the process of accepting payments across various sales channels. Whether you are a small business owner, a freelancer, or a large enterprise, Mayar Payment Links provides the flexibility and convenience you need to manage transactions efficiently and securely. This solution allows you to reach customers wherever they are, offering a seamless payment experience that improves customer satisfaction and streamlines your financial operations. Payment links can be easily created through the Mayar Web App, which features an intuitive and user-friendly interface. The app simplifies the setup process, enabling you to generate customized payment links that can be shared across multiple platforms, including social media, email, and websites. This gives your customers multiple options to complete their transactions, ultimately boosting your sales opportunities. This guide will help you gain a detailed understanding of how to effectively use the Payment Link feature, enhancing your payment management capabilities and providing a seamless experience for your customers. ### Navigate to Payment Links Make sure you are logged into your account and on the main **Dashboard** page. This is where you will begin creating a **Payment Link**. On the Dashboard, find and click the **Payment Link** menu. Here, you will see a list of all the **Payment Links** you have previously created. ### Create Payment Link Make sure you are logged into your Mayar account and on the main **Dashboard** page. Click the **“Product”** button at the top right, next to the **“Create”** button. This will take you to the product menu. Select the **“Payment Link”** option to start creating your product. The **“Create Payment Link”** window will open. Screenshot 2025-09-12 180115.png Enter the following information: | **Input Form** | **Description** | | :--------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------- | | Payment Link Name | The name of the payment link. | | Price | The price of the product. | | Strikethrough Price | The original price before discount (optional). | | Cover Image | An image used for product promotion. | | Description | A description of the product. | | Sales Start Time | The date and time when the payment link becomes active. | | Expiry Date | The date and time when the payment link closes (optional). | | Notes After Payment | Additional notes to show after checkout (optional). | | Maximum Payment Amount (Quota/Qty) | The maximum quantity of the product that can be sold (optional). Leave empty for unlimited. | | Redirect URL | A custom URL where the customer will be redirected after checkout (optional). If left empty, the customer will stay on the Mayar checkout page. | | Product Affiliation | Allow the product to be affiliated with others (optional). | | Create Payment Link Button | Click to create the payment link. | paylink.png After filling in all the details, review the product information to make sure everything is correct. On the product detail page, you will see: | **Information** | **Description** | | :--------------- | :---------------------------------------------- | | Status | Whether the payment link is active or inactive. | | Name | The product name. | | Description | The product description. | | Sales Start Time | When the payment link becomes active. | | Expiry Date | When will the payment link close | | Notes | Any additional notes after checkout. | | Cover Image | The promotional image for the product. | paylink_dashboard.png If everything looks good, congratulations — you have successfully created a **Payment Link** on Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the **product details**. Gambar HD146 Pn You can also access the product page by copying the **product page link**. Gambar HD147 Pn To access the checkout page, you can copy the **payment link**. Gambar HD148 Pn # Physical Product Source: https://docs.mayar.id/features/productpage/physicalproduct Explore our latest Physical Product feature, designed to significantly enhance your ability to create, manage, and sell Physical Product with unparalleled ease and efficiency. This innovative feature empowers you to transform your ideas into market-ready Physical Product. ### Overview The Mayar Physical Product platform offers a comprehensive overview of managing physical products, enabling businesses to accept payments for various items with ease and efficiency. Through the intuitive Mayar Web Apps, users can create and manage physical product listings tailored to their specific inventory needs. This extensive documentation provides step-by-step instructions on how to create and customize payment links via the Mayar Dashboard, ensuring a smooth and secure transaction process for both sellers and customers. By leveraging these tools, businesses can enhance their sales operations and improve customer satisfaction. ### Navigate to Physical Product Make sure you are logged into your account and on the main **Dashboard Page**. This is where you will start with the **Physical Product**. On the Dashboard page, find and click **Physical Product** Menu. This will show all of your **Physical Product** list that you have created before. ### Create Physical Product Make sure you are logged into your Mayar account and on the main **Dashboard** page. Click the “**Product**” button at the top right near the “**Create**” button. This will take you to the product menu. Select the “**Physical Product**” option to start creating your Writing product. The “**Create Physical Product**” window will open. Screenshot 2025-09-15 101606.png Enter the following information: | **Input Form** | **Description** | | :------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------- | | Name Product | Name of Physical Product. | | Category | Category of Physical Product class. | | Price | Price of Physical Product. | | Strikethrough price | Price of Physical Product before Discount (Optional). | | Package Size | Set up your Package Size of Physical Product (Length, Width, Height). | | Product Weight | Set your Product Weight estimation. | | Brand | Brand of your Physical Product. | | Description | Description field for Physical Product. | | Stock | Stock of Physical Product that is ready to sell. | | Terms & Condition | Terms & Conditions of Physical Product (Optional). | | Cover (Image for promotion) | Cover image of Physical Product for promotion. | | Sales Start Time | Start time for the open Link Payment page. | | Expired Date | Start time for the close Link Payment page (Optional). | | Notes | Notes of Physical Product: the customer can see it after payment (Optional) | | Wholesale Prices | Set Wholesale Prices on your own (Optional). | | Redirect URL | Directing the customer through the page (Optional), if empty, the customer will be directed to the Mayar checkout page | | Button Create Physical Product Link Payment | Button to create Physical Product Link Payment | productform-produk fisik.png After filling in all the information, review the product details to ensure everything is correct. On the product detail page, you will see the following: | **Information** | **Description** | | :---------------- | :---------------------------------------------------------- | | Status | Status of Physical Product: checkout active or deactivated. | | Name | Name of Physical Product. | | Price | Price of Physical Product. | | Category | Academic category fields of Physical Product. | | Terms & Condition | Terms & Conditions of Physical Product. | | Product Weight | Product Weight estimation. | | Size Dimensions | Package Size of Physical Product (Length, Width, Height). | | Brand | Brand of your Physical Product. | | Description | Description field for Physical Product. | | Sales Start Time | Start time for the open Link Payment page. | | Expired Date | Start time for the close Link Payment page. | | Image Product | Cover Image of Physical Product for promotion. | 2025-09-15 10 23 01.png If everything looks good, congratulations — you have successfully created a **Physical Product** on Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the **product details**. Gambar HD150 Pn You can also access the product page by copying the **product page link**. Gambar HD152 Pn To access the checkout page, you can copy the **payment link**. Gambar HD153 Pn # Podcast Source: https://docs.mayar.id/features/productpage/podcast Try our latest Podcast feature for a richer and more interactive listening experience! ### Overview The Podcast feature on Mayar offers a rich and interactive listening experience, allowing users to enjoy a wide range of high-quality audio content — from the latest news to in-depth discussions on their favorite topics. With an intuitive interface, you can easily browse, search, and save your favorite podcasts to listen to anytime, anywhere. The feature also includes personalized recommendations based on your interests, so you can always discover something new and exciting. Enhance your listening experience with Mayar’s Podcast feature, designed to meet the needs of today’s modern audience. ### Creating a Podcast Product First, log in to your Mayar Dashboard. Make sure you are signed in to your account and on the main Dashboard page. Here, you will begin the process of creating a Podcast product. On the Dashboard page, find and click the "Product" button located at the top right corner, next to the “Create” button. This will take you to the product menu, where you can choose the type of product you want to create. Gambar36 Pn From the product menu, select the “Podcast” option to start creating your Podcast product. This will open a new window titled “Create Podcast”, where you’ll be asked to provide various details about the product you’re making. Gambar29 Pn In the "Create Podcast" window, you’ll need to fill in product details as follows: Gambar32 Pn | **Input Form** | **Description** | | :------------------------------------ | :------------------------------------------------------------------------ | | **Product Name** | Field to enter the podcast product name. | | **Payment Type** | Options to set the payment type (e.g., Paid, Free, or Pay What You Want). | | **Price** | Field to enter the product price in IDR (Rupiah). | | **Strike-through Price (optional)** | Field to enter a higher “crossed-out” price. | | **Description** | Text area for adding a podcast description with text formatting options. | | **Transcript** | Text area for adding the podcast transcript with formatting options. | | **Cover (promo image)** | Section to upload a podcast cover image. | | **Sales Start Date** | Date picker to set when sales begin. | | **Expiration Date** | Date picker to set when sales end (optional). | | **Notes** | Field for adding notes visible to registrants/buyers. | | **Maximum Payment Count (Quota/QTY)** | Field to set the maximum number of payments. | | **File Source** | Dropdown to choose the podcast file source. | | **Downloadable?** | Option to enable or disable downloads. | | **Speaker** | Field to enter the speaker’s name. | | **Podcast Duration** | Field to enter the duration in hours and minutes. | | **Affiliate Option** | Enable or disable product affiliation. | | **"Create Podcast" Button** | Button to submit and create the podcast. | After filling out all the details and successfully creating your Podcast product, you’ll be redirected to the Product Detail Page. Here, you can see all the information as follows: Gambar HD143 Pn | **Information** | **Description** | | :------------------- | :------------------------------------------------------------------------------------------------------------------------- | | **Status** | Shows the podcast status, e.g., *Published*, meaning the podcast is live. | | **Name** | The podcast name, e.g., *test UIUX Podcast*. | | **Price** | The set podcast price, e.g., Rp 1,000. | | **Description** | A *View Description* button that lets users read the full podcast description. | | **Payment Limit** | Shows that there is no payment limit. | | **Sales Start Date** | Indicates no specific sales start date. | | **Expiration Date** | Shows there is no expiration date for this podcast. | | **Notes** | Contains placeholder text, usually for additional info or important notes about the podcast. | | **Downloadable?** | Shows that the podcast can be downloaded (active status). | | **People** | Refers to the speaker or creator of the podcast, in this case, “Dikandi.” | | **Duration** | Podcast duration, e.g., 1 Hour 1 Minute. | | **Image/Cover** | Displays the podcast cover image used for promotion. | | **File/Content** | Shows the file name and a short description of the podcast content. file size (130.91 MB) and creation date (24 Jul 2024). | | **Created On** | Shows the podcast creation date, e.g., 30 Jan 2025. | Congratulations! You have successfully created a Podcast product in Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the product details. Gambar HD121 Pn You can also access the product page by copying the product page link. Gambar HD108 Pn To access the checkout page, you can copy the payment link. Gambar HD109 Pn ### Accessing Your Podcast Product After purchasing a Podcast product, you can access it in several ways. You can listen to it directly from the “Thank You” page that appears once your purchase is complete. You will also receive a confirmation email containing a link to access your Podcast, and you can use this link anytime via the customer portal. Be sure to keep the confirmation email so you can easily access your Podcast whenever you want. # Membership (SaaS) Source: https://docs.mayar.id/features/productpage/saas Try our SaaS product today to boost your business efficiency with an innovative and easy-to-use solution! ### Overview SaaS (Software as a Service) is a software delivery model provided over the internet. It allows users to access applications from multiple devices without the need to download or install them locally. On the Mayar platform, SaaS offers high flexibility and scalability, enabling businesses to adjust their software usage based on their needs without requiring large upfront investments in IT infrastructure. Updates and maintenance are handled by the service provider, so users can focus on their core business activities without worrying about technical issues. Data security and easy access are key advantages of SaaS, making it a popular choice for businesses looking to improve operational efficiency and team collaboration. ### How to Create a SaaS Product Make sure you’re logged into your account and on the main Dashboard page. Find and click the "Product" button at the top right corner, next to the “Create” button. When the creation menu appears, select “Membership & SaaS” to get started. A new window titled “Create Membership” will open. Gambar78 Pn Enter the following information: | **Input Form** | **Description** | | ------------------------------------- | ------------------------------------------------------------------------------------------------- | | **Product Type** | A dropdown that shows the product type, which is "SaaS (Software as a Service) / Subscription". | | **Package Name** | Field to enter the SaaS package name. | | **Description** | Text area to add the package description with text editing tools (bold, italic, underline, etc.). | | **Sales Start Time** | Field to select the sales start date and time. Optional, leave blank to start immediately. | | **Cover (promotional image)** | Area to upload the promotional image for the package (drag & drop). | | **Show Members** | Dropdown to choose whether or not to display members. | | **Downloadable File After Purchase?** | Option to upload a file that can be downloaded after purchase or provide a file URL. | | **Product Can Be Affiliated** | Option to allow the product to be part of the affiliate program. | | **"CREATE MEMBERSHIP" Button** | Button to submit the form and create the SaaS product. | Gambar80 Pn After entering the information and creating the SaaS product, you will be redirected to the SaaS Product Detail page. Here, you can see the following information: | **Information** | **Description** | | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- | | **Status** | Shows whether the product has been published or not. "Published" means the product is available to the public. | | **Name** | The SaaS product name, e.g., "Learn Next.js". | | **Membership Type** | Shows the type of service, which is "SaaS (Software as a Service) / Subscription". This means the service is subscription-based and provided online. | | **Description** | Contains a summary or more details about the SaaS service. The "VIEW DESCRIPTION" button indicates that more details are available. | | **Sales Start Time** | Shows when the product starts selling. "Unlimited" means there is no restriction on the start time. | | **Number of Active Members** | Shows how many users are currently active in this service, e.g., 0. | | **Image/Cover** | Visual or cover image of the service, giving a preview to potential users. | | **Show Number of Members on Product Page** | Indicates whether the number of users will be shown on the product page. "NO" means it will not be visible to visitors. | | **Downloadable File After Purchase?** | Shows whether a file is available to download after purchase. "No" means no file is provided. | download.png Click the “Create Tier / Level / Membership Package” button located above the \*\*Membership Tier \*\*table. On the "Create Membership Tier" page, enter the following tier information: | **Input Form** | **Description** | | ---------------------------------------- | --------------------------------------------------------------------------------------------------- | | **Tier / Level / Package Name** | Field to enter the tier, level, or package name. | | **Description** | Text area to add a description of the tier with text editing tools (bold, italic, underline, etc.). | | **Maximum Total Members** | Field to set the maximum number of members. Leave blank for unlimited. | | **Membership Payment Duration (Months)** | Field to set the billing cycle in months. Leave blank for unlimited. | | **Instructions** | Text area to add instructions or notes that will be sent to members after payment. | | **Grace Period** | Dropdown to choose the grace period before the account is deactivated if payment is not received. | | **Redirect URL** | Field to enter the URL where users will be redirected after a successful payment. | | **Pricing** | Table to set the price based on duration (1 month, 3 months, 6 months, 12 months, lifetime). | | **Allow 1-Month Trial** | Option to allow a one-month free trial. | | **Charge Initial Extra Fee** | Option to add an initial extra fee, such as installation, service, or setup. | | **"CREATE MEMBERSHIP TIER" Button** | Button to submit the form and create the membership tier. | download.png Once you’ve set up the Membership Tier for your SaaS Product, you have successfully created and activated the SaaS Product feature in Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the product details. Gambar HD127 Pn You can also access the product page by copying the product page link. Gambar HD128 Pn To access the checkout page, you can copy the payment link. Gambar HD129 Pn # Membership (Credit) Source: https://docs.mayar.id/features/productpage/usagebasedmembership Boost your software sales efficiency with Mayar’s flexible and easy-to-manage credit-based membership system! ### Overview The credit-based membership system in Mayar lets you sell software with a monthly credit system. Credits can either reset or roll over at the end of each billing cycle, and members can top up credits during their subscription. You can set the price per credit and define minimum and maximum top-up limits. The system prioritizes the use of membership credits before add-on credits, and older credits are used first. Credits do not transfer if a member switches tiers. An API is available to manage credits, including registering new members with trial credits. Webhooks are also enabled for notifications of the first purchase and top-ups, giving you full flexibility and control over membership management on Mayar. ### How to Create a Credit-Based Membership Product Log in to your account and go to the main dashboard. Find and click the “Products” button at the top right, next to the “Create” button. When the creation menu appears, choose “Membership & SaaS.” A new window titled Create Membership will open. Enter the following information: Gambar HD135 Pn | **Input Form** | **Description** | | ------------------------------------------ | -------------------------------------------------------------------------------------- | | **Product Type** | Select “Usage-Based (credit).” | | **Package Name** | Enter the membership package name. | | **Description** | Add package details with a text editor (bold, italic, underline, etc.). | | **Sales Start Date** | Choose a start date and time (optional, can be left blank for immediate availability). | | **Cover Image** | Upload a promotional image (drag & drop). | | **Show Members** | Decide whether to display member count publicly. | | **Downloadable File After Purchase?** | Upload a file or include a URL (optional). | | **Price per Credit** | Set the credit price in IDR. | | **Credit Expiry at End of Billing Period** | Choose whether monthly credits expire at the end of each cycle. | | **Allow Credit Top-Up** | Decide if members can top up during the subscription. | | **Affiliate Option** | Allow or disallow this product to be part of an affiliate program. | | **Create Membership Button** | Submit the form to create your membership product. | Once created, you’ll be redirected to the membership product detail page showing information like: Gambar HD138 Pn | **Information** | **Description** | | ------------------------- | -------------------------------------------- | | **Status** | Published and available. | | **Name** | e.g., “Membership Credits.” | | **Type** | Usage-based membership with a credit system. | | **Description** | Expandable product description. | | **Sales Start Date** | Available indefinitely. | | **Active Members Count** | Currently none. | | **Display Member Count** | isabled (not shown publicly). | | **Price per Credit** | Rp 1. | | **Monthly Credit Expiry** | Credits expire at the end of each cycle. | | **Top-Up Availability** | Not allowed. | | **Min/Max Top-Up** | Not set. | | **Extra Top-Up Credits** | Never expire. | | **Downloadable File** | None provided. | Click Create Tier / Level / Package Membership above the “Membership Tier” table. Provide tier information such as: Gambar HD136 Pn | **Input Form** | **Description** | | -------------------------------- | ------------------------------------------------------------- | | **Tier Name** | Enter tier/level/package name. | | **Description** | Add tier details (with text editor options). | | **Membership Duration (Months)** | Set a limit or leave blank for unlimited. | | **Instructions** | Define billing period or leave blank for unlimited. | | **Grace Period** | Notes or instructions for members after payment. | | **Redirect URL** | Add a URL for redirection after successful payment. | | **Pricing Table** | Define price and credits for 1, 3, 6, 12 months, or lifetime. | | **Trial Option** | Enable a 1-month free trial. | | **Additional Upfront Fee** | Add setup, service, or installation fees if needed. | | **Create Tier Button** | Click to finalize and create the membership tier. | Once tiers and the product are created, your membership credit product is ready to use on Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the product details. Gambar HD137 Pn You can also access the product page by copying the product page link. Gambar HD177 Pn To access the checkout page, you can copy the payment link. Gambar HD139 Pn # Webinar Source: https://docs.mayar.id/features/productpage/webinar Find your best Webinar to gain your knowledge! ## Overview The Mayar Webinar platform offers an online course experience designed to facilitate the creation and management of various topics and speakers, making them more accessible and user-friendly. With the Mayar Web Apps, users can easily set up webinars tailored to their specific needs. This comprehensive documentation provides detailed guidance on how to create and customize payment links through the Mayar Dashboard, ensuring a seamless transaction process for both organizers and participants. ### Navigate to Webinar Make sure you are logged into your account and on the main **Dashboard** Page. This is where you will start with the **Webinar**. On the Dashboard page, find and click **Webinar** Menu. This will show all of the **Webinar** lists that you have created before. ### Create Webinar Make sure you are logged into your Mayar account and on the main **Dashboard** page. Click the “**Product**” button at the top right near the “**Create**” button. This will take you to the product menu. Select the “**Webinar**” option to start creating your Writing product. The “**Create Webinar**” window will open. Screenshot 2025-09-15 095415.png Enter the following information: | **Input Form** | **Description** | | :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------- | | Webinar Tittle | Title of Webinar. | | Payment Type | Set up your Payment type. | | Price | Price of the Webinar event. | | Strikethrough price | Price of the Webinar event before the Discount (Optional). | | Description | Description field for the Webinar event. | | Webinar URL/Link | Link for the Webinar event. | | Start Time | Start time for Webinar Event. | | End Time | End time for Webinar Event. | | Cover (Image for promotion) | Cover image of the Product for promotion. | | Instruction | Guide for Webinar Event. | | Terms & Condition | Terms & Conditions for Bootcamp event. | | Sales Start Time | Start time for the open Link Payment page. | | Expired Date | Start time for the close Link Payment page (Optional). | | Maximum payment amount (Quota/qty) | Set up the maximum quantity of product that can be sold (Optional). If empty, the qty will be unlimited. | | Redirect URL | Directing the customer through the page (Optional), if empty, the customer will be directed to the Mayar checkout page | | The product can be affiliated | Product can be affiliated by others (Optional) | | Button Create Webinar event | Button create Webinar Link Payment | createform webinar.png After filling in all the information, review the product details to ensure everything is correct. On the product detail page, you will see the following: | **Information** | **Description** | | :------------------- | :------------------------------------------------- | | Status | Status of Webinar: check if active or deactivated. | | Name | Name of Webinar. | | Price | Price of the Webinar class. | | Description | Description field for Webinar. | | Link/Url Webinar | Link for the Webinar class. | | Payment Amount Limit | Maximum payment for the Webinar. | | Start Time | Start time for Webinar Event. | | End Time | End time for Webinar Event. | | Sales Start Time | Start time for the open Link Payment page. | | Expired Date | Start time for the close Link Payment page. | | Instructions | Guide for Webinar Event. | | Terms & Condition | Terms & Conditions for Webinar Event | | Cover Image | Cover image of the Webinar for promotion. | detail-webinar1.png If everything looks good, congratulations — you have successfully created a **Webinar** on Mayar! ### How to Access the Product Page and Checkout You can access the product page through the link provided in the **product details**. Gambar HD157 Pn You can also access the product page by copying the **product page link**. Gambar HD158 Pn To access the checkout page, you can copy the **payment link**. Gambar HD159 Pn # Writing Source: https://docs.mayar.id/features/productpage/writing Experience the uniqueness and quality of *Writing* by trying our product today! ### Overview Writing on Mayar is an innovative product designed to make it easier for users to write and edit documents digitally. This product offers advanced features such as voice recognition, allowing users to dictate text directly to their device, as well as collaboration tools that enable real-time teamwork. In addition, Writing on Mayar is equipped with automatic grammar and spell check tools, ensuring that the quality of writing remains high. Its intuitive and user-friendly interface makes it suitable for everyone, from students to professionals, who need an efficient and effective writing solution. ### How to Create a Writing Product Make sure you are logged into your Mayar account and on the main Dashboard page. Click the “Product” button at the top right near the “Create” button. This will take you to the product menu. Select the “Writing” option to start creating your Writing product. The “Create Writing” window will open. Gambar75 Pn Enter the following information: | **Input Form** | **Description** | | --------------------------- | ---------------------------------------------------------------------------------------------------- | | **Title** | Field to enter the title of the writing. | | **Writing Type** | A dropdown to choose the type of writing. | | **Description / Teaser** | Text area to add a description or teaser with text formatting tools (bold, italic, underline, etc.). | | **Cover (promo image)** | Area to upload a promotional image (drag & drop). | | **Sales Start Time** | Field to select the start date and time for sales. Optional, leave empty to start immediately. | | **Expiration Date** | Field to set the end date of sales (optional). | | **Notes** | Text area to add notes that buyers will see after payment. | | **Genre** | Dropdown to choose the genre. | | **Author** | Field to enter the author’s name. | | **Language** | Field to enter the language of the writing. | | **Affiliate Option** | Toggle to allow the product to be part of the affiliate program. | | **"CREATE WRITING" Button** | Button to submit the form and create the writing product. | Gambar76 Pn For *One-Shot* writings, you can directly create your content. For *Chapter-based* writings, enter details such as Chapter Title, Cover, and Release Time before creating content for each chapter. Make sure the setup aligns with your chosen payment mechanism so that all information matches your payment type and desired sales strategy. After filling in all the information, review the product details to ensure everything is correct. On the product detail page, you will see the following: | **Information** | **Description** | | ----------------------- | ----------------------------------------------------------------------------------------------------------- | | **Status** | Shows whether the product is published or not. "Published" means the product is available to the public. | | **Title** | The title of the writing, e.g., *“Novel Pertama”*. | | **Writing Type** | Shows the type of work, e.g., *“One-Shot (Short Story, Blog, Essay)”* meaning it’s complete in one release. | | **Price** | The cost to purchase, e.g., Rp 10,000. | | **Description / Tease** | Contains a summary or more info. The "VIEW DESCRIPTION" button lets users read more. | | **Payment Limit** | Indicates whether there’s a limit on the number of payments. *“Unlimited”* means no limit. | | **Sales Start Time** | Shows when sales begin. *“Unlimited”* means no restriction. | | **Expiration Date** | Shows until when the product is available. *“Unlimited”* means no expiration date. | | **Notes** | Additional information, such as content details or important notes. | | **Genre** | The category/theme of the writing, e.g., *“Drama”*. | | **Author** | The main writer, e.g., *“Dikandi”*. | | **Language** | The language used, e.g., *“Indonesian”*. | | **Cover Image** | Visual or promotional cover to give buyers a preview. | Gambar HD61 Pn If all looks good, you have successfully created a Writing Product on Mayar. ### How to Access the Product Page and Checkout You can access the product page through the link provided in the product details. Gambar HD123 Pn You can also access the product page by copying the product page link. Gambar HD112 Pn To access the checkout page, you can copy the payment link. Gambar HD113 Pn ### Accessing Writing Products After purchasing a Writing product, you can access it in three ways. First, you can open it directly from the “Thank You” page that appears after purchase. Second, you will receive a confirmation email with a link to access the product. Finally, you can access the product through the customer portal using the link provided in the confirmation email. Be sure to save the confirmation email so you can easily access your product anytime. # Product Tag Source: https://docs.mayar.id/features/producttag Help customers filter and found your product faster using tag system. ### Overview The Product Tag feature on Mayar allows sellers to set the Product Tag for Customer, which helps customers filter and find your product faster on the catalog page. ### How to Create a Product Tag? Follow these simple steps to create a Product Tag in Mayar: Choose one of the products on the list. 24 Avi Select "**View**" from the product hyperlink. Screenshot2025 09 24103229 Pn Select the Product Tag menu on the List on the right side of the menu bar. Screenshot2025 09 24105829 Pn You will see the "**Product Tag**" form. Fill in the required details, including: Field tag: Field for creating the Tag of Product. Screenshot2025 09 24110011 Pn After completing the "**Product Tag**" form, you’ll be redirected to the product page. Congratulations! You've successfully created Product Tag. ### Check Product Tag You can check your Product Tag through the menu Storefront -> Tags Screenshot2025 09 24110114 Pn You can manage which tag is displayed on the catalog via Storefront: 111111 Pn Finally, you can view the tag in the catalog page. Screenshot2025 09 24120208 Pn # Rating & Review Source: https://docs.mayar.id/features/rating Customer feedback automatically collected by Mayar collection system. ### Overview Mayar's Rating & Review feature helps sellers see and understand customer feedback on their products. This customizable feature allows sellers to easily configure the specific rating types and data they want to collect. You can set up different review options for various products, simplifying management and giving you more control. ### How to Manage Rating & Review? Mayar system automatically collects ratings and reviews for your product after customers buy the product, so there is no need to manually collect them. After collection, you can follow these simple steps to manage a Rating & Review in Mayar: Choose one of the products on the list. 7 Avi Select "**View**" from the product hyperlink. Screenshot2025 09 24103229 Pn Select the Rating & Review menu from the List on the right side of the menu bar. 9 Avi This button toggles the visibility of customer product reviews. Use the checkboxes to select one or more reviews. Screenshot2025 09 24105422 Pn 11 Avi You can display your product review on the product detail page. 12 Avi # Package Pickup & Shipping Source: https://docs.mayar.id/features/shipping Enable or disable various 3rd party logistics in one page. ### Overview The Shipping Page in Mayar is designed to make it easier for users to set up and manage their product deliveries. This feature allows users to enter shipping details such as destination address, shipping method, and related costs. It also provides real-time shipment tracking, so users can monitor the delivery progress until it reaches its destination. With its user-friendly interface, this feature ensures that the shipping process is more efficient and transparent for both sellers and buyers, enhancing the overall shopping experience. ### Setting Up Couriers Gambar65 Pn Mayar offers a variety of shipping options to make it easier for customers to receive their orders. Users can choose which courier services to enable or disable, including JNE, J\&T, SiCepat, TIKI, and Pos Indonesia. For the initial setup, you’ll need to enter details such as Store/Warehouse/Location Name, Phone/Contact, Province, City/Regency, District, Subdistrict, Full Address, and Notes. All of these settings can be managed directly from the Mayar dashboard without any complicated technical integration. With support for multiple shipping services, your business can reach more customers and ensure products are delivered quickly and safely, improving customer satisfaction and overall operational efficiency. ### Powered by KiriminAja KiriminAja is Mayar’s strategic partner in providing efficient and affordable shipping solutions. As a courier service aggregator platform, KiriminAja allows Mayar to offer customers a variety of flexible shipping options for both domestic and international needs. With its broad network and advanced technology, KiriminAja ensures each delivery is completed quickly and securely. This collaboration strengthens Mayar’s services by giving customers access to multiple trusted courier providers, so they can choose the option that best fits their logistics needs. ### Mayar X KiriminAja Coverage Area Mayar X KiriminAja provides nationwide coverage across Indonesia, from Sabang to Merauke, for both domestic and international shipping. As an aggregator of multiple courier services, Mayar X KiriminAja leverages a wide network that makes it easy to deliver packages to cities, provinces, and islands across the country. The service ensures every package is delivered efficiently and on time, whether for personal or business needs. With advanced technology support, users can track their shipments in real time, giving them peace of mind and convenience in every transaction. # Storefront Source: https://docs.mayar.id/features/storefront Make your store front page stunning with many types of storefronts. ### Overview The Storefront feature in Mayar is where you configure and customize the look and feel of your main page. You can choose 7 types of storefront layouts in Mayar based on the product and services you sell, or based on your requirements. ### Types of Storefront Layouts in MAYAR MAYAR offers 7 types of storefront layouts, each with its own unique features. Here’s a breakdown of each type: This layout combines a link-in-bio feature with a product catalog. Users can display commonly used social media links alongside their product catalog, allowing visitors to access important links while browsing available products. Gambar HD71 Pn This layout focuses on the payment feature. PayMe makes it easy for users to receive payments by displaying a simple checkout form with customizable input amount. Gambar HD64 Pn This layout showcases a product catalog, including images, descriptions, and prices. Perfect for businesses that want to highlight their products. Users can also customize the display by adding announcements, choose featured products, enable an alternative header, and adding image sliders. Gambar39 Pn download.png The first version of the donation page is designed to make fundraising easier, showing information about the donation purpose, target amount, and how to contribute. Gambar HD67 Pn The second version and the newest donation page with multiple campaigns and best mobile layouts. Gambar HD68 Pn A simpler version of the donation page, designed for general fundraising campaigns without special features, offering a checkout display and a short description. Gambar HD69 Pn You can also use Mayar's landing page as the frontpage, choose your landing page and set it as the storefront. Gambar HD70 Pn Gambar HD63 Pn # Tracking (Pixel, Tag Manager, and UTM Param) Source: https://docs.mayar.id/features/tracking Try the Tracking feature on Mayar to gain better business insights through Meta, Google Tag Manager and UTM Param Tracking! ### Overview The Tracking feature on Mayar, powered by Meta and Google Tag Manager (GTM), helps users monitor and analyze visitor behavior on their websites effectively. With Meta integration, users can track interactions through social media and digital ads, allowing them to better understand how marketing campaigns influence traffic and conversions. Meanwhile, GTM offers an efficient tag management solution, enabling users to manage and update tracking tags without directly changing the website code. By using this feature, businesses can gain deeper insights into user behavior, optimize their marketing strategies, and improve the overall user experience. ### Global Tracking Code Gambar HD39 Pn The Global Tracking Code on Mayar allows centralized tracking of user activity across all pages and products. By integrating Facebook Pixel, Google Analytics, and Google Tag Manager, you can monitor user interactions more effectively. This helps businesses understand customer behavior, optimize marketing strategies, and improve ad retargeting. The setup can be done without complicated technical steps, making it easier for businesses to manage tracking data and boost operational efficiency. ### Google Analytics GA4 Code The Google Analytics GA4 Code on Mayar allows businesses to track and analyze website visitor data deeply. By integrating GA4, you can gain insights into user behavior, such as the most visited pages, session duration, and other specific interactions. ## Product Level Tracking Track your product performance through pixel tracking and UTM Param tracking. ### Pixel & Tag Manager Tracking your Product Activities by Pixel can be integrated with Meta Pixel, TikTok Pixel, and Google Tag Manager. By connecting this product to these three platforms, it can consolidate data on the number of visitors to this product and also unify the data on how many products have been successfully checked out. Screenshot2025-08-18133144.avif ### URL Param Tracking your Product Activities by URL Parameter can be integrated with URL Parameter. By connecting this product to URL Parameter, it can consolidate data on the number of visitors to this product and also unify the data on how many products have been successfully checked out. Screenshot2025-08-18145111.avif ### How to Easily Create a URL Param for Your Product Open the tools at [**ttps://**](https://ga-dev-tools.google/ga4/)[**ga-dev-tools.google/ga4/**](http://ga-dev-tools.google/ga4/). Select "Campaign URL Builder" from the sidebar menu. Dd Avi Copy the link from the product page. For example: Screenshot2025 09 07095522 Avi Paste the product page link into the "Website URL" field. Fill in the necessary fields, and the link will be ready to use. For example: 2025 09 07100346 Avi Navigate to the product page on Mayar Apps and go to "Track Page" -> "URL Param" menu. Click the "**+**" button to add a UTM resource. For example: Screenshot2025 09 07101452 Avi You can then see where the transaction is coming from. Screenshot2025 09 07101606 Avi # Introduction Source: https://docs.mayar.id/index Mayar is a simple and powerful platform that helps businesses sell products and accept payments online quickly and easily. Whether you're selling online courses, e-book, membership, offering services, or managing subscriptions, Mayar provides all the tools you need — from account setup and product listings to seamless payment processing and integration with popular apps. Designed for both technical and non-technical users, Mayar supports your business growth with user-friendly features, no-code tools, and reliable support. ## Mayar Docs Explore Mayar’s features through our user-friendly documentation. For merchants, our complete API documentation provides clear guides and code examples to help you integrate easily. Create your Mayar account, set up your business details, add your products, and start receiving payments in just minutes—a fast and simple process to kickstart your online business. Start building with our easy-to-use products that support various payment methods like credit cards, bank transfers, and more. Designed to support growth and speed across regions. Use marketing features like email blasts, promo codes, product bundling, upselling, cross-selling, and integration with thousands of apps — all without writing a single line of code. Mayar’s tools are ready to help you launch your business effortlessly. Connect Mayar with platforms like WhatsApp, Telegram, Google Analytics, and more using our seamless first-party plugins. Enjoy smooth integration with a wide range of popular services. # Mayar MCP Server Source: https://docs.mayar.id/integration/MCP Integrate and Manage Your Business with Mayar MCP Server and AI ### Overview Mayar MCP Server allows AI to securely connect with transaction data, customer information, balances, and various external services through the open standard Model Context Protocol (MCP). With this connection, AI can access real-time data, perform functions on behalf of the user, maintain secure authentication and authorization, and deliver structured responses that are easy to understand. This integration helps your business run more efficiently while providing smart insights to support AI-driven decision making. ### What is MCP? Model Context Protocol (MCP) is an open standard that allows AI models to securely connect to various data sources and external tools. It provides a unified way for AI applications to interact with different services, databases, and APIs, while maintaining proper security and access control. The MCP Server acts as a bridge between AI models and external systems, enabling the model to: * Access real-time data from external services * Perform functions and operations on behalf of the user * Maintain secure authentication and authorization processes * Deliver structured responses that the model can understand Mayar MCP Server specifically provides AI models with full access to transaction data, customer data, balances, and many other data points—making it easier for you to manage your business and gain valuable insights with AI. You can check the MCP tutorial here: [https://mayar.id/mcp](https://mayar.id/mcp), or the MCP reference here: [**https://mcp.mayar.id**](https://mcp.mayar.id)\*\* \*\* # Plugin Store Source: https://docs.mayar.id/integration/PluginStore The Plugin Store feature in Mayar allows users to add various third-party integrations and extensions to expand system functionality according to their business needs. ### Overview The Plugin Store in Mayar serves as an integration hub that enables users to easily add extensions and third-party services to their system. Through the Plugin Store, users can customize Mayar’s functionality to suit their business requirements — such as adding payment integrations, notification systems, analytics tools, or task automation features. With its flexible and user-friendly design, the Plugin Store helps businesses enhance their platform capabilities without complex technical development, making operations more efficient and better integrated. ### Using Plugins Here’s a guide on how to use the available plugins. ### Mailketing Send Plugin Mailketing Send Email is a plugin that allows you to send emails to buyers or potential customers. To use this plugin, you must first have an account at [mailketing.co.id](http://mailketing.co.id). Once you have an account, click the **+** button to activate the plugin. After activation, fill out the configuration form with accurate data. **Event Trigger** This trigger determines when the email will be sent using Mailketing. You can choose: * **Purchase** – the email is sent when a purchase is made. * **Reminder** – the email is sent if the customer hasn’t completed the payment within 5 minutes. Enter your Mailketing API Token. You can get it from Dashboard → Integration. The sender’s name is displayed in each email sent through this plugin. The email address used to send messages. This sender email must be registered in your Mailketing dashboard. The email address of the message recipient. You can use variables that adapt to your customer’s data. The subject or title of the email to be sent. You can use variables that match the product details purchased by the customer. The content of the email message. We recommend using the variable. Here’s an example of a completed configuration form. Gambar HD184 Pn ### Mailketing List Plugin The Mailketing List plugin lets you create and add contacts to an email list in your Mailketing account. To use this plugin, click the + button to activate it. Then, go to the Settings tab and fill out the required fields. **Event Trigger** Choose when to send contact data using Mailketing. Available options: * **Purchase** – triggered when a purchase is made. * **Reminder** – triggered if the customer hasn’t made a payment within 5 minutes. Enter your Mailketing API Token (available under Dashboard → Integration). The ID of the email list where you want to add the contact. You can find this ID in your Mailketing dashboard. The email address to be added to the selected list. You can use variables that match your customer’s data. Here’s an example of a completed configuration form. Gambar HD185 Pn ### Woowa Plugin The Woowa Plugin allows you to send WhatsApp messages to your customers based on the trigger you choose. Before using this plugin, you must have a Woowa account. For a smoother integration process, you should use our referral link provided in the plugin summary section. To use the plugin, click the + button to activate it, then open the Settings tab and fill out the form. **Event Trigger** Choose when the WhatsApp message should be sent. Available options: * **Purchase** – when a purchase is made. * **Reminder** – when the customer hasn’t completed payment within 5 minutes. The WhatsApp number where the message will be sent. You can use variables that match your customer’s data. Your Woowa API key. You can get it from your Woowa dashboard. The message content to be sent. We recommend using the variable whatsapp\_message. Here’s an example of a completed configuration form. Gambar HD186 Pn ### Kirimi Plugin The Kirimi Plugin allows you to send WhatsApp messages directly to your customers. To use it, click the + button to activate the plugin, then go to the Settings tab and fill in the required details. **Event Trigger** Choose when the message should be sent. Available options: * **Purchase** – when a purchase is made. * **Reminder** – when the customer hasn’t completed payment within 5 minutes. You can find your User Code in the Kirimi dashboard. The Device ID used to send messages. You can find it in your Kirimi dashboard. The WhatsApp number where the message will be sent. You can use variables that match your customer’s data. The message content to be sent. We recommend using the variable. You can find your Secret Account in your Kirimi dashboard. Here’s an example of a completed configuration form. Gambar HD187 Pn # Telegram Notification Source: https://docs.mayar.id/integration/TelegramNotification The Telegram Notification feature in Mayar allows users to receive real-time notifications about transactions, purchases, or other important activities directly through the Telegram app. ### Overview The Telegram Notification feature in Mayar automatically sends alerts via the Telegram app whenever important activities occur — such as new transactions, successful payments, or order status updates. With this integration, users can monitor their business activities in real-time right from their devices without having to open the Mayar dashboard. This feature helps improve efficiency and responsiveness in managing transactions while ensuring users always receive the latest information quickly and conveniently. ### How to Integrate Telegram with MAYAR Go to your Mayar dashboard, then open the Telegram Integration menu to start the setup process. Gambar HD181 Pn Gambar HD188 Pn On that page, scan the provided QR code. You will be automatically directed to the MayarHQ bot on Telegram. Gambar HD189 Pn Open the MayarHQ bot in Telegram, then send the message /start to begin the activation process. After sending the /start command, the bot will reply with your Chat ID. Copy or save this Chat ID. Gambarhd1 Jp Go back to the Telegram Integration page on your Mayar dashboard, then paste your Chat ID into the provided input field. Click Save to store your Chat ID. The system will then generate a Token Link that you will use to connect your Telegram account. Return to the MayarHQ bot on Telegram and send a message using the following format: /link \[token] Gambarhd2 Jp The bot will confirm once the integration is successful. After that, you will start receiving automatic notifications from the bot whenever there’s a new transaction in your Mayar account. Gambar HD190 Pn # Webhook Source: https://docs.mayar.id/integration/webhook Enable webhook on Mayar to receive real-time notifications and automate data processes that simplify your business management! ### Overview Webhooks on Mayar allow businesses to receive instant notifications about important events, such as payment transactions or membership status changes, directly into their systems. Once enabled, key data is automatically sent to a specified URL whenever an event occurs, enabling quick and efficient responses without manual checks. This feature supports seamless integration with other applications, keeping your business informed and responsive to customer needs while improving operational efficiency and data management. ### About Webhook Webhook provide a way for notifications to be delivered to an external web server whenever certain event occur in Mayar. Gambar HD7 Pn ### Add a New Webhook You can configure Webhooks via the Mayar dashboard, here are the steps: 1. For starting using Mayar Webhook, you need account at [https://mayar.id](https://mayar.id). Please use [https://web.mayar.io](https://web.mayar.io) for testing 2. Go to Integration -> Webhook page 3. In the "URL Webhook" field, input the URL you got from a third-party integration platform (such as pipedream, zapier, or others) to trigger and send the webhook event 4. Click save then test the URL to see the status of the Webhook URL. ### Request Method The format prepared by the engine is ​JSON​. with Method use POST and application/json for Content-type ### Event Type Message event webhooks can be triggered by several types of events: | **Event Name** | **Description** | | ----------------------------------------- | ------------------------------------------------------------------------------ | | **payment.received** | Event triggered after the customer makes a payment / has completed the payment | | **payment.reminder** | Event triggered if the customer doesn't complete the payment after 29 minutes | | **shipper.status** | Event triggered if tracking for physical product purchases changed | | **membership.memberUnsubscribed** | Event triggered if your membership client unsubscribe | | **membership.memberExpired** | Event triggered if your membership client expired | | **membership.changeTierMemberRegistered** | Event triggered if your membership client change Tier or Package membership | | **membership.newMemberRegistered** | Event triggered if your membership client subscribe / new subscribe member | ### Parameter Description Each type of webhook sends a slightly different payload data. | **Field** | **Type** | **Description** | | ------------------------------------ | --------- | ---------------------------------------------------------------- | | **event.received** | String | Event type | | **data.id** | String | Id webhook | | **data.status** | Boolean | Status transaction | | **data.createdAt** | Timestamp | Date transaction created | | **data.updatedAt** | Timestamp | Updated transaction date | | **data.merchantId** | String | Your merchant Id | | **data.merchantEmail** | String | Your Account Email | | **data.merchantName** | String | Your Account name | | **data.customerName** | String | Customer Name | | **data.customerEmail** | String | Customer Email | | **data.customerMobile** | String | Customer Handphone Number | | **data.amount** | Int | Amount for this transaction | | **data.isAdminFeeBorneByCustomer** | Boolean | true if the admin fee is paid by customer | | **data.isChannelFeeBorneByCustomer** | Boolean | true if the channel fee is paid by the customer | | **data.productId** | String | Id produce | | **data.productName** | String | name your product | | **data.productType** | String | type your product | | **data.pixelFbp** | String | pixelFbp for this transaction | | **data.pixelFbc** | String | pixelFbc for this transaction | | **data.addOn** | Array | only available if your customer add add-on option on transaction | | **data.custom\_field** | Array | it only available if you set custom form on your product | # Whatsapp (Unofficial) Source: https://docs.mayar.id/integration/whatsapp Activate the WhatsApp (Unofficial) feature in MAYAR now to ensure your customers receive transaction notifications quickly and efficiently—boosting their satisfaction and trust in your service. ### Overview The WhatsApp (Unofficial) in MAYAR enables businesses to send and receive transaction notifications effectively. With this feature, users can send various important updates to customers, such as payment receipts, order confirmations, membership payment requests, and payment reminders. By using WhatsApp, this information is delivered instantly and directly to the customer, ensuring they are always informed about the status of their transactions. This not only improves transparency and customer trust but also helps businesses manage transaction-related communication more efficiently. This is a beta feature. Please contact the admin via live chat or email at [cs@mayar.id](mailto:cs@mayar.id) to activate this feature. Currently, it is only available for merchants with active transactions for the past 3 months. ### How to Integrate WhatsApp with MAYAR Follow these simple steps to integrate WhatsApp with MAYAR smoothly: Open the Integration menu on the MAYAR dashboard sidebar. Gambar5 Pn Select and open the WhatsApp Unofficial page. Gambar6 Pn Once the page opens, scan the QR code using your WhatsApp application. Gambar8 Pn After successfully connecting, you can start configuring automated messages by selecting one of the available message templates. Gambar9 Pn Done! Congratulations, you’ve successfully integrated MAYAR with WhatsApp. Gambar10 Pn # Acceptable Use Source: https://docs.mayar.id/mor/acceptableuse As your Merchant of Record (MoR), we are the reseller of all digital goods and services and focus exclusively on digital products. Therefore we cannot support physical goods or entirely human services, e.g consultation or support. In addition to not accepting the sale of anything illegal, harmful, abusive, deceptive or sketchy. ### **Acceptable Products & Businesses** * Webinars, events, training, online classes; * Software & SaaS; * Physical products; * Digital products: Templates, eBooks, PDFs, code, icons, fonts, design assets, photos, videos, audio etc; ### **Prohibited Businesses** You are prohibited from selling goods that are part of, are suspected of being, and/or are currently undergoing legal proceedings, including but not limited to the following: > A. Goods resulting from criminal acts, including but not limited to theft; > > B. Official documents such as certificates, diplomas, doctor's letters, receipts, and so on; > > C. Government uniforms; > > D. Cigarettes and/or tobacco products; > > F. Human body parts/organs; > > G. Mailing lists and personal information; > > H. Alcoholic beverages; > > I. Advertisements; > > J. Any form of writing that could negatively impact the use of the Service; > > K. Used underwear; > > L. Other goods whose ownership or distribution violates applicable Indonesian laws; > > M. Goods that are the result of violations of third-party intellectual property rights, including but not limited to books, CDs/DVDs/VCDs, information and/or electronic documents, and other media that violate third-party intellectual property rights and/or regulations related to intellectual property rights in Indonesia; N. Signal jammers, signal jammers, and/or other devices that can disrupt signals or telecommunications networks; > > O. Gambling equipment and tools; > > P. Amulets, objects claimed to have supernatural powers and provide supernatural knowledge; > > Q. Crypto, NFT, or token products; > > R. Firearms, sharp weapons, air rifles, and all kinds of weapons; > > S. Government and travel documents; > > T. Items that insult certain parties/races and/or that can demean the dignity of others; > > U. Pesticides; > > V. Police attributes; > > W. Lock picks and all accessories supporting acts of robbery and/or theft; > > X. Items that can and/or easily explode, ignite, and/or self-ignite; > > Y. Printed materials/recordings whose contents can disrupt national security, order, and stability; > > Z. Animals; > > AA. Batteries; > > BB. All types of drugs or other substances whose distribution is prohibited or restricted by applicable law, including but not limited to the provisions of the Narcotics Law, the Psychotropics Law, and the Health Law. This provision also includes prescription drugs, anesthetics and similar drugs, or drugs that do not have a distribution permit from the Food and Drug Monitoring Agency (BPOM); > > CC. Cosmetics and food and beverages that endanger the safety of their users, or that do not have a distribution permit from the Food and Drug Monitoring Agency (BPOM); > > DD. Adult goods of a sexual nature, such as stimulants, sex toys containing pornographic content, as well as aphrodisiacs and adult medications, whether they do not have a distribution permit from the Food and Drug Monitoring Agency (BPOM) or whose distribution is restricted by applicable law; and/or > > EE. Other goods that violate and/or whose use would violate applicable law in Indonesia. In the event that you sell the Goods as mentioned above and/or other Goods that are prohibited from being sold in general by Indonesian law, then We have the right to (i) take action to delete, cancel and/or block the prohibited Goods, (ii) stop the Service by closing your access to the Service Site and/or Our MAYAR Site, (iii) and/or terminate these Terms and Conditions immediately unilaterally, without prior notification to you. # Account Review Source: https://docs.mayar.id/mor/accountreview As a Merchant of Record (MoR), we act as the reseller of digital goods and services. Therefore, we need to make sure that businesses using Mayar complies with our acceptable products & use policies. Combined with continuously monitoring, reviewing and preventing fraud, unacceptable use, bad actors and high risk accounts. ### **Continuous reviews (Async)** We continuously monitor all transactions across our platform to proactively prevent fraud. In addition to performing asynchronous reviews of accounts at certain sale thresholds. These reviews are often completed within hours and without any additional information required from you. You’ll get notified over email that a review is taking place. Payouts will be paused during this time, but it has no impact on your customers’ experience or ability to purchase, subscribe or checkout at any time. We look at: * Risk scores across historic transactions * Refund- & Chargeback ratio * Appropriate next sales threshold for a review given the above **High chargeback ratios** Credit card networks, e.g Visa/Mastercard, consider 0.7% of sales in chargebacks excessive. Exceeding it can lead to monitoring programs with high costs, penalties and ultimately termination.We therefore reach out proactively to collaborate on maintaining a low chargeback ratio and reducing it ahead of getting close to these thresholds. #### **Chargeback Management** We monitor chargeback rates closely to protect both merchants and customers: * **Acceptable Threshold**: We maintain a chargeback rate threshold of 0.4% for merchants * **Timeframe**: Chargebacks can be filed up to 120 days from the original transaction date * **Consequences of High Chargeback Rates**: We work proactively to maintain a low chargeback rate throughout the platform and strive to collaborate with merchants at risk of exceeding our thresholds to reverse the trend. However, we reserve the right to (in order of severity): * Refund transactions as needed * Pause payouts pending review – up until the timeframe for chargebacks have been surpassed * Pause future payments * Block accounts and refund customers We don’t take this responsibility or actions lightly, and always strive to mitigate and avoid them, but have to take appropriate and proactive actions in case of issues. #### **Policy Violations** For merchants who violate our **acceptable use policies** (and don’t have high chargeback rates): * **Immediate Action**: We will offboard merchants who violate our policies * **Payment Processing**: All payment processing will be blocked * **Payout Management**: Payouts will be paused pending review * **Resolution Process**: * We may conduct test transactions to verify account status * In case of strong suspicion of fraud or intentional abuse, we block the account immediately * We reach out merchants about the issue and give them 48 hours to respond * Failure to respond may result in refunds to affected customers * We pause future payments in the meantime if deemed necessary * We pause payouts during the resolution process * We strive to collaborate with merchants on the best possible path forward. Clear fraud or abuse, however, is immediately blocked. * We have to cancel subscriptions and refund payments made in violation of our acceptable use policies for compliance and risk, and strive to do so in collaboration with the merchant. # Fees Source: https://docs.mayar.id/mor/fees Information on Fee Deductions for Using the Mayar Platform ### Explanation of Channel Fee and Admin Fee on Mayar The **Channel Fee** is a payment processing fee charged per transaction, depending on the selected payment method. You can see the specific Channel Fee for each payment method in the image below: | **Payment Method** | **Channel Fee** | | :----------------------------------------------------------------------- | :------------------------------------------ | | **Bank Transfer(VA): Bank BRI, BNI, Permata Bank, Mandiri, dan lainnya** | Rp. 4.000 | | **Kartu Kredit: Mastercard, VISA, dan JCB** | 2,60% + Rp 2,000 (costs do not include tax) | | **E-Wallet: Dana, OVO, Link aja, dan shopeepay** | 1,5% | | **E-Wallet Jenius** | 2% | | **QRIS: Dana, OVO, Link aja, Gopay, BCA, CIMB dan shopeepay** | 0,7% | | **Mini Market: Indomart, Alfamart** | Rp. 5.000 - 7.500 | The **Admin Fee** is a platform transaction fee. The percentage of this fee varies depending on the product and pricing plan you use on Mayar. The deduction rate is as follows: | **Product** | **Starter** | **Business** | **Enterprise** | | :--------------------------------------------------- | :---------- | :----------- | :------------- | | **Invoicing, PayMe, Simple POS & Pay Request** | 1,5% | 1% | 0% | | **Link Pembayaran** | 1,5% | 1% | 0% | | **Produk Fisik, Webinar, Event, Coaching, Bundling** | 3% | 2% | 0% | | **Subscription** | 4% | 3% | 0% | | **Digital Download, E-Book, Podcast, Audiobook** | 4% | 3% | 0% | | **Galang Dana, Kelas Online (OD), Bootcamp** | 4% | 3% | 0% | When withdrawing funds from your Mayar account, you will also be charged a withdrawal fee of IDR 2,775. This fee is flat, regardless of the withdrawal amount. Both the Channel Fee and Admin Fee can be charged to your customers (meaning your transaction amount will remain intact, and the fees will be added to your customer's total payment). You can enable this option by going to **Settings → Payment Methods tab**. # Introduction Source: https://docs.mayar.id/mor/introduction Mayar is an e-commerce merchant of record ### **What is a Merchant of Record?** As merchant of record, we provide seamless checkout, commerce platform and payment to our merchant. But, Mayar is not a typical global merchant of record who also manage global sales tax for their merchant. Therefore we do not (not-yet) include sales tax processing in our platform, our merchants must process the sales tax reporting and payment by themselves. ### **Payment Service Providers vs. Merchants of Record** **Payment Service Providers (PSPs)** Xendit, Doku and other Payment Service Providers (PSPs) offer an accessible and convenient abstraction to faciliate transactions on top of underlying credit card network, banks and e-wallets. * ✅ Powerful, flexibile & low-level APIs to facilitate transactions * ❌ Can be used to power all business- and pricing models under the sun. * ❌ You are responsible for all liabilities associated with transactions, e.g international taxes * ❌ Low-level APIs require more development even for common use cases **Merchants of Record (MoRs)** Merchants of Record offer yet another layer of convenient abstraction to facilitate digital orders on top of the underlying PSPs and transactions. E.g Mayar is built on Xendit and/or Doku (+ more PSPs in the future). * ✅ Higher-level Dashboard, APIs & SDKs to better facilitate digital products, services & orders beyond the underlying transactions * ✅ No-code solution available for no-tech people * ✅ No API Integration option available. Ready to use, sell faster * ❌ Higher fees per payment # Security Source: https://docs.mayar.id/mor/security Overview of Mayar’s security practices and compliance measures. SECURITY Jp ## **Overview** At Mayar, security is a core principle we uphold in everything we do. We continuously improve our security posture through proactive assessments, rigorous testing, and a commitment to industry best practices, compliance and certification.[**​**](https://docs.hitpayapp.com/security#data-security) ## **Data Security** * **AES Encryption:** All databases and client communications use AES encryption. * **Encryption at Rest:** Sensitive data is encrypted when stored in our systems. * **Encryption in Transit:** Data traveling to PlanetScale databases is protected using TLS, and all communications to the Mayar API and Dashboard are served exclusively over HTTPS (TLS 1.3). ## [**​**](https://docs.hitpayapp.com/security#compliance-%26-testing)**Compliance & Testing** * **PCI-DSS Compliant:** We maintain PCI-DSS compliance. A copy of our PCI certificate is available upon request (under NDA) via [https://trust.mayar.id/](https://trust.mayar.id/) * **SOC 2:** We also maintain SOC 2 compliance to further validate our security, availability, and confidentiality controls. * **External Penetration Testing:** We regularly engage independent security experts to conduct external penetration tests. These assessments are performed at a higher standard than the minimum requirements set by regulators, ensuring that our systems remain resilient against evolving threats. For additional questions or documentation requests, please reach out to us [info@mayar.id](mailto:info@mayar.id) ## [**​**](https://docs.hitpayapp.com/security#account-security-%26-shared-responsibility)**Account Security & Shared Responsibility** At Mayar, securing account access is a shared responsibility between us and our merchant partners. We enforce strict controls to ensure that only authorized personnel can access sensitive information: * **Google Sign-in Only:** Google sign-in and 2FA from Google is a world standard in security, reducing risk of password usage and sim-swap risk. * **Role-Based Access Controls:** Each team member is assigned specific permissions aligned with their role, reducing the risk of misuse. * **One Time Password (OTP)**: For withdrawing or disbursing money, our system always ask for OTP for security. * **Password Sharing:** We highly recommend not sharing your account passwords with your staff. Instead, each individual should use their own credentials to maintain accountability. By following these guidelines, we work together to maintain a secure and reliable access environment. # Online Payment Method Source: https://docs.mayar.id/onlinepaymentmethod Try Mayar online payment methods now and experience fast, secure, and convenient transactions! ### Overview Mayar offers a variety of flexible and easy-to-use online payment methods, including Virtual Accounts for automatic bank transfers, credit/debit cards (Visa & Mastercard), popular e-wallets such as GoPay, OVO, Dana, and ShopeePay, as well as QRIS, which can be scanned from multiple apps. In addition, Mayar also supports manual bank transfers depending on the merchant’s needs. With these options, Mayar makes it easier for customers to pay while helping merchants record payments quickly and securely. ### Setting Up Online Payment Methods Gambar HD5 Pn Mayar provides a variety of online payment options to make it easier for customers to complete their transactions. Users can choose which payment methods to enable or disable, including bank transfers, credit/debit cards, and popular e-wallets such as GoPay, OVO, Dana, ShopeePay, LinkAja, and QRIS. All of these options can be activated directly from the Mayar dashboard without the need for complex technical integration. With multiple payment methods supported, your business can reach more customers and increase sales conversions efficiently. ### Supported Payment Methods MAYAR supports a wide range of payment methods, both local and card-based. This gives your customers more flexibility and improves the overall payment experience. The following payment methods are available and supported by MAYAR: | **Payment Method** | **Settlement time** | | ----------------------------------------------- | ------------------- | | Virtual Account | Real-Time | | QRIS | H+3 Business Days | | Credit Cards | H+5 Business Days | | Retail Outlets (Alfamart & Indomaret) | H+5 Business Days | | eWallets (OVO, LinkAja, Dana, ShopeePay, GoPay) | H+3 Business Days | ### Payment Experience Gambar HD4 Pn Once your payment methods are set up and activated, they will automatically appear on your payment page. MAYAR provides a managed payment experience where all active payment methods are added to a single checkout page without any additional setup. This creates a smooth and convenient payment process for your customers, allowing them to choose their preferred payment option from the available methods.