源码说明
JAVA云通付第三方支付系统源码一键集成支付宝,微信,信用卡,银联,百度钱包等主流支付工具。
付支持公司和工作室(个人)类型商户网站接入,任何需要在网站内加入支付模块的企业或工作室(个人),都可以轻松接入云通付的支付功能。
云通付收银助你秒开发,10分钟即可快速接入支付功能,接入云通付收银就等于接入100多家支付机构,缩短2~4个月开发周期;PC网页、手机网页、移动应用、iOS/ Android/HTML5/App等全平台支持…..
云通付接口集成文档
一、发起支付请求
1、请求地址(采用GET或者POST方式), /PayOrder/payorder
2、发起支付必要参数
3、sign生成方法
首先需定义一个MAP集合(如:parameter),顺序必须按以下顺序定义:
Map<String,Object> parameter = new HashMap<String,Object>(); parameter.put("body", “123”); parameter.put("notify_url",”http://www.test.com/notify_url.do”); parameter.put("out_order_no", “1233”; parameter.put("partner", “1234567899876111”); parameter.put("return_url", “http://www.test.com/return_url.do”); parameter.put("subject", “123”); parameter.put("total_fee", 1); parameter.put("user_seller", “666666”);
4、发起支付
将2中参数构造如下的表单通过GET或者POST方式 发送至 1中的请求地址中。
<form id='paysubmit' name='paysubmit' action='http://www.passpay.net/index.php/PayOrder/payorder' accept-charset='utf-8' method='POST'> <-- 订单描述 --> <input name='body' value='123'/> <-- 服务器异步通知页面路径 --> <input name='notify_url' value='http://www.test.com/notify_url.do'/> <-- 商户订单号 --> <input name='out_order_no' value='1233'/> <-- 合作身份者PID,签约账号,由16位纯数字组成的字符串 --> <input name='partner' value='1234567899876111'/> <-- 页面跳转同步通知页面路径 --> <input name='return_url' value='http://www.test.com/return_url.do'/> <-- 订单名称 --> <input name='subject' value='123'/> <-- 付款金额 --> <input name='total_fee' value='1'/> <-- 商户号(6位数字) --> <input name='user_seller' value='666666'/> <-- 签名值 --> <input name='sign' value='3e640511345b1e34995cf09debeaf8c3'/> <input type='submit' value='支付进行中'> </form>
如遇到错误提示,请按如下处理。
商户不存在,请确认配置是否正确
请确认partner和user_seller是否填写正确
域名验证失败
只能使用申请的域名提交表单
签名验证失败
请确认$prestr顺序,或者如果是GBK请转换成UTF-8编码
***为空
请确认必填项是否有值
二、回调处理(回调分为异步和同步 处理方法一样)
1、回调参数说明
total_fee 交易金额 out_order_no 商户订单号 sign 服务端校验码 trade_no 云通付交易订单号 trade_status 交易结果(TRADE_SUCCESS说明支付成功)
2、检验码生成方法
将out_order_no、total_fee、trade_status、云通付KEY、云通付PID 的值连接起来,进行md5加密,而后与sign进行对比,如果相同则通知验证结果是正确,如果不相同则可能数据被篡改,不要进行业务处理,验证通过之后再判断trade_status是否等于TRADE_SUCCESS,相等则支付成功,如果不等则支付失败。
支付成功 就进行支付成功的处理,如操作数据库订单状态等,如果支付失败 则可以不做任何处理。