商户对账文件下载
通联支付网络服务股份有限公司
2011-3-18
版本控制信息
版本历史:
版本日期拟稿和修改说明
1.0 2011-3-18 苗洪梅初稿
版权声明:
此文档的版权归通联支付网络服务股份有限公司所有,未经通联支付网络服务股份有限公司的书面许可,不得向第三方借阅、出让、出版该文档。
1.目的
文档为使用通联互联网支付网关的商户开发者编写
本文档为通联互联网支付网关的开发者和相关人员提供有效的指引和帮助
本文档的目标读者为技术人员
2.对账文件下载
商户对账文件下载目前有两种方式:
登录通联商户服务平台(http(s)://通联支付网关地址/member)下载对账文件。
HTTP方式下载对账文件。
3.对账文件格式
第一行为汇总信息:
结算日期|批次号|交易笔数|成功笔数|交易金额|退款笔数|退款金额|手续费|清算金额
第二行开始为交易明细:
交易类型|结算日期|商户号|交易时间|商户订单号|通联订单号|交易金额|手续费|清算金额|币种|商户原始订单金额(分)
文件最后为签名信息,与交易明细间有一空行。
请参考对账文件范例(边框及红文字为说明):
4.HTTP方式下载对账文件接口
4.1下载请求参数说明
4.2对账文件验证签名
为保障文件来源的安全性,商户需要对下载的文件先进行验证签名,再解析对账文件;
开发包安装方法及验签方法请参考《通联互联网支付网关商户接口技术规范》;
明文和密文在文件中以空行分开,空行及前面的行为明文,空行后的一行为密文;
(请参考2.1.2的对账文件图示)
其中明文需要先进行MD5摘要,再调用验证签名方法。
4.3JAVA示例代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.HttpURLConnection;
import java.URL;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import CertificateException;
import X509Certificate;
import javax.ssl.HostnameVerifier;
import javax.ssl.HttpsURLConnection;
import javax.ssl.SSLContext;
import javax.ssl.SSLSession;
import javax.ssl.SSLSocketFactory;
import javax.ssl.TrustManager;
import javax.ssl.X509TrustManager;
connect下载import org.apachemons.httpclient.HttpException;
import org.ders.Base64;
import s.client.SecurityUtil;
public class CheckfileDownloadTest {
public static void main(String[] args) {
String serverUrl = " http(s)://通联支付网关地址
/member/checkfiledown/CheckFileDownLoad/checkfileDownLoad.do";
String mchtCd = "100020110202002"; // 商户号
String settleDate = "2011-02-16"; // 格式为yyyy-MM-dd
String md5key = "1234567890"; // md5key
String fileAsString = ""; // 签名信息前的对账文件内容
String fileSignMsg = ""; // 文件签名信息
boolean isVerified = false; // 验证签名结果
try {
// 得到摘要(MD5Encode函数的传入参数为商户号+结算日期+md5key)
String signMsg = SecurityUtil.MD5Encode(mchtCd + settleDate
+ md5key);
// 建立连接
URL url = new URL(serverUrl + "?mchtCd=" + mchtCd
+ "&settleDate=" + settleDate + "&signMsg=" + signMsg);
CheckfileDownloadTest test = new CheckfileDownloadTest();
HttpURLConnection httpConn = HttpsURLConnection(url);
// 读取交易结果
BufferedReader fileReader = new BufferedReader(
new InputStream()));
StringBuffer fileBuf = new StringBuffer(); // 签名信息前的字符串
String lines;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论