山海微信接口开发文档1.商户发给网关接口的参数参数名称参数含义可空参数说明customerid商户ID否商户在网关系统上的商户号sdcustomno商户流水号否订单在商户系统中的流水号orderAmount支付金额否订单支付金额;单位:分(人民币)cardno支付方式否固定值32noticeurl通知商户Url否在网关返回信息时通知商户的地址,该地址不能带任何参数,否则异步通知会不成功backurl回调Url否在网关返回信息时回调商户的地址,该地址不能带任何参数signmd5签名否发送给网关的签名字符串,为以上参数加商户在网关系秘钥(key)一起按照顺序MD5加密并转为大写的字符串mark商户自定义信息否商户自定义信息,不能包含中文字符,因为可能编码不一致导致MD5加密结果不一致商户发给网关接口的url范例:website?customerid=customerid&sdcustomno=sdcustomno&orderAmount=orderAmount&cardno=cardno¬iceurl=noticeurl&backurl=backurl&sign=sign&mark=mark注意:(1)website为网关的接受信息网址:(2)sign加密时参数要按照顺序,否则加密后无法通过验证,范例:Md5str=customerid=&customerid&&sdcustomno=&sdcustomno&&orderAmount=&orderAmount&&cardno=&cardno&¬iceurl=¬iceurl&&backurl=&backurl&key示例:(key值为:2s52e2e41s5e1sf2sf5e)Md5str=customerid=123456&sdcustomno=2014060121365446&orderAmount=100&cardno=32¬iceurl==值请联系商务人员获取2.网关接口返回(noticeurl)给商户的参数参数名称参数含义参数说明state订单充值状态1.充值成功2.充值失败customerid商户ID商户注册的时候,网关自动分配的商户IDsd51no订单在网关的订单号该订单在网关系统的订单号sdcustomno商户订单号该订单在商户系统的流水号ordermoney订单实际金额商户订单实际金额单位:(元)cardno支付类型支付类型,为固定值32mark商户自定义信息未启用暂时返回空值signmd5签名字符串发送给商户的签名字符串resignmd5二次签名字符串发送给商户的签名字符串des支付备注描述订单支付成功或失败的系统备注网关发给商户的通知url范例:website?state={state}&customerid={customerid}&sd51no={sd51no}&sdcustomno={sdcustomno}&ordermoney={ordermoney}&cardno={cardno}&mark={mark}&sign={sign}&resign={resign}&des={des}参数示例:website?state=1&customerid=132456&sd51no=6565565565&sdcustomno=53111111111111&ordermoney=100&cardno=3212312121212121&mark=51cps&sign=1s31se2e1e2w3132w1&des=aa注:(1).{参数n}为参数n的值(2).website为商户接受通知(回调)地址,对应商户发送给网关Url中的noticeurl参数(3).sign为customerid={customerid}&sd51no={sd51no}&sdcustomno={sdcustomno}&mark={mark}&key={key}进行MD5加密并转为大写的字符串,key为商户在网关系统的密钥示例:customerid=123456&sd51no=654311213214&sdcustomno=54156413215456&mark=weixin&key=2df5s2s(4).resign为sign={sign}&customerid={customerid}&ordermoney={ordermoney}&sd51no={sd51no}&state={state}&key={key}进行MD5加密并转为大写的字符串,key为商户在网关系统的密钥示例:sign=第一次加密结果&customerid=123456&ordermoney=100&sd51no=654311213214&state=1&key=2df5s2s1.商户在接受到网关通知时,应该打印出result1/result标签,以供接口程序抓取信息,以便于我们获取是否通知成功的信息,否则订单会显示没有通知商户。3.支付订单查询接口商户系统在没有收到山海网关异步通知的情况下,可以通过此接查询接口查询商户系统订单状态。请求方式:POST/GET户统商系–山海网关接口地址:提交参数列表字段名变量名类型说明可空商户IDcustomeridString商户注册的时候,山海网关自动分配的商户ID否商户订单号sdcustomnoString该订单在商户系统的流水号否商户自定义信息markString商户自定义信息,注意:不能包含中文字符,因为可能编码不一致,导致MD5加密结果不一致是MD5签名signStringcustomerid=&customerid&&sdcustomno=&sdcustomno&&mark=&mark&&key=&key否返回参数列表(调用订单查询成功,返回的参数)字段名变量名类型说明可空订单充值状态stateString(1)0:订单正在处理中1:订单充值成功2:订单充值失败N山海订单号sd51noString该订单在山海网关系统的订单号N商户流水号sdcustomnoString商户流水号N订单实际金额ordermoneyFloat商户订单实际金额单位:(元)N商户自定义信息markString商户自定义信息,山海支付网关查询返回结果的时候原样返回Y调用订单查询成功,返回的例子:?xmlversion=1.0encoding=GB2312?fillversion=1.0itemsitemname=statevalue=1/itemname=sd51novalue=51ka200909221133271515034815613/itemname=sdcustomnovalue=00909221133271515034815613/itemname=ordermoneyvalue=0.01/itemname=markvalue=shanhai//items/fill返回参数列表(调用订单查询失败,返回参数)字段名变量名类型说明可空订单查询状态stateString(1)0:订单查询失败N错误代码errcodeString(4)错误代码N错误信息errmsgString错误信息N商户自定义信息markString商户自定义信息,原样返回Y调用订单查询败失,返回的例子:?xmlversion=1.0encoding=GB2312?fillversion=1.0itemsitemname=statevalue=0/itemname=errcodevalue=1000/itemname=errmsgvalue=参数不完整/itemname=markvalue=shanhai//items/fill接口注意事项此种方式查询订单状态是商户可选可不选,建议在山海网关没有异步通知订单结果的情况下使用(注意:此查询接口只能查询商户在当前3天以内的订单结果)。4.微信支付成功同步跳转(backurl)参数名称参数含义长度参数说明sdcustomno商户订单号60该订单在商户系统的流水号state订单充值状态11.充值成功2.充值失败sd51no订单在网关的订单号60该订单在网关系统的订单号signmd5签名字符串60发送给商户的签名字符串Sign=大写(MD5(sdcustomno=+sdcustomno+&state=+state+&sd51no=+sd51no+&key=+key))注:该页面为商户显示页面,无需返回值,不建议做订单状态处理。