SuperAPI AI 工具集

setup-toyyibpay

编程与开发

查看项目

更新于 10-15 10:10

技能介绍

用途

该技能面向 toyyibPay 支付网关的集成工作,适用于搭建、构建、调试、审查和讲解 toyyibPay 支付集成。使用前应先阅读 references/toyyibpay-docs.md,其中包含来源 URL、环境基址、端点映射、回调哈希规则、金额单位、DuitNow QR 字段、仪表盘设置说明、定价与支持说明、WooCommerce 设置说明以及 WorkDo 配置说明。当用户询问如何注册、需要哪些 API 密钥、凭据来源或需要哪些仪表盘设置时,应阅读 references/account-setup.md。

主要能力

  • 识别环境:沙箱为 dev.toyyibpay.com,生产为 toyyibpay.com。
  • 确认凭据范围:User Secret Key、Category Code,以及可选的 Enterprise User Secret Key。
  • 创建或复用 toyyibPay Category,并在创建 Bill 之前先创建本地待处理支付。
  • 在服务端创建 Bill,金额以分为单位固定,使用 billExternalReferenceNo 作为内部引用,并设置 return URL 与 callback URL。
  • 将客户重定向到 https://toyyibpay.com/{BillCode} 或沙箱对应地址。
  • 使用 MD5(userSecretKey + status + order_id + refno + "ok") 校验回调哈希。
  • 尽可能通过 getBillTransactions 复查支付,然后在状态、金额、渠道、提供商和引用匹配后幂等结算。

核心事实

  • 生产 API 基址:https://toyyibpay.com/index.php/api/
  • 沙箱 API 基址:将 toyyibpay.com 替换为 dev.toyyibpay.com,并使用沙箱凭据。
  • 请求为 POST;文档接受 multipart/form-data 或 application/x-www-form-urlencoded。
  • billAmount 使用分,例如 100 等于 RM 1.00。
  • 主流程:createCategory -> createBill -> 托管账单 URL -> callback/return -> getBillTransactions。
  • 回调/返回 URL 中的支付状态值:1 成功,2 待处理,3 失败。
  • getBillTransactions 状态过滤值:1 成功,2 待处理交易,3 不成功,4 待处理。
  • DuitNow QR 需要账户激活,enableDuitNowQR=1,启用时设置 chargeDuitNowQR。
  • WorkDo 风格设置通常需要 Secret Key 和 Category Code。

使用方式与关键规则

  • User Secret Key 和 Enterprise User Secret Key 仅保留在服务端。
  • 不要信任 Return URL 参数用于履约;将其视为仅用于浏览器用户体验。
  • 当哈希与文档中的 MD5 公式不匹配时,拒绝回调。
  • 将 order_id 视为来自 billExternalReferenceNo 的本地外部引用;验证其恰好映射到一个本地待处理支付。
  • 在标记为已支付之前,验证回调金额和/或获取的 billpaymentAmount 与本地预期金额一致。
  • 回调 URL 不能是 localhost;测试时使用公共 HTTPS 或隧道。
  • 除非本地结算能验证允许金额,否则不要为固定价格订单启用动态金额账单(billPriceSetting=0)。
  • 不要臆造支付渠道可用性、费用、卡支持、DNQR 激活、结算时间或套餐限制。当这些重要时,请核实实时门户或当前文档。

适用场景

适用于需要集成 toyyibPay 支付网关的开发与审查任务,包括服务端创建账单、处理回调、校验支付状态、排查集成问题,以及评估支付策略是否存在信任边界绕过风险。

限制

资料未提供具体定价、费用、结算时间、支付渠道可用性、卡支持、DNQR 激活条件或套餐限制等事实,这些内容需核实实时门户或当前文档。资料也未提供 WorkDo 产品特定设置的完整细节。当被问及策略是否“100% 确信”时,应运行漏洞审查循环,列出所有信任边界(浏览器返回、后端结账路由、toyyibPay Bill API、回调接收器、数据库、履约任务、仪表盘设置和结算报告),检查各类绕过(伪造成功返回、伪造回调、MD5 哈希不匹配、错误订单引用、错误金额、错误状态、重复回调、待处理标记为已支付、动态金额多付/少付、未激活/过期账单、沙箱/生产凭据混用、DNQR 未启用账户、缺少公共回调 URL 以及分账副作用),并为每种绕过添加修复措施(服务端创建 Bill、先创建本地待处理支付、回调哈希校验、交易重新获取、唯一提供商引用、严格金额/状态检查、幂等履约、环境分离配置、过期处理和审计日志),然后重新阅读相关文档章节。若剩余不确定性取决于当前账户激活、仪表盘套餐、支付渠道启用、定价、结算时间或 WorkDo 产品特定设置,应明确说明。