AI 接入提示词

    用法:点「复制」→ 粘贴到 Cursor / ChatGPT / Claude → 把文末「我的技术栈」改成你的实际环境 → 发送。
    提示词已内置本站网关 https://epay.aikex.ink/ 与 V2 RSA 约定。
    完整接入

    从下单到回调的一站式提示词

    PHP

    对齐官方 SDK

    Node.js

    Express / Nest

    Python

    FastAPI / Flask

    只写回调

    notify 验签与幂等

    小程序

    JSAPI / applet

    1. 完整接入(通用)

    你是资深后端工程师。请把「冷风支付」(彩虹易支付 API V2)接入我现有业务系统。
    
    【平台信息】
    - 网关根地址:https://epay.aikex.ink/
    - API 前缀:https://epay.aikex.ink/api/
    - 文档:https://epay.aikex.ink/developers/index.html
    - 协议:POST,application/x-www-form-urlencoded,UTF-8,响应 JSON
    - 签名:SHA256WithRSA(sign_type=RSA);请求与响应含 timestamp(10位秒)
    - 金额单位:元,最多 2 位小数
    - 商户凭证:pid(商户号)、商户私钥(签名)、平台公钥(验签)
    - 官方 PHP SDK:https://epay.aikex.ink/assets/files/SDK_2.0.zip
    
    【必须实现的能力】
    1) 创建支付订单(优先统一下单 api/pay/create;也可页面跳转 api/pay/submit)
    2) 异步通知 notify_url:验签 → 校验 out_trade_no / money / trade_status → 幂等更新本地订单 → 返回纯文本 success
    3) 同步 return_url 仅展示结果,不能作为唯一入账依据
    4) 订单查询 api/pay/query 作为对账兜底
    5) (可选)退款 api/pay/refund + 退款查询
    
    【统一下单关键字段】
    pid, method(web|jump|jsapi|app|scan|applet), type(支付方式如 alipay/wxpay), out_trade_no, notify_url, return_url, name, money, clientip, timestamp, sign, sign_type=RSA
    成功:code=0,关注 trade_no / pay_type / pay_info
    
    【签名规则】
    - 参与签名:所有非空标量参数,排除 sign、sign_type;不包含文件/数组
    - 按参数名 ASCII 升序,拼成 k=v&k2=v2
    - 用商户私钥对字符串做 SHA256WithRSA,结果 Base64 作为 sign
    - 验签:同样拼串,用平台公钥验证
    
    【工程要求】
    - 密钥放环境变量/私密配置,勿写进前端或公开仓库
    - notify 必须幂等(重复通知不重复发货)
    - 先小额真实支付联调,再上生产
    - 输出:目录结构、核心代码、配置项说明、自测步骤
    
    【我的技术栈】(请按实际修改)
    - 语言/框架:________
    - 数据库:________
    - 已有订单表字段:________
    - 需要的支付方式:________

    2. PHP(官方 SDK 路线)

    用 PHP 对接 冷风支付 API V2(网关 https://epay.aikex.ink/)。
    参考官方 SDK:https://epay.aikex.ink/assets/files/SDK_2.0.zip(EpayCore.class.php)。
    请实现:
    1. 配置文件读取 apiurl/pid/商户私钥/平台公钥
    2. 统一下单 api/pay/create(method=web 或 jump)
    3. notify_url 验签并幂等更新订单,成功 echo success
    4. 查单 api/pay/query
    代码要可直接运行,附最小 DEMO 与安全注意事项。
    签名算法 SHA256WithRSA,签名规则见 https://epay.aikex.ink/developers/sign_note.html

    3. Node.js

    用 Node.js(Express 或 NestJS,任选其一并说明)对接 冷风支付 易支付 API V2。
    网关:https://epay.aikex.ink/
    文档:https://epay.aikex.ink/developers/index.html
    要求:
    - 用 Node crypto 实现 SHA256WithRSA 签名与验签(PEM 密钥)
    - POST application/x-www-form-urlencoded 调用 api/pay/create
    - 提供 /pay/notify 路由:验签、校验金额、幂等写库、返回 success
    - 提供下单 API 给前端
    - TypeScript 优先;给出 .env 示例(勿提交真实密钥)

    4. Python

    用 Python(FastAPI 或 Flask)对接 冷风支付 易支付 API V2。
    网关:https://epay.aikex.ink/
    用 cryptography 或 rsa 库实现 SHA256WithRSA 签名/验签。
    实现:create 下单、notify 回调、query 查单。
    请求 Content-Type: application/x-www-form-urlencoded。
    金额单位元;timestamp 为 10 位秒。
    输出完整可运行示例与 pytest 验签单测思路。

    5. 只实现异步通知

    只帮我写 冷风支付 支付异步通知(notify_url)处理逻辑。
    平台会 POST 表单字段到我的 notify_url,含 sign / sign_type=RSA / timestamp 等。
    必须:
    1. 用平台公钥验签(拼串规则:非空参数,排除 sign/sign_type,ASCII 排序,k=v&...)
    2. 校验 trade_status 为成功态,且 money、out_trade_no 与本地订单一致
    3. 幂等:已支付订单直接返回 success
    4. 业务成功后返回纯文本 success(不要返回 JSON)
    5. 失败不要返回 success,便于平台重试
    附伪代码与常见坑(空值、编码、重复通知)。
    文档:https://epay.aikex.ink/developers/pay_notify.html

    6. 微信小程序支付

    我要在微信小程序里通过 冷风支付(https://epay.aikex.ink/)收款。
    使用统一下单 api/pay/create:
    - method=jsapi 或 applet(按通道能力选择)
    - 需要传 sub_openid、sub_appid;小程序场景可传 is_applet=1
    请给出:
    1. 我方服务端下单流程
    2. 小程序端如何用返回的 pay_info 调起支付
    3. notify 入账流程
    4. 与「跳转支付 method=jump」的差异
    若通道不支持 JSAPI,给出降级方案(H5/跳转)。

    对接自检清单(给 AI 或人工)

    1. pid / 私钥 / 平台公钥已配置且环境隔离
    2. 能成功调用 create 或 submit,拿到 trade_no
    3. 真实付款后 notify 到达,验签通过,本地订单变为已支付
    4. 故意重放 notify,不会重复发货
    5. query 接口结果与本地一致
    6. 错误金额 / 错误签名会被拒绝
    相关文档: 快速开始 · 签名规则 · 统一下单 · 支付通知 · SDK