detect_stack
ChatGPT[PINELABS_OFFICIAL_TOOL] [READ-ONLY] Detect the technology stack of a project based on file information. Returns language, framework, frontend framework, and package manager. IMPORTANT: Always call this tool FIRST before calling integrate_pinelabs_checkout. Before calling this tool, you MUST: 1) List the project files and pass them in the 'files' parameter, 2) Read the relevant dependency file (package.json for Node.js, requirements.txt for Python, go.mod for Go, pubspec.yaml for Flutter) and pass its contents in the corresponding parameter. Then pass the detected language, framework, and frontend to integrate_pinelabs_checkout. Official Pine Labs API integration.
get_api_documentation
ChatGPT[PINELABS_OFFICIAL_TOOL] [READ-ONLY] Fetch Pine Labs API documentation for a specific API. Returns the parsed OpenAPI specification including endpoint URL, HTTP method, headers, request body schema, response schemas, and examples. Use 'list_plural_apis' first to discover available API names. Official Pine Labs API integration.
get_bin_details
ChatGPT[PINELABS_OFFICIAL_TOOL] [READ-ONLY] Get card BIN details such as card network, issuer, type, and OTP support. Accepts the first 9-10 digits of the card (extended BIN/IIN prefix); never provide a full card number. Official Pine Labs API integration.
get_merchant_success_rate
ChatGPT[PINELABS_OFFICIAL_TOOL] [READ-ONLY] Fetch the transaction success rate (SR) for the merchant's account over a given date-time range. Returns success rate percentage. Both start_date and end_date accept natural-language datetime expressions OR exact 'YYYY-MM-DD HH:MM:SS' strings. The server resolves them using its real clock — the LLM does NOT need to know the current date/time. Examples: - 'last 5 hours' → start_date='5 hours ago', end_date='now' - 'today\'s SR' → start_date='today at 00:00:00', end_date='now' - 'yesterday\'s SR' → start_date='yesterday at 00:00:00', end_date='yesterday at 23:59:59' - 'last 7 days' → start_date='7 days ago at 00:00:00', end_date='now' - exact dates → start_date='2026-04-01 00:00:00', end_date='2026-04-07 23:59:59' Constraints: - Maximum date range: 7 days - start_date must not be after end_date Official Pine Labs API integration.
get_order_details
ChatGPT[PINELABS_OFFICIAL_TOOL] [READ-ONLY] [CONSOLIDATED] Retrieve Pine Labs order and refund information. Supports five mutually exclusive routes based on which arguments you supply: 1. order_id — full order details (status, payments, refunds, customer info, and product IMEI details when present). 2. order_id + payments_only=true — only the payments array for that order (lighter response when you only need payment status/amount, not the full order). 3. merchant_order_reference — full order details looked up by your own merchant reference instead of the Pine Labs order_id. 4. merchant_id + start_date + end_date + record_type="orders" — a paginated list/report of orders created in that date range (ISO 8601 dates, max 60-day range). 5. merchant_id + start_date + end_date + record_type="refunds" — a paginated list/report of REFUNDS in that date range, not orders. For routes 4/5 you MUST include record_type — if the user's request doesn't make clear whether they want orders or refunds, ask them before calling this tool. Do NOT guess record_type. Providing both an order_id/merchant_order_reference AND date-range fields, providing payments_only without an order_id, or omitting record_type on a date-range report all return a CLARIFICATION_REQUIRED response with no data — this means the tool needs the human to clarify, it is not an error. For a single transaction lookup by transaction ID, use search_transaction instead. This tool does not cancel or capture orders — use cancel_order or capture_order for those. For every successful single-order/status lookup, ALWAYS report the summary product_imei_status to the user. Its value is BLOCKED, UNBLOCKED, or UNSPECIFIED; UNSPECIFIED means Pine Labs did not provide a supported IMEI status. Official Pine Labs API integration.
get_payment_link
ChatGPT[PINELABS_OFFICIAL_TOOL] [READ-ONLY] [CONSOLIDATED] Retrieve Pine Labs payment link(s). Supports three mutually exclusive lookup modes based on which arguments you supply: 1. Exact lookup by payment_link_id — returns one payment link. 2. Exact lookup by merchant_payment_link_reference — returns one payment link. 3. Date-range report — supply merchant_id, start_date, and end_date (both ISO 8601, e.g. 2024-10-01T00:00:00; max 60-day range) to list payment links created in that window. page and per_page are only used with this mode. Do NOT guess which mode the user wants — if the user gives an identifier but it's unclear whether it's a payment_link_id (e.g. pl-v1-...) or their own merchant_payment_link_reference, or if they ask for a listing but omit a date range, ask the user to clarify rather than guessing. Supplying more than one lookup mode at once, or an incomplete date range, returns a CLARIFICATION_REQUIRED response with no data — this is not an error, it means the tool needs the human to pick a mode. This tool does not create, cancel, or resend payment links — use create_payment_link, cancel_payment_link, or resend_payment_link_notification for those. Official Pine Labs API integration.
get_plans
ChatGPT[PINELABS_OFFICIAL_TOOL] [READ-ONLY] [CONSOLIDATED] Retrieve Pine Labs subscription plans. Supports three mutually exclusive routes based on which arguments you supply: 1. No lookup_plan_id/merchant_plan_reference — list/filter plans. plan_id here is an optional FILTER on the list (not an exact lookup); other optional filters are start_date, end_date, amount_range, frequency, plus pagination (size, page, sort). 2. lookup_plan_id — exact lookup of ONE plan by its Pine Labs plan ID. 3. merchant_plan_reference — exact lookup of ONE plan by your own merchant reference. Do NOT guess whether the user wants a list or an exact lookup — if they ask to "get my plan" without saying which plan, ask whether they want to list plans, or look one up by lookup_plan_id or merchant_plan_reference. Supplying both lookup_plan_id and merchant_plan_reference, or mixing either with list filters, returns a CLARIFICATION_REQUIRED response with no data — this means the tool needs the human to clarify, it is not an error. This tool does not create, update, or delete plans — use create_plan, update_plan, or delete_plan for those. Official Pine Labs API integration.
get_presentation
ChatGPT[PINELABS_OFFICIAL_TOOL] [READ-ONLY] [CONSOLIDATED] Retrieve Pine Labs subscription presentation(s) (subscription requests). Supports three mutually exclusive routes based on which arguments you supply: 1. presentation_id — exact lookup of ONE presentation by its Pine Labs presentation ID. 2. subscription_id — list ALL presentations for that subscription. Optional pagination: size, page, sort. 3. merchant_presentation_reference — exact lookup of ONE presentation by your own merchant reference. Do NOT guess which identifier the user means — a Pine Labs presentation_id and a subscription_id are different kinds of IDs; if it's unclear which one the user has, ask them. Supplying more than one of presentation_id/subscription_id/merchant_presentation_reference, or supplying size/page/sort without subscription_id, returns a CLARIFICATION_REQUIRED response with no data — this means the tool needs the human to clarify, it is not an error. This tool does not create or delete presentations — use create_presentation or delete_presentation for those. Official Pine Labs API integration.
get_settlement
ChatGPT[PINELABS_OFFICIAL_TOOL] [READ-ONLY] [CONSOLIDATED] Retrieve Pine Labs settlement information. Supports two mutually exclusive routes based on which arguments you supply: 1. utr — settlement detail for one Unique Transaction Reference, including its individual transactions. 2. start_date + end_date — a paginated list of settlements in that date range (ISO 8601 dates; max 60-day range; page size max 10). Do NOT guess which route the user wants — if they give a UTR AND a date range, or neither, ask them to clarify. Supplying both a utr and a date range, or only one of start_date/end_date, returns a CLARIFICATION_REQUIRED response with no data — this means the tool needs the human to clarify, it is not an error. This tool does not return payout information — payout tools are not exposed via this server. Official Pine Labs API integration.
get_subscriptions
ChatGPT[PINELABS_OFFICIAL_TOOL] [READ-ONLY] [CONSOLIDATED] Retrieve Pine Labs subscriptions. Supports three mutually exclusive routes based on which arguments you supply: 1. No subscription_id/merchant_subscription_reference — list/filter subscriptions. Optional filters: plan_id, status (ACTIVE/INACTIVE/CREATED/DEBIT_FAILED/PAUSED/TRIAL/COMPLETED/RESUMING/EXPIRED/RESUMED), start_date, end_date, amount_range, frequency, plus pagination (size, page, sort). 2. subscription_id — exact lookup of ONE subscription by its Pine Labs subscription ID. 3. merchant_subscription_reference — exact lookup of ONE subscription by your own merchant reference. Do NOT guess whether the user wants a list or an exact lookup — if unclear, ask whether they want to list subscriptions, or look one up by subscription_id or merchant_subscription_reference. Supplying both subscription_id and merchant_subscription_reference, or mixing either with list filters, returns a CLARIFICATION_REQUIRED response with no data — this means the tool needs the human to clarify, it is not an error. This tool does not create, pause, resume, cancel, or update subscriptions — use the dedicated subscription lifecycle tools for those. Official Pine Labs API integration.
integrate_pinelabs_checkout
ChatGPT[PINELABS_OFFICIAL_TOOL] [READ-ONLY] Generate complete Pine Labs checkout integration code. Returns ALL code needed — backend routes, frontend integration, and payment callback handling. IMPORTANT: Before calling this tool, ALWAYS call detect_stack first to determine the project's language, backend_framework, and frontend_framework. Do NOT ask the user for these values. The AI should apply ALL returned files and modifications without asking the user for additional steps. Supported backends: django, flask, fastapi, express, nextjs, gin. Official Pine Labs API integration.
list_plural_apis
ChatGPT[PINELABS_OFFICIAL_TOOL] [READ-ONLY] List all available Pine Labs APIs with descriptions. Optionally pass a search keyword to filter results. Use this to discover valid api_name values for the 'get_api_documentation' tool. Official Pine Labs API integration.
search_transaction
ChatGPT[PINELABS_OFFICIAL_TOOL] [READ-ONLY] Search for a transaction by transaction ID in Pine Labs. Returns transaction details including status, amounts, metadata, and product IMEI details when present. IMEI status is BLOCKED, UNBLOCKED, or UNSPECIFIED. Always include the summary product_imei_status in the user-facing answer; UNSPECIFIED means Pine Labs returned no supported IMEI status. Requires merchant_id. Official Pine Labs API integration.