NetPayClient用户手册(5)

2019-03-28 08:54

http://www.ChinaPay.com NetPayClient用户手册

char MerId[16];

char OrdId[17]; char TransAmt[13]; char CuryId[4]; char TransDate[9]; char TransType[5];

setPubKeyFile (\ //如果不设置则按照NPCDIR环境变量取文件

// 取得ChinaPay传回的数据 MerId, OrdId, TransAmt, CuryId, TransDate, TransType OrderStatus ,ChkValue

// 对验证订单的签名 flag

=

verifyTransResponse(MerId,

OrdId,

TransAmt,

CuryId,

TransDate,

TransType,

OrderStatus ,ChkValue);

if(flag != 0) { }

// 对一段字符串的签名 plainData = \

flag = verifySignData (plainData, ChkValue); // ChkValue为ChinaPay传回的签名 if(flag != 0) { } }

//签名失败 //签名失败 char ChkValue[257]; char OrderStatus[5]; int flag;

4. 支付

4.1. 目标

本章节主要指导ChinaPay的会员商户接入支付平台,以方便商户开展网上支付交易。

4.2. 交易流程

第 21 页 共 27 页

http://www.ChinaPay.com NetPayClient用户手册

4.3. 接入方法

4.3.1. 接入地址

ChinaPay的网上支付服务采用WEB服务的方式允许商户接入,接收交易数据的地址为: 测试环境:http://payment-test.chinapay.com/pay/TransGet 生产环境:https://payment.chinapay.com/pay/TransGet

4.3.2. 接入版本

目前ChinaPay的支付接入版本有2个 ? 20040916 ? 20070129

这两个支付版本的提交域段内容相同,但是不同的版本会有所差别,请注意每个版本后的说明。

4.3.2.1 支付版本 20040916

? 交易提交数据内容

商户向ChinaPay的支付接入地址提交订单信息,提交页面中表单(FORM)的应该包括如下(注意各字段的大小写):

说明:

PageRetUrl为页面接受应答地址,用于引导使用者返回支付后的商户网站页面。

BgRetUrl 为后台接受应答地址,用于商户记录交易信息和处理,对于使用者是不可见的。另外ChinaPay会根据后台发送的http的返回码来判定是否重新发送后台应答流水,以确保后台应答的接收。

Priv1为可选项,表示 “商户私有域”,商户通过此字段向Chinapay发送的信息,Chinapay依原样填充返回给商户。

GateId为可选项,表示 “支付网关号”,如填写GateId(支付网关号),则消费者将直接进入支付页面,否则进入网关选择页面。

OrdId,表示 “订单号”,在支付版本为20040916的版本中,如果商户为二级商户,即商户号的前6位为808080的,订单号必须满足如下规则:

订单号从第5位到第9位必须和商户号的第11位到第15位相同。

? 交易数据的数字签名

商户发送给ChinaPay的交易数据均需要进行数字签名。对于版本号为20040916的签名数据使用客户端NetPayClient的“订单签名函数”。方法名称为:

NetPayClient for Java :signOrder (详细内容参见3.5.2章节) NetPayClient for Win32 :sign(详细内容参见3.5.3章节) NetPayClient for C :signOrder(详细内容参见3.5.4章节)

? 交易接收数据的内容

当消费支付交易完成时,ChinaPay会将交易应答信息发送给商户,对于页面易接收地址和后台交易接收地址都会收到交易接收数据,应答的数据域段包括如下内容:(以页面Form数据为例,注意大小写,后台应答数据的发送的域段名和下面的一致)

说明:

status 表示交易转态,只有\的时候才为交易成功,其他均为失败,因此在验证签名数据为ChinaPay发出的以后,还需要判定交易状态代码为\。

? 应答数据的签名验证

当消费支付交易完成时,ChinaPay会将交易应答信息发送给商户,对于页面交易

第 23 页 共 27 页

http://www.ChinaPay.com NetPayClient用户手册

接收地址和后台交易接收地址都会收到交易接收数据,而对于接收到的应答数据,商户需要对其验证签名以确定是由ChinaPay发出的应答数据。使用的客户端NetPayClient的“验证交易应答函数”。方法名称为:

NetPayClient for Java :verifyTransResponse (详细内容参见3.5.2章节) NetPayClient for Win32 :check(详细内容参见3.5.3章节) NetPayClient for C :verifyTransResponse (详细内容参见3.5.4章节) 4.3.2.2 支付版本 20070129

? 交易提交数据内容

商户向ChinaPay的支付接入地址提交订单信息,提交页面中表单(FORM)的应该包括如下(注意各字段的大小写):

说明:

PageRetUrl为页面接受应答地址,用于引导使用者返回支付后的商户网站页面。

BgRetUrl 为后台接受应答地址,用于商户记录交易信息和处理,对于使用者是不可见的。另外ChinaPay会根据后台发送的http的返回码来判定是否重新发送后台应答流水,以确保后台应答的接收。

Priv1表示 “商户私有域”,在支付版本20070129中会参与数字签名,商户通过此字段向Chinapay发送的信息,Chinapay依原样填充返回给商户。

GateId为可选项,表示 “支付网关号”,如填写GateId(支付网关号),则消费者将直接进入支付页面,

第 24 页 共 27 页

http://www.ChinaPay.com NetPayClient用户手册

否则进入网关选择页面。

OrdId,表示 “订单号”, 该域段的内容可以完全由用户自己定义。

? 交易数据的数字签名

商户发送给ChinaPay的交易数据均需要进行数字签名。对于版本号为20070129的签名数据使用客户端NetPayClient的“对一段字符串的签名函数”。方法名称为:

NetPayClient for Java :sign (详细内容参见3.5.2章节) NetPayClient for Win32 :sign(详细内容参见3.5.3章节) NetPayClient for C :signData (详细内容参见3.5.4章节)

说明:

对于版本为20070129的数字签名采用的是对一段字符串的签名,因此在签名的时候需要按照一定

顺序拼接字符串,顺序如下表:

MerId OrdId TransAmt CuryId TransDate TransType Priv1 ? 交易接收数据的内容

当消费支付交易完成时,ChinaPay会将交易应答信息发送给商户,对于页面易接收地址和后台交易接收地址都会收到交易接收数据,应答的数据域段包括如下内容:(以页面Form数据为例,注意大小写,后台应答数据的发送的域段名和下面的一致)

说明:

status 表示交易转态,只有\的时候才为交易成功,其他均为失败,因此在验证签名数据为ChinaPay发出的以后,还需要判定交易状态代码为\。

? 应答数据的签名验证

当消费支付交易完成时,ChinaPay会将交易应答信息发送给商户,对于页面交易接收地址和后台交易接收地址都会收到交易接收数据,而对于接收到的应答数据,商户需要对其验证签名以确定是由ChinaPay发出的应答数据。使用的NetPayClient的“验证交易应答函数”。方法名称为:

NetPayClient for Java :verifyTransResponse (详细内容参见3.5.2章节) NetPayClient for Win32 :check(详细内容参见3.5.3章节) NetPayClient for C :verifyTransResponse (详细内容参见3.5.4章节)

第 25 页 共 27 页


NetPayClient用户手册(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:福建华泰集团2012年度节能目标考核自查报告 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: