API开发文档简介
本文阅读对象:使用武汉微实云科技有限公司旗下微实云支付商户自服务系统的技术架构师、研发工程师、系统运维工程师。通过本文档,商户可了解微实云支付接入的技术、接入的产品业务、接入的流程、接入规范等信息,以便于商户顺利完成接入工作。
微实云支付接口API地址是:https://pay.wessyun.com
API接口申请方式
请前往该网址进行申请:https://pay.wessyun.com/Index_register
审核开通后可以获得一个支付商户,登录商户后台查看商户ID和商户APPKEY!
API协议接入规则
传输方式:HTTPS
请求方式:POST
签名算法:MD5
返回数据格式:JSON
字符编码:UTF-8
API发起支付请求
URL地址:https://pay.wessyun.com/Pay_Index.html
请求参数说明
字段名变量名必填参与签名描述
商户号pay_memberid平台分配商户号
订单号pay_orderid上送订单号唯一, 字符长度20
提交时间pay_applydate时间格式:2016-12-26 18:18:18
银行编码pay_bankcode参考银行编码对照
服务端通知pay_notifyurl服务端返回地址.(POST返回数据)
页面跳转通知pay_callbackurl页面跳转返回地址(POST返回数据)
订单金额pay_amount商品金额
MD5签名pay_md5sign参考API签名算法
附加字段pay_attach此字段在返回时按原样返回 (中文需要url编码)
商品名称pay_productname
商户品数量pay_productnum
商品描述pay_productdesc
商户链接地址pay_producturl
银行编码对照
银行编码银行名称支持端口
940支付宝扫码支付PC浏览器/手机WAP浏览器/支付宝APP
941支付宝H5手机WAP浏览器/支付宝
942微信扫码支付PC浏览器/手机WAP浏览器/微信APP
946微信JSAPI微信APP
API支付结果通知
如果接收到服务器点对点通讯时,在页面输出“OK”(没有双引号,OK两个字母大写),否则会重复3次发送点对点通知.
通知参数说明
字段名变量名参与签名参数说明
商户编号memberid
订单号orderid
订单金额amount
交易流水号transaction_id
交易时间datetime
交易状态returncode“00” 为成功
扩展返回attach商户附加数据返回
签名sign参考API签名算法验证签名
API查询结算记录
URL地址:https://pay.wessyun.com/Pay_Trade_query.html
请求参数说明:
字段名变量名必填参与签名描述
商户号pay_memberid平台分配商户号
订单号pay_orderid上送订单号唯一, 字符长度20
签名pay_md5sign参考API签名算法
返回结果:
字段名变量名参与签名描述
商户编号memberid
订单号orderid
订单金额amount
支付成功时间time_end
交易流水号transaction_id
交易状态returncode“00” 为成功
交易状态trade_stateNOTPAY-未支付 SUCCESS已支付
签名sign参考API签名算法验证签名
API发起代付请求
URL地址:https://pay.wessyun.com/Payment_Dfpay_add.html
请求参数说明:
字段名变量名必填参与签名描述
商户号mchid平台分配商户号
订单号out_trade_no保证唯一值
金额money单位:元
开户行名称bankname代付到银行卡传入银行中文简称
代付到支付宝传入“支付宝”
代付到微信传入“微信支付”
手机话费慢充传入“手机充值”
手机话费快充传入“手机快充”
支行名称subbranch
开户名accountname代付到支付宝传入收款人姓名
代付到微信传入收款人姓名
手机话费充值传入充值手机号码
银行卡号cardnumber代付到支付宝传入收款人支付宝账号
代付到微信传入收款人微信openid,获取方式参考后文
手机话费充值传入充值手机号码
省份province
城市city
附加字段extends格式:数组,如果不需要扩展字段不传
签名pay_md5sign参考API签名算法
返回结果:
字段名变量名描述
状态status成功:success 失败:error
状态描述msg
平台流水号transaction_id成功时返回
API查询代付订单
URL地址:https://pay.wessyun.com/Payment_Dfpay_query.html
请求参数说明:
字段名变量名必填参与签名参数说明
商户订单号out_trade_no
商户号mchid
签名pay_md5sign参考API签名算法
返回结果:
字段名变量名参与签名参数说明
状态statussuccess:请求成功(不代表业务成功),error:请求失败
状态描述msg
商户号mchidstatus=success时返回
商户订单号out_trade_nostatus=success时返回
金额amountstatus=success时返回
平台流水号transaction_idstatus=success时返回
业务状态refCodestatus=success时返回
业务描述refMsgstatus=success时返回
成功时间success_timestatus=success,refCode=1时返回
签名pay_md5sign参考API签名算法验证签名
refCode返回值:
注:当status=success和refCode=1同时成立时才表示转账成功
返回值业务含义
1成功
2失败
3处理中
4待处理
5审核驳回
6待审核
7交易不存在
8未知状态
API签名算法说明
第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串(注:如果存在extends字段且不为空,需要先转化为JSON格式,接着进行Base64加密,最后按上述规则拼接字符串)。
第二步,在stringA最后拼接上key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。
参考代码:

stringSignTemp=strtoupper(md5("accountname=accountname&bankname=bankname&cardnumber=cardnumber&city=city&extends=base64_encode(json_encode(extends))=&mchid=mchid&money=money&out_trade_no=out_trade_no&province=province&subbranch=subbranch&key=key"))

微信收款方说明
收款人用微信扫描下方二维码即可获取。