汇付天下在线支付商户接口范例



一、发送订单页:
<%
'生成完整日期YYYYMMDD
Function FullDate()
    Dim year1,month1,day1
    year1 = year(now())
    month1 = month(now())
    day1 = day(now())
    If Len(month1)=1 Then month1 = "0" & month1
    If Len(day1)=1 Then day1 = "0" & day1
    FullDate = year1 & month1 & day1
End Function
'生成订单号
Function orderId()
    Dim year1,month1,day1,hour1,minute1,second1
    year1 = year(now())
    month1 = month(now())
    day1 = day(now())
    hour1 = hour(now())
    minute1 = minute(now())
    second1 = second(now())
    If Len(month1)=1 Then month1 = "0" & month1
    If Len(day1)=1 Then day1 = "0" & day1
    If Len(hour1)=1 Then hour1 = "0" & hour1
    If Len(minute1)=1 Then minute1 = "0" & minute1
    If Len(second1)=1 Then second1 = "0" & second1
    orderId = year1 & month1 & day1 & hour1 & minute1 & second1
End Function

Dim ThisOrder
Set ThisOrder=CreateObject("ChinaPnr.NetpayClient") 'WEB服务器需安装插件

Dim Version,MerId,MerDate,OrdId,TransType,GateId,TransAmt,MerKeyFile,BgRetUrl,PageRetUrl,MerPriv,ChkValue
Version    = 10 '支付网关接口版本,目前为10
MerId      = 880001 '商户号,6位数字组成
MerDate    = FullDate() '商户日期,格式为YYYYMMDD,8位数字
ordId      = orderId() '商户订单编号,6到16位数字,在一个商户日期内不能重复
TransType  = "P" '交易类型,日前只支持P,即持支付消费交易
GateId     = "" '网关号,为两位数字,也可为空;可理解成银行代码,为空时客户须选择银行进行支付
TransAmt   = Replace(FormatNumber(10000,2),",","") '交易金额,必须包含两位小数,最多12位数字;可用FormatNumber格式化,再用Replace替换逗号
MerKeyFile = Server.MapPath("MerPrk880001.key") '商户私钥文件
BgRetUrl   = "" '后台交易应答接收地址,最多120位;BgRetUrl和PageRetUrl必须有一个不为空
PageRetUrl = "" '页面交易应答接收地址,最多120位;BgRetUrl和PageRetUrl必须有一个不为空
MerPriv    = "" '商户私有域,支付网关原样返回,用于商户的私有信息,最多120位
ChkValue   = ThisOrder.SignOrder0(MerId,MerKeyFile,OrdId,TransAmt,MerDate,TransType,GateId,MerPriv,BgRetUrl,PageRetUrl) '签名,256位
%>
<form action="https://payment.chinapnr.com/pay/TransGet" method="post" name="form1" target="_blank" id="form1">
接口版本:<input name="Version" type="text" id="Version" value="<% =Version %>" />
<br />
商户号:<input name="MerId" type="text" id="MerId" value="<% =MerId %>" />
<br />
商户日期:<input name="MerDate" type="text" id="MerDate" value="<% =MerDate %>" />
<br />
订单号:<input name="OrdId" type="text" id="OrdId" value="<% =OrdId %>" />
<br />
交易类型:<input name="TransType" type="text" id="TransType" value="<% =TransType %>" />
<br />
网关号:<input name="GateId" type="text" id="GateId" value="<% =GateId %>" />
<br />
交易金额:<input name="TransAmt" type="text" id="TransAmt" value="<% =TransAmt %>" />
<br />
应答地址:<input name="BgRetUrl" type="text" id="BgRetUrl" value="<% =BgRetUrl %>" />
<br />
应答地址:<input name="PageRetUrl" type="text" id="PageRetUrl" value="<% =PageRetUrl %>" />
<br />
私有域:<input name="MerPriv" type="text" id="MerPriv" value="<% =MerPriv %>" />
<br />
签名:<input name="ChkValue" type="text" id="ChkValue" value="<% =ChkValue %>" />
<br />
<input type="submit" name="Submit" value="提交" />
</form>


二、应答页

三、后记
测试阶段可查看ChkValue的值来判断订单格式是否正确:正确的ChkValue值应为256位字符,若是数字则该数字代码错误代码,可通过下表查询错误:


评论: 4 | 引用: 0 | 查看次数: 17206
dnawo[2014-11-14 04:59 PM | 访问 http://www.mzwu.com/ | Mail To:dnawo@sohu.com | 119.146.75.3 | del | 回复回复]
地板
@332347365,我当时接入时错误码没有-103,应该是后面加上的,咨询下对方或索取最新接口文档看下。
332347365[2014-11-14 01:54 PM | | | 124.205.129.98 | del | 回复回复]
板凳
楼主,ChkValue值应为-103是什么意思呢?谢谢
QQ59184240[2009-12-12 03:27 PM | | | 124.201.17.131 | del | 回复回复]
沙发
信用卡信息加密那段代码有么? 发我信箱吧 59184240@qq.com 不胜感激
发表评论
登录后再发表评论!