银联支付参考http://www.cnblogs.com/clc2008/archive/2012/03/01/2375294.html
银联退款纠结了我两个晚上。。。由于 拿到文档不是完整开发文档。。网上又没有参考资料
这里主要是调用银联的signData(MerId,value)这个方法..value 拼接如下:
value = MerID+TransDate+TransType+OrderId+RefundAmount+Priv1
成功应答格式为(注意大小写):
ResponseCode=value0&MerID=value1&ProcessDate=value2&SendTime=value9&TransType=value3&OrderId=value4&RefundAmout=value5&Status=value6&Priv1= value7&CheckValue=value8 |
失败应答格式为(注意大小写):
ResponseCode=value0&Message=message_string |
说明:
通过ResponseCode可以判断是否进行后续的签名验证。当ResponseCode的值为0时后续的字段需要参与签名验证后才能表示交易处理成功,失败时ResponseCode为其它错误码(见附录B的查询,单笔退款错误代码章节)。
成功应答各域段名称含义:
ResponseCode : 应答码,通常为0 (当为0时,后续会有域段数据反馈回来,需要验证信息的签名)
MerID:商户代码 (15位数字)
ProcessDate: CP的处理日期 (8位数字)
SendTime: CP发送该应答时间(该域段不参与数字签名) (6位数字,格式hhmmss)
TransType:交易类型(4位数字)
OrderId:原始订单号 (16位数字)
RefundAmout:退款金额 (12位数字)
Status:该笔退款状态 (内容见下表)(1位数字字符)
1 |
退款提交成功 |
3 |
退款成功 |
8 |
退款失败 |
Priv1: 商户私有域 (最长40位字符)
Checkvalue:签名验证(256位字符)
失败应答各域段名称含义:
ResponseCode : 应答码 (失败应答为3位数字)
Message:应答码的中文含义
最后附上比较完整的开发文档:
http://files.cnblogs.com/xxtkong/netpayClient.rar