微信支付API文档V256.docx

上传人:b****6 文档编号:4692321 上传时间:2022-12-07 格式:DOCX 页数:25 大小:25.57KB
下载 相关 举报
微信支付API文档V256.docx_第1页
第1页 / 共25页
微信支付API文档V256.docx_第2页
第2页 / 共25页
微信支付API文档V256.docx_第3页
第3页 / 共25页
微信支付API文档V256.docx_第4页
第4页 / 共25页
微信支付API文档V256.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

微信支付API文档V256.docx

《微信支付API文档V256.docx》由会员分享,可在线阅读,更多相关《微信支付API文档V256.docx(25页珍藏版)》请在冰豆网上搜索。

微信支付API文档V256.docx

微信支付API文档V256

微信被扫支付接口文档V2.51

微信被扫支付接口文档

(版本2.5.6)

微信被扫支付接口文档V2.52

目录

微信被扫支付接口文档............................................................................................................1

1.被扫支付介绍......................................................................................................................3

1.1交互细节.....................................................................................................................3

1.3免密额度.....................................................................................................................4

1.4接口调用方式.............................................................................................................4

1.5签名方式.....................................................................................................................5

2.API说明.................................................................................................................................6

2.1提交被扫支付API......................................................................................................6

2.2被扫订单查询API......................................................................................................9

2.3退款申请接口...........................................................................................................12

2.4退款查询接口...........................................................................................................13

2.5撤销接口...................................................................................................................15

2.6对账单接口...............................................................................................................16

2.7授权码查询OPENID接口.....................................................................................18

3.企业红包使用说明..............................................................................................................19

3.1创建批次企业红包...................................................................................................19

3.2提交支付使用企业红包...........................................................................................19

3.3查询使用企业红包金额...........................................................................................19

3.4企业红包对账单.......................................................................................................20

4.错误码列表..........................................................................................................................20

微信被扫支付接口文档V2.53

1.被扫支付介绍

1.1交互细节

根据微信被扫支付场景,设计商家支付逻辑。

(1)商户收银系统生成订单,进入微信支付流程;

(2)用户打开微信刷卡界面,收银系统扫描到用户二维码或条码(见下左图);

(3)组装支付交易需要的数据,并生成签名(签名方式见1.5节);

(4)调用微信被扫API(详见2.1节),提交支付请求;

(5)用户使用微信被扫支付未超过免密限额(详见1.3节),微信直接扣款成功,否则用户

端微信会弹出输入密码提示(见下中图),支付成功后用户微信侧会弹出交易结果(见下右

图);

->->

(6)步骤4提交请求后会同步返回支付结果。

如果需要密码验证,支付结果返回

USERPAYING(用户支付中)的状态。

当支付结果为系统错误,需要商户收银系统调用

订单查询API(详见2.2节)查询支付实际交易结果;当返回USERPAYING时等待用户输入

密码,系统可设置间隔时间(建议10秒)重新查询支付结果,直到支付成功或超时(建议

30秒);

(4)在交易状况不明晰的情况下调用撤销接口(详见2.5节),如果交易失败则关闭订单,

该单不能再支付成功;如果交易成功,则将扣款退回到用户账户。

当撤销无返回或错误

时,请再次调用。

1.2接口调用时序图

微信被扫支付接口文档V2.54

1.3免密额度

用户使用每单免密额度(用户不可调整);

􀁺每单小于300元的消费都免密;

􀁺每天10次免密刷卡限制;

􀁺大于300元的消费需要验证密码;

􀁺当天满10次免密,后续交易均验证密码,第二天自动恢复免密次数;

􀁺用户行为异常需要验证密码;

􀁺用户可以停用此功能;

1.4接口调用方式

API调用方式与说明:

􀁺采用HTTPS方式访问

􀁺提交方法为POST

􀁺提交和返回的数据格式为XML

􀁺编码为UTF-8

􀁺提交和返回数据都需要验证签名。

注意:

撤销和退款接口需要双向证书(商户证书),支付和查询不需要。

微信被扫支付接口文档V2.55

1.5签名方式

Sign签名生成方法

由于数据中携带了生成订单的详细信息,因此在微信将对数据里面的内容进行鉴权,

确定携带的信息是真实、有效、合理的。

因此,这里将定义生成sign字符串的方法。

a.对所有传入参数按照字段名的ASCII码从小到大排序(字典序)后,使用URL键

值对的格式(即key1=value1&key2=value2…)拼接成字符串string1,注意:

值为空的

参数不参与签名;

b.在string1最后拼接上key=paternerKey得到stringSignTemp字符串,并对

stringSignTemp进行md5运算,再将得到的字符串所有字符转换为大写,得到sign值

signValue。

下面定义了一段生成sign字符串的示范过程:

假设以下为package传入参数:

appid=wxd930ea5d5a258f4f

auth_code=123456

body=test

device_info=123

mch_id=1900000109

nonce_str=960f228109051b9969f76c82bde183ac

out_trade_no=1400755861

spbill_create_ip=127.0.0.1

sub_mch_id=124

total_fee=1

key=8934e7d15453e97507ef794cf7b0519d

i:

经过a过程URL键值对字典序排序后的字符串string1为:

appid=wxd930ea5d5a258f4f&auth_code=123456&body=test&device_info=123&m

ch_id=1900000109&nonce_str=960f228109051b9969f76c82bde183ac&out_trade_no=

1400755861&spbill_create_ip=127.0.0.1&sub_mch_id=124&total_fee=1

ii:

经过b过程后得到sign为:

sign

=md5(string1&key=8934e7d15453e97507ef794cf7b0519d).toUpperCase

=md5(appid=wxd930ea5d5a258f4f&auth_code=123456&body=test&device_info=1

微信被扫支付接口文档V2.56

23&mch_id=1900000109&nonce_str=960f228109051b9969f76c82bde183ac&out_trad

e_no=1400755861&spbill_create_ip=127.0.0.1&sub_mch_id=124&total_fee=1&key=893

4e7d15453e97507ef794cf7b0519d).toUpperCase()

="c380bec2bfd727a4b6845133519f3ad6".toUpperCase()

="C380BEC2BFD727A4B6845133519F3AD6"

2.API说明

2.1提交被扫支付API

URL:

具"3o_徛_体的post数据格式如:

wx2421b1c4370ec43b

[CDATA[att]]>

100000000749880164

[CDATA[交易说明]]>

1000

10000100

58ef9df15219a07d73b176b3e664d735

1404470527

127.0.0.1

1

[CDATA[F06C8D0D931B360AB6DEFB886F8E9FC5]]>

提交参数说明:

字段名变量名必

类型说明

公众账号IDappid是String(32)微信分配的公众账号ID

商户号mch_id是String(32)微信支付分配的商户号

子商户号sub_mch_id否String(32)微信支付分配的子商户号,受

理模式下必填

设备号device_info否String(32)终端设备号(商户自定义)

微信被扫支付接口文档V2.57

随机字符串nonce_str是String(32)随机字符串,不长于32位

签名sign是String(32)签名,签名方式详见1.5节

商品描述body是String(127)商品描述

附加数据attach否String(127)附加数据,原样返回

商户订单号out_trade_no是String(32)商户系统内部的订单号,32个

字符内、可包含字母,确保在商

户系统唯一

总金额total_fee是Int订单总金额,单位为分,只能

整数

终端IPspbill_create_ip是String(16)订单生成的机器IP

交易起始时

time_start否String(14)订单生成时间,格式为

yyyyMMddHHmmss,如2009

年12月25日9点10分10秒

表示为20091225091010。

区为GMT+8beijing。

该时间取

自商户服务器

交易结束时

time_expire否String(14)订单失效时间,格式为

yyyyMMddHHmmss,如2009

年12月27日9点10分10秒

表示为20091227091010。

区为GMT+8beijing。

该时间取

自商户服务器

商品标记goods_tag否String(32)商品标记,微信平台配置的商

品标记,用于优惠券或者满减

使用,使用说明详见第3节

授权码auth_code是String(128)扫码支付授权码,设备读取用

户微信中的条码或者二维码

信息

备注:

appid,mch_id,sub_mch_id由微信提供,device_info由商户分配,auth_code

为读取到用户的支付码。

注意:

商户的outtradeno必须全局唯一,调试和生产环境,都需要使用唯一的订单号。

注意:

当商户的同一个商户号绑定了公众号支付、被扫刷卡、APP支付也需要加标识来

区分,不能出现重复。

当发起支付返回失败时,一定要用原订单的outtradeno而不能

重新生成新的订单号发起支付,避免同一单重复支付。

返回数据:

[CDATA[SUCCESS]]>

[CDATA[OK]]>

[CDATA[wx2421b1c4370ec43b]]>

[CDATA[10000100]]>

微信被扫支付接口文档V2.58

[CDATA[1000]]>

[CDATA[LM1Bbp0WoDV5jqpP]]>

[CDATA[1DE267795ECCC5BFB90DDCA91DBBF107]]>

[CDATA[SUCCESS]]>

[CDATA[oUpF8uAPCYkD5hhiSz_M9eFoD3Cw]]>

[CDATA[N]]>

[CDATA[MICROPAY]]>

1

0

[CDATA[1]]>

[CDATA[1217752501201407033233368018]]>

_id>

[CDATA[1404470527]]>

[CDATA[att]]>

[CDATA[20140703211656]]>

格式说明:

字段名变量名必填类型说明

返回状态码return_code是String(16)SUCCESS/FAIL

此字段是通信标识,非交易标

识,交易是否成功需要查看

result_code来判断

返回信息return_msg否String(128)返回信息,如非空,为错误原因

签名失败

参数格式校验错误

以下字段在return_code为SUCCESS的时候有返回

公众账号IDappid是String(32)微信分配的公众账号ID

商户号mch_id是String(32)微信支付分配的商户号

子商户号sub_mch_id否String(32)微信支付分配的子商户号,受理

模式下必填

设备号device_info否String(32)微信支付分配的终端设备号,

随机字符串nonce_str是String(32)随机字符串,不长于32位

签名sign是String(32)签名,详细签名方法见1.5节

业务结果result_code是String(16)SUCCESS/FAIL

错误代码err_code否String(32)列表详见第3节

错误代码描述err_code_des否String(128)结果信息描述

以下字段在return_code和result_code都为SUCCESS的时候有返回

用户标识openid是String(128)用户在商户appid下的唯一标

是否关注公众is_subscribe是String

(1)用户是否关注公众账号,Y-关

微信被扫支付接口文档V2.59

账号注,N-未关注,仅在公众账号类

型支付有效

交易类型trade_type是String(16)JSAPI、NATIVE、MICROPAY、APP

付款银行bank_type是String(16)银行类型,采用字符串类型的银

行标识

总金额total_fee是Int订单总金额,单位为分

企业红包金额coupon_fee否Int企业红包金额<=订单总金额,订

单总金额-企业红包金额=现金

支付金额

货币种类fee_type否String(8)货币类型,符合ISO4217标准

的三位字母代码,默认人民币:

CNY

微信支付订单

transaction_id是String(32)微信支付订单号

商户订单号out_trade_no是String(32)商户系统的订单号,与请求一

致。

商家数据包attach否String(128)商家数据包,原样返回

支付完成时间time_end是String(14)支付完成时间,格式为

yyyyMMddhhmmss,如2009年12

月27日9点10分10秒表示为

20091227091010。

时区为

GMT+8beijing。

该时间取自微信

支付服务器

2.2被扫订单查询API

当调用扣款接口返回支付中或失败状态,需要调用查询接口查询订单实际支付状态。

遇到用户超过日限额需要输入密码返回“支付中”的状态,建议10秒调一次查询,调

用3次后还未成功作支付超时处理。

URL:

具体的post数据格式如:

wx2421b1c4370ec43b

10000100

6e9feef0d48ead6730ce88ecc22b34cc

1404470527

1404470527

[CDATA[E7F981D8CC798F3C290757A00583607F]]>

提交参数说明:

微信被扫支付接口文档V2.510

字段名变量名必填类型说明

公众账号IDappid是String(32)微信分配的公众账号ID

商户号mch_id是String(32)微信支付分配的商户号

子商户号sub_mch_id否String(32)微信支付分配的子商户号,受

理模式下必填

微信订单号transaction_id否String(32)微信的订单号,优先使用

商户订单号out_trade_no

是String(32)商户系统内部的订单号,

transaction_id、

out_trade_no二选一,如果

同时存在优先级:

transaction_id>

out_trade_no

随机字符串nonce_str是String(32)随机字符串,不长于32位

签名sign是String(32)签名,详细签名方法见1.5节

返回数据:

[CDATA[SUCCESS]]>

[CDATA[OK]]>

[CDATA[wxd930ea5d5a258f4f]]>

1900000109

124

123

[CDATA[960f228109051b9969f76c82bde183ac]]>

[CDATA[SUCCESS]]>

[CDATA[]]>

[CDATA[]]>

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1