Token导航 LogoToken导航TokenDH.com
开发需要联网clawhub未标认证来源可访问clear审计通过

ijpay-sdkijpay SDK 开发

Agent Skill

ijpay-sdk 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,721

周安装

109

GitHub Stars

公开资料未说明

下载量

881
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ijpay-sdk(ijpay SDK 开发)
来源仓库:https://github.com/zmy1006-sudo/ijpay-sdk
安装命令:
openclaw skills install ijpay-sdk
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install ijpay-sdk

简介

支付接入技能 — 基于 IJPay SDK 封装微信支付、支付宝、QQ支付、银联、京东、PayPal 等主流支付渠道。触发场景包括:用户说"接入支付"、"配置支付"、"微信支付"、"支付宝"、"订单支付"、"支付回调"、"支付对账"、"IJPay"等关键词,或需要为项目添加在线支付功能时激活。

SKILL.md

name
pay
description
支付接入技能 — 基于 IJPay SDK 封装微信支付、支付宝、QQ支付、银联、京东、PayPal 等主流支付渠道。触发场景包括:用户说"接入支付"、"配置支付"、"微信支付"、"支付宝"、"订单支付"、"支付回调"、"支付对账"、"IJPay"等关键词,或需要为项目添加在线支付功能时激活。

Pay Skill — 小龙虾支付接入技能

让小龙虾具备接入主流支付渠道的能力。基于 IJPay(Javen205 开源,6.4k⭐,Apache-2.0)封装。


支持的支付渠道

渠道模块签名方式
支付宝IJPay-AliPayRSA2 普通公钥 / 证书模式
微信支付IJPay-WxPayApi-v2 / Api-v3
QQ 钱包IJPay-QQAPI
银联IJPay-UnionPay银联标准
京东支付IJPay-JDPayAPI
PayPalIJPay-PayPalOAuth2

快速集成流程(Spring Boot)

1. 引入 Maven 依赖

<!-- 按需引入以下依赖(选一个或多个) -->
<!-- 完整包(含所有渠道) -->
<dependency>
    <groupId>com.github.javen205</groupId>
    <artifactId>IJPay-All</artifactId>
    <version>2.9.12.1</version>
</dependency>

<!-- 或按渠道引入(推荐,按需选择) -->
<dependency>
    <groupId>com.github.javen205</groupId>
    <artifactId>IJPay-AliPay</artifactId>
    <version>2.9.12.1</version>
</dependency>
<dependency>
    <groupId>com.github.javen205</groupId>
    <artifactId>IJPay-WxPay</artifactId>
    <version>2.9.12.1</version>
</dependency>
⚠️ 如果 Maven 无法拉取,检查是否配置了 JitPack 仓库: ``xml <pluginRepositories> <pluginRepository> <id>jitpack.io</id> <url>https://jitpack.io</url> </pluginRepository> </pluginRepositories> ``

2. 配置参数(application-prod.yml)

# 支付宝配置
ali-pay:
  app-id: 2021xxxxx                                  # 支付宝应用AppID
  server-url: https://openapi.alipay.com/gateway.do   # 支付宝网关
  private-key: MIIBIjANBgkq...                        # 应用私钥(RSA2)
  alipay-public-key: MIIBIjANBgkq...                 # 支付宝公钥
  sign-type: RSA2                                     # 签名方式
  callback-url: https://your-domain.com/api/pay/ali-callback  # 回调地址

# 微信支付配置
wx-pay:
  app-id: wx1234567890abcdef                         # 微信应用AppID
  mch-id: 1234567890                                 # 商户号
  api-key: xxxxxxxx                                  # APIv2 密钥(32位)
  cert-path: /path/to/apiclient_cert.p12             # 证书路径(退款/红包用)
  callback-url: https://your-domain.com/api/pay/wx-callback  # 回调地址
🔐 私钥等敏感配置禁止硬编码,必须通过环境变量或配置中心注入。

3. 支付接口示例

支付宝 PC 网站支付

@RestController
@RequestMapping("/api/pay")
public class PayController {

    @Value("${ali-pay.app-id}")
    private String appId;
    @Value("${ali-pay.private-key}")
    private String privateKey;

    @PostMapping("/create-ali")
    public String createAliPayOrder(@RequestParam("orderId") String orderId,
                                     @RequestParam("amount") BigDecimal amount) {
        AliPayApiConfig config = AliPayApiConfig.builder()
            .setAppId(appId)
            .setPrivateKey(privateKey)
            .setCharset("UTF-8")
            .setServiceUrl("https://openapi.alipay.com/gateway.do")
            .setSignType("RSA2")
            .build();

        AliPayApiConfigKit.setThreadLocalAliPayApiConfig(config);

        AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
        request.setBizContent(JSON.toJSONString(ImmutableMap.of(
            "out_trade_no", orderId,
            "product_code", "FAST_INSTANT_TRADE_PAY",
            "total_amount", amount.toString(),
            "subject", "FMT治疗费用"
        )));
        request.setReturnUrl("https://your-domain.com/pay/success");

        AlipayTradePagePayResponse response = config.getAlipayClient().execute(request);
        return response.isSuccess() ? response.getBody() : "支付创建失败";
    }

    @PostMapping("/ali-callback")
    public String aliPayCallback(HttpServletRequest request) {
        Map<String, String> params = getParams(request);
        if (TradeStatus.SUCCESS.name().equals(params.get("trade_status"))) {
            String orderId = params.get("out_trade_no");
            // ✅ 支付成功:更新订单状态
            orderService.updatePaid(orderId);
        }
        return "success";
    }
}

微信 H5 支付

@PostMapping("/create-wx")
public Map<String, String> createWxPayOrder(@RequestParam("orderId") String orderId,
                                             @RequestParam("amount") int amountFen) {
    Map<String, String> params = new HashMap<>();
    params.put("appid", wxAppId);
    params.put("mchid", wxMchId);
    params.put("description", "FMT治疗费用");
    params.put("out_trade_no", orderId);
    params.put("amount", JSON.toJSONString(ImmutableMap.of("total", amountFen, "currency", "CNY")));
    params.put("notify_url", wxCallbackUrl);

    WxPayApiV3Util v3Util = new WxPayApiV3Util();
    String result = v3Util.push(wechatCertPath, wechatMchId, params);
    Map<String, Object> resp = JSON.parseObject(result);
    return Collections.singletonMap("h5_url", ((Map)resp.get("h5")).get("h5_url"));
}

4. 支付回调处理

@PostMapping("/ali-callback")
public String aliCallback(HttpServletRequest request) {
    if (!AliPayApiConfigKit.validateResponse(request)) {
        return "fail";
    }
    if (!AlipaySignature.checksum(request.getParameterMap(), ...)) {
        return "fail";
    }
    String status = request.getParameter("trade_status");
    if (TradeStatus.TRADE_SUCCESS.name().equals(status)) {
        String orderId = request.getParameter("out_trade_no");
        orderService.markPaid(orderId, request.getParameter("trade_no"));
    }
    return "success";
}

@PostMapping("/wx-callback")
public String wxCallback(HttpServletRequest request) {
    String body = StreamUtils.readToString(request.getInputStream());
    if (WxPayApiKit.verifyNotify(body, signKey)) {
        Map<String, Object> data = JSON.parseObject(body);
        if ("SUCCESS".equals(data.get("trade_state"))) {
            orderService.markPaid((String)data.get("out_trade_no"), (String)data.get("transaction_id"));
        }
    }
    return "success";
}

参考文档

文档说明何时读取
ijpay-guide.mdIJPay 完整指南(项目结构/版本/Maven坐标)首次集成时
alipay-guide.md支付宝完整接入(6个支付场景/字段详解/沙箱)选择支付宝时
wxpay-guide.md微信支付完整接入(Api-v2/v3差异/场景/证书)选择微信时
callback-handler.md支付回调高级处理(幂等/并发/补偿)实现回调时

常用场景决策

需要接入支付?
    │
    ├── 支付宝 ✅ → 优先推荐(个人/企业均可,费率低)
    │              参考:references/alipay-guide.md
    │
    ├── 微信支付 ✅ → 必须有商户号,支持H5/小程序/App
    │               参考:references/wxpay-guide.md
    │
    ├── 银联/京东/PayPal → 参考 references/ijpay-guide.md
    │
    └── 小程序内支付 → 微信支付服务商模式,参考 wxpay-guide.md

快速检查清单

  • [ ] Maven 依赖已添加(IJPay-AliPay / IJPay-WxPay)
  • [ ] 沙箱环境测试通过(先用沙箱,不花钱)
  • [ ] 生产环境 AppID + 商户号 + 密钥配置完成
  • [ ] 支付回调 URL 已填写(必须是公网可访问 HTTPS)
  • [ ] 回调接口已加幂等处理(防止重复通知)
  • [ ] 微信退款/企业付款需上传证书到服务器
  • [ ] 支付宝签名验签通过
  • [ ] 日志记录完整(支付请求/回调/异常)

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

97.42%
按下载量换算858

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills