smart-pay 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
smart-pay 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
smart-pay 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
smart-pay 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
smart-pay 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 GPL
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 iOS代码库支付(Payment)
开源组织
地区 国产
投 递 者 zhunian
适用人群 未知
收录时间 2019-12-06

软件简介

聚合支付

  1. 目前已经接入支付渠道:微信(条码支付、扫码支付)、支付宝(条码支付、扫码支付);
  2. 后台自动生成对账文件

统一下单

业务通过统一下单接口可以发起任意三方支付渠道的支付订单。业务系统不必关心该如何调用三方支付,统一下单接口会根据业务系统选择的支付渠道ID,选择对应支付渠道的支付产品,发起下单请求,然后响应给业务系统支付请求所需参数。

URL地址:http://127.0.0.1:3020/api/pay/create_order

安全密钥:

ReqKey= M86l522AV6q613Ii4W6u8K48uW8vM1N6bFgyv769220MdYe9u37N4y7rI5mQ

ResKey= Hpcl522AV6q613KIi46u6g6XuW8vM1N8bFgyv769770MdYe9u37M4y7rIpl8

请求参数:

字段

变量

必填

类型

示例

说明

商户ID

mchId

String(30)

10000000

支付中心分配的商户号

商户订单号

mchOrderNo

String(30)

20160427210604000490

商户生成的订单号

订单类型

payOrderType

String(1)

1

支付订单号是否采用商户订单号

渠道ID

channelId

String(24)

WX_NATIVEALIPAY_PC

扫码支付,目前只有两种

币种

currency

String(3)

cny

三位货币代码,人民币:cny

支付金额

amount

int

100

支付金额,单位分

客户端IP

clientIp

String(32)

210.73.10.148

客户端IP地址

设备

device

String(64)

ios10.3.1

客户端设备

支付回调URL

notifyUrl

String(200)

http://127.0.0.1/notify.htm

支付结果回调URL,将支付结果通知给业务系统,如自助机。

商品主题

subject

String(64)

挂号费

商品主题

描述信息

body

String(256)

XX医院,专家号,20元。

商品描述信息

扩展参数1

param1

String(64)

 

支付中心回调时会原样返回

扩展参数2

param2

String(64)

 

支付中心回调时会原样返回

附加参数

extra

String(512)

{“openId”:”o2RvowBf7sOVJf8kJksUEMceaDqo”}

特定渠道发起时额外参数,见下面说明

签名

sign

String(32)

 

签名值,详见签名算法

extra参数说明

当请求参数channelId = WX_NATIVE (微信原生扫码支付)时,productId参数必填,对应业务系统定义的商品ID。

例如:

{"openId":"P2017120511225677"}

返回结果:

字段

变量

必填

类型

示例

说明

返回状态码

retCode

String(16)

SUCCESS

SUCCESS/FAIL此字段是通信标识,非交易标识,交易是否成功需要查看resCode来判断

返回信息

retMsg

String(128)

签名失败

返回信息,如非空,为错误原因 签名失败 参数格式校验错误

以下字段在retCode为SUCCESS的时候有返回:

变量

必填

类型

示例

说明

resCode

String(16)

SUCCESS

SUCCESS/FAIL

errCode

String(32)

SYSTEMERROR

错误码

errCodeDes

String(128)

系统错误

结果信息描述

以下字段在retCode和resCode都为SUCCESS的时候有返回

字段

变量

必填

类型

示例

说明

支付订单号

payOrderId

String(32)

P20170001215

支付中心生成的订单号

预支付标识

prepayId

String(64)

Wx2017002423

第三方支付公司返回的预支付标识

二维码链接

codeUrl

String(200)

weixin://wxpay

可将该参数值生产二维码展示

微信签名

paySign

String(32)

C380BEUYTUC…

签名

微信返回示例:

{

    codeUrl=weixin: //wxpay/bizpayurl?pr=A7W1hFm,

    payOrderId=P0020171206233614680006,

    mchOrderNo=P0020171206233614680006,

    sign=1C576ED262CA87777C9EB4984E975B0A,

    resCode=SUCCESS,

    prepayId=wx201712062336170a0dbec3ec0035903577,

    retCode=SUCCESS,

    retMsg=

}

支付宝返回示例:

{

    codeUrl=https: //qr.alipay.com/bax03162pv1meea5nnag0059,

    payOrderId=P0020171207001840996000,

    mchOrderNo=P0020171207001840996000,

    sign=E76E40019D1DAFEC909C3318B5F87E6E,

    resCode=SUCCESS,

    prepayId=P0020171207001840996000,

    retCode=SUCCESS,

    retMsg=OK

}

退费

统一退单,分为退费和撤销两种。

URL地址:http://127.0.0.1:3020/api/ refund/create_order

安全密钥:

ReqKey= M86l522AV6q613Ii4W6u8K48uW8vM1N6bFgyv769220MdYe9u37N4y7rI5mQ

ResKey= Hpcl522AV6q613KIi46u6g6XuW8vM1N8bFgyv769770MdYe9u37M4y7rIpl8

请求参数:

字段

变量

必填

类型

示例

说明

商户ID

mchId

String(30)

10000000

支付中心分配的商户号

商户订单号

mchOrderNo

二选一

String(30)

20160427210604000490

商户订单号

支付订单号

payOrderId

String(30)

20160427210604000490

支付订单号

渠道ID

channelId

String(24)

WX_NATIVEALIPAY_PC

扫码支付,目前只有两种

币种

currency

String(3)

cny

三位货币代码,人民币:cny

支付金额

amount

int

100

支付金额,单位分,退费必填,撤销可选

客户端IP

clientIp

String(32)

210.73.10.148

客户端IP地址

设备

device

String(64)

ios10.3.1

客户端设备

支付回调URL

notifyUrl

String(200)

http://127.0.0.1/notify.htm

支付结果回调URL,将支付结果通知给业务系统,如自助机。

商品主题

subject

String(64)

挂号费

商品主题

描述信息

body

String(256)

XX医院,专家号,20元。

商品描述信息

扩展参数1

param1

String(64)

 

支付中心回调时会原样返回

扩展参数2

param2

String(64)

 

支付中心回调时会原样返回

退款方式

refundType

String(5)

1

退款方式 0、退款 1、撤销 默认0

签名

sign

String(32)

 

签名值,详见签名算法

返回结果:

字段

变量

必填

类型

示例

说明

返回状态码

retCode

String(16)

SUCCESS

SUCCESS/FAIL此字段是通信标识,非交易标识,交易是否成功需要查看resCode来判断

返回信息

retMsg

String(128)

签名失败

返回信息,如非空,为错误原因 签名失败 参数格式校验错误

以下字段在retCode为SUCCESS的时候有返回:

字段

变量

必填

类型

示例

说明

业务结果

resCode

String(16)

SUCCESS

SUCCESS/FAIL

错误代码

errCode

String(32)

SYSTEMERROR

错误码

错误描述

errCodeDes

String(128)

系统错误

结果信息描述

以下字段在retCode和resCode都为SUCCESS的时候有返回

字段

变量

必填

类型

示例

说明

退款订单号

refundOrderId

String(32)

R20170001215

支付中心生成的订单号

支付订单号

payOrderId

String(64)

P2017002423

第三方支付公司返回的预支付标识

微信签名

paySign

String(32)

C380BEUYTUC…

签名

 

商户信息配置截图

渠道配置截图

订单截图

 

版本下载

聚合支付smart-pay

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (1)

加载中
怎联系
01/25 06:50
回复
举报
更多评论
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2016/05/30 10:47

apple Pay

第一步:支持ios8.1及以上,所以需要修改app的target为iOS 8.1 第二步:在项目Capabilities里将Apple Pay设置为on,将自动导入需要的库文件passkit.framework,然后添加一个权限文件并设置,最后修改或创建你的App ID 第三步: 我们需要创建一个,访问苹果iOS 开发者中心的位于Identifiers > Merchant ID的页面。然后随着流程指引,创建一个Merchant ID并注册它。我们需要给Merchant ID添加一个证书签名请求(Certificate Signi...

0
0
发表于大前端专区
2016/03/09 17:26

Apple Pay

先简单介绍一下 1.首先呢来说一说Apple Pay 的使用前提 1)设备的支持(iPhone6以上版本) iPhone设备 支持手机app内支付 店内支付 Apple Watch 支持店内支付 iPad 支持app内支付 2)系统的支持(iOS8.0+版本,最好升级到当前最新版本iOS9.2)(iOS9.2,Apple Pay 增加了对银联卡的支持,此时就意味着可以在国内使用了) 使用的时候 需要在wallet应用当中,输入银行卡信息(银行支持) 2.应用场景呢 1)线下支付 (商家支持:要求...

1
24
发表了博客
2015/04/21 22:55

django smart_str和smart_unicode

Django 为字符编码的转换提供了非常简洁的方法: 1.django.utils.encoding.smart_unicode 2.django.utils.encoding.smart_str 我们在需要将用户提交的数据转换为 Unicode 的时候,可以使用 smart_unicode,而在需要将程序中字符输出到非 Unicode 环境(比如 HTTP 协议数据)时可以使用 smart_str 方法。拿 DDlog 来说,也有不少地方用到了这两个方法。 1、smart_unicode 在 DDlog 中的使用 Blog 的标签(Tag)一般多少会有中文,...

0
0
发表了博客
2014/04/09 21:29

【Smart插件】smart-plugin-mybatis 介绍

smart-plugin-mybatis 是Smart框架的一个Mybatis插件,使用这个插件你可以比较方便的使用Mybatis。 这里主要介绍如何在Smart中使用该插件。 smart-plugin-mybatis插件将mybatis的配置信息从mybatis-config.xml转移到了smart.properties,该插件目前提供了几个主要的配置选项,其他比较常用的会看情况添加。 首先使用Mybatis需要配置数据库连接,在Smart中不需要额外的配置,只需要使用Smart原有的配置内容: jdbc.type = mysql ...

3
10
发表了博客
2015/03/27 23:31

10313 - Pay the Price

题目链接 题意:一直都有0~300这300种价值的金额。 现在有n~1000次询问: 可能给出参数: 以下的n~300 1个:n, 输出可以组成价值n的方式的个数。 2个:n, a输出用硬币个数小于a的价值组成价值n的方式的个数。 3个:n, a, b输出用硬币个数大于a和小于b组成价值n的方式的个数。 题解:每次都要有个数的体现,那么就dp【300】【300】,一定不会多于300张,把张数作为第二维算进去。小细节,a和b为了避免数组越界,必须提前预判。 ...

0
0
发表了博客
2016/02/21 14:02

Apple Pay 开发入门

https://developer.apple.com/apple-pay/get-started/cn/ 国内支持applay pay的支付平台,不能直接与apple pay 做接入,要与国内的支付平台做接入。 https://apple.lianlianpay.com/OpenPlatform/ http://en.unionpay.com
https://www.beijing.com.cn/product/ApplePay_ch.jsp
https://www.yeepay.com/applepay
http://www.chinaums.com/static/ums2013/chinaums/app/download/applepay.html 连连看支付 费率0.8%...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
1 评论
38 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部