银联支付与退款

银联支付参考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

原文地址:https://www.cnblogs.com/xxtkong/p/4077525.html