{"id":55466,"plugin_id":"plugin_asdk_app_6a0d7e6523848191aa2a5f9e69dec22a","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-26T12:07:22.578Z","digest":"bf75683d78b079519253b2e69141d27554197d77d1e1f78267053f847bcbfaf6","against":null,"payload":{"description":"Use when the user asks about their airpay merchant account - payment or order status, refunds, UPI QR codes, VPA validation, bank lists, subscriptions, POS transactions, or settlement status and reports - via the airpay MCP tools.","included_files":[],"name":"airpay-workflows","skill_md_contents":"---\nname: airpay-workflows\ndescription: Use when the user asks about their airpay merchant account - payment or order status, refunds, UPI QR codes, VPA validation, bank lists, subscriptions, POS transactions, or settlement status and reports - via the airpay MCP tools.\n---\n\n# airpay workflows\n\nUse the airpay MCP tools as the source of truth. Only call tools that are actually exposed in the current session; never invent tool names, parameters, identifiers, or results.\n\n## Identifiers\n\n- `ap_transactionid` — airpay's internal numeric ID. Prefer it whenever available.\n- `orderid` — merchant-generated order ID (alphanumeric, max 30 chars).\n- `rrn` — bank Retrieval Reference Number.\n\nUse identifiers exactly as the user supplied them or a previous tool returned them. Never substitute one kind for another.\n\n## Workflows\n\n1. **Check payment status** — call `airpay_order_confirmation` with exactly one of `ap_transactionid`, `orderid`, or `rrn`.\n2. **Refund** — confirm the transaction with `airpay_order_confirmation`, show the user the order, amount, and refund amount, get explicit confirmation, then call `airpay_initiate_refund`. Follow up with `airpay_get_refund_status`. Refunds are irreversible.\n3. **UPI QR payment** — optionally validate the payer VPA with `airpay_validate_vpa`, then `airpay_generate_qr`, then poll `airpay_order_confirmation` until a terminal state is returned.\n4. **Split settlement** — call `airpay_order_confirmation` to get `rrn` and `ap_transactionid`, get explicit user confirmation, then call `airpay_split_settlement`. Irreversible.\n5. **Consolidated settlement report** — call `airpay_settlement_report` with `from_date` and `to_date` (`page_no` defaults to 1).\n6. **Transaction-wise settlement report** — first call `airpay_settlement_report` with `from_date` and `to_date` both set to the requested settlement date, pick the `version` for that date, then call `airpay_transactionwise_settlement_report` with `settlement_date` and `version`. Request further pages until no records are returned. Never ask the user for `api_type`; it is set internally.\n7. **Other lookups** — `airpay_settlement_status`, `airpay_get_bank_list`, `airpay_pos_transaction_detail`, `airpay_check_subscription_status`, `airpay_create_invoice` as needed, following each tool's schema.\n\n## Constraints\n\n- Amounts are strings with exactly two decimals, e.g. `\"100.00\"`.\n- `airpay_order_confirmation` and `airpay_get_refund_status` work only on LIVE merchant IDs, not sandbox.\n- QR codes from `airpay_generate_qr` expire after a successful payment.\n- Treat refunds, split settlements, QR generation, and invoice creation as consequential: confirm details with the user before calling.\n\n## Reading results\n\n`status_code` / `response_code` say whether the API call worked; `transaction_status` / `transaction_payment_status` say what happened to the payment.\n\n| Code | Meaning |\n| --- | --- |\n| 200 | Success |\n| 211 | In processing — poll again |\n| 400 | Failed |\n| 401 | Not registered properly |\n| 402 | Not yet processed |\n| 403 | No callback from bank |\n| 405 | Bounced |\n| 503 | No records found |\n\n`transaction_payment_status` values: SUCCESS, FAIL, INPROCESS, INCOMPLETE, AUTHORIZE, CAPTURE, VOIDED, RISK, Mandate Approved.\n\n- Never report success when any status field indicates failure, processing, incomplete, or no records.\n- Preserve identifiers and monetary values exactly as returned.\n- Distinguish authentication/connection errors from business declines or invalid input. Only ask the user to reconnect when a tool returns an authentication error.\n- Never request or display passwords, tokens, keys, or other credentials.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}