celery-pay-assistant

​支付助手
授权协议 Apache
开发语言 Java
所属分类 程序开发、 服务框架/平台
软件类型 开源软件
地区 国产
投 递 者 呼延英奕
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

​支付助手 - 是一个基于微信支付API、支付宝支付API封装的Spring Boot Stater。通过简单注解配置即可进行支付交易。

主要特性

  • 简单注解配置,即可实现支付相关操作
  • 省掉碍眼繁琐的签名与验签,简化支付交互过程
  • 透传返回交互结果

使用指引

引入依赖

implementation("cool.doudou:pay-assistant:latest")

配置文件

pay:
  modes:
    - wx
    - ali
  notify-server-address: http://127.0.0.1:8000
  wx:
    appId: wx000001
    mchId: 14000001
    private-key-path: /home/test.pem
    private-key-serial-number: 70000000001
    api-key-v3: abcdefg
  ali:
    appId: ali00001
    private-key-path: /home/test.pem
    public-key-path: /home/test-pub.pem

参数说明

下单

参数 名称 微信 支付宝
outTradeNo 商户订单号 数字、大小写字母_-*且在同一个商户号下唯一 字母、数字、下划线且需保证在商户端不重复
money 总金额 单位为分 单位为元,精确到小数点后两位
description 商品描述 - 不可使用特殊字符,如 /,=,& 等
timeExpire 订单失效时间 格式为yyyy-MM-DDTHH����ss+TIMEZONE 格式为yyyy-MM-dd HH����ss
attach 附加数据 在查询API和支付通知中原样返回 在异步通知、对账单中原样返回
uid 用户ID 用户标识 买家支付宝用户ID

退款

参数 名称 微信 支付宝
outTradeNo 商户订单号 数字、大小写字母_-*且在同一个商户号下唯一 字母、数字、下划线且需保证在商户端不重复
outRefundNo 退款单号 商户系统内部唯一,只能是数字、大小写字母_-*@、竖线 标识一次退款请求,需要保证在交易号下唯一
reason 退款原因 - -
money 总金额 单位为分 无此参数
refundMoney 退款金额 单位为分 单位为元

账单

  • 微信交易账单需要两步:首先tradeBill获取账单地址,然后downloadBill返回字节数组数据流
  • 支付宝交易账单需要一步:tradeBill获取账单地址,自行请求下载文件

使用方式

下单、查询、关闭、退款、交易账单

  • PayModeEnum.WX:微信
  • PayModeEnum.ALI:支付宝

@Service
public class PayService {
    @Autowired
    private PayHelper payHelper;

    /**
     * 下单
     */
    public void place() {
        PlaceOrderParam placeOrderParam = new PlaceOrderParam();
        // ...
        payHelper.place(PayModeEnum.WX, placeOrderParam);
    }

    /**
     * 查询
     */
    public void query() {
        payHelper.query(PayModeEnum.WX, "xxxxxx00001");
    }

    /**
     * 关闭
     */
    public void close() {
        payHelper.close(PayModeEnum.WX, "xxxxxx00001");
    }

    /**
     * 退款
     */
    public void refund() {
        RefundParam refundParam = new RefundParam();
        // ...
        payHelper.refund(PayModeEnum.WX, refundParam);
    }

    /**
     * 交易账单
     */
    public void tradeBill() {
        payHelper.tradeBill(PayModeEnum.WX, "2022-07-07");
    }
}

支付通知


@Component
public class PayNotifyComponent {
    /**
     * 微信
     */
    @WxPayNotify
    public void wxPayNotify(String message) {
        System.out.println(message);
    }

    /**
     * 支付宝
     */
    @AliPayNotify
    public void aliPayNotify(String message) {
        System.out.println(message);
    }
}
  • Celery初识 测试工作中接触到进程管理工具,学习并记录 简介 是一个使用python开发的任务调度工具,理解时可以分为两部分来理解:Broker、APP、Worker。 Broker celery自己没有任务消息队列,需要借助rabbitmq或者redis来传递任务的,这就是Broker(中间人)。通过配置来指定具体使用rabbitmq还是redis,并可以指定具体的地址。 App ; 实例化

  • celery ■He was eating a stick of celery. 他正在吃一根芹菜。 ■You should eat such vegetables as carrot, celery and spinach. 你应该吃胡萝卜、芹菜和菠菜这类的蔬菜。 ■This salad is made of apple, pear, potato and celery. 这份色拉是由苹果、梨、

  • This is a billing software,record the amount you spend,Including the consumption of personnel, type, date.You can add people and types.Finally, you can view the consumption situation in the form of a

  •   celery初使用 1.使用方式 1.1 celery实例定义,task定义 - moduleA.py from celery import Celery app1 = Celery("app1",broker='ampq://username1:passwd1@host1:5672/') app2 = Celery("app2",broker='amqp://username2:passw

  •   据国外媒体报道,谷歌宣布公司正在研发一个名为安卓支付(Android Pay)的新型移动支付框架。负责Android、Chrome和谷歌应用程序的谷歌业务副总裁桑达尔·皮采(Sundar Pichai)在西班牙巴塞罗那召开的全球移动大会(MWC)上证实,安卓支付不是一款用户可以使用的新产品,而是一个允许其它公司在实体店和通过应用程序在安卓系统上进行安全支付的“应用程序接口”。   “我们创造的

  • 链接:https://ac.nowcoder.com/acm/contest/1086/C   题目描述 "Never a borrower nor a lender be." O how Bessie wishes she had taken that advice! She has borrowed from or lent money to each of N (1 <= N <= 100,

  • Celery必须实例化后才可以使用,实例称之为application或者简称app。实例是线程安全的,多个Celery实例(不同的配置、部件和任务)都可以在一个进程空间中运行。 创建一个最简单的app: >>> from celery import Celery >>> app = Celery() >>> app <Celery __main__ at 0x7f6be52d0cd0> 上述的a

  • Pay Your Debts Brian Sletten Beverly Hills, California, U.S. DEBT, WhEn WEll MAnAgED, is a useful financial instrument for both ordi- nary citizens and successful organizations. It balances present in

  • 微信支付 http://www.cnblogs.com/Fooo/p/5049608.html https://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html

  • 威锋网讯,Apple Pay 还有很长的路要走,来自 Piper Jaffray 的知名分析师 Gene Munster 认为 Apple Pay 的起步低于投资者的预期,大约只有 20%的新iPhone 用户启用了这项服务,但他对于 Apple Pay 长期的使用增长抱有信心。为此,他还强调了 Apple Pay 在 iOS 安全指南中的两个要素。 在一份投资者报告中 Munster 指出,首先

 相关资料
  • File 助手 - 是一个自研实现的Spring Boot Stater。结合多种文件存储平台实现文件上传、下载、预览。 主要特性 基于成熟包扩展,没有任何框架变动,只为简化开发使用 配置简单灵活,无需复杂的配置文件:开发者配置模式后,统一方法实现上传、下载、预览 使用指引 引入依赖 implementation("cool.doudou:file-assistant:latest") 使用方式

  • MQ助手 - 是一个基于pulsar包自研实现的Spring Boot Stater。通过简单注解配置即可进行MQ消息生产与消费。 主要特性 基于成熟pulsar包扩展,没有任何框架变动,只为简化开发使用 配置简单灵活,无需复杂的配置文件:开发者可以快速注解类或者方法实现消息的生产与消费 Apache Pulsar 云原生分布式消息流平台,当下最佳解决方案 使用指引 引入依赖 implementa

  • Mqtt助手 - 是一个基于spring-integration-mqtt包自研实现的Spring Boot Stater。通过简单注解配置即可进行MQTT协议通信。在物联网环境中可以非常方便的结合完成与设备的通信。 主要特性 基于成熟mqtt包扩展,没有任何框架变动,只为简化开发使用 配置简单灵活,无需复杂的配置文件:开发者可以快速注解类或者方法实现通信消息接收 发送封装:开发者可以注入工具类实

  • 和用户余额相关的信息,余额单位都是按照 CNY 的「分」作为单位。 新版钱包部分只提供跟真实金额有关的操作,充值相关操作暂只对接ping++支付平台 敏感操作 部分接口将被设置为敏感操作接口,此类接口需要额外传入当前账户密码password作为账户凭据验证 接口 钱包流水 提现列表 发起提现 发起充值 取回凭据 回调通知 转账 转换积分 钱包流水 GET /api/v2/plus-pay/orde

  • 因为node-forge(一个非常方便的加密工具)还不支持“ECDSA with SHA256”(链接),我找不到其他替代品。我转向OpenSSL。经过一些调查,签名似乎是以“CMS签名数据”格式打包的。所以我发现openssl手册中的这个命令应该可以完成以下任务: openssl cms-verify-informed DER-in signature.DER-content content.t

  • wx.BaaS.pay(OBJECT) OBJECT 参数说明 参数 类型 必填 参数描述 totalCost Number Y 支付总额 merchandiseDescription String Y 微信支付凭证-商品详情的内容 merchandiseSchemaID Integer N 商品表 ID,可用于定位用户购买的物品 merchandiseRecordID String N 商品记录