如何将帐单放在扫地机器人哪个牌子好上一扫就能自动统计商品信息

一卡通应用
一周点击热点
关于我们&&&&&&&&&&&& Copyright&&&&&当前位置: >>
【微信支付】微信公众号支付接口文档V3.3.7
微信公众号支付接口文档微信公众号支付接口文档 (V3.3.7) 微信公众号支付接口文档目录微信公众号支付接口文档............................................................................................................... 1 1.微信支付简介................................................................................................................................ 4 1.1.功能简介............................................................................................................................. 4 1.2.支付账户............................................................................................................................. 4 1.3.支付方式............................................................................................................................. 5 2.支付场景介绍................................................................................................................................ 5 2.1.网页内支付场景---JS API(网页内)支付接口 .............................................................. 5 2.1.1.交互细节.................................................................................................................. 7 2.1.2.JSAPI 支付时序图................................................................................................... 8 2.1.3.获取当前微信版本号 .............................................................................................. 8 2.1.4.显示微信安全支付标题 .......................................................................................... 8 2.2.线下扫码购买场景---Native(原生)支付接口 .............................................................. 9 2.2.1 使用场景.................................................................................................................. 9 2.2.2.Native(原生)支付 URL 定义 ........................................................................... 10 3.接口说明...................................................................................................................................... 12 3.1.接口调用规则................................................................................................................... 12 3.2.Sign 签名生成方法 .......................................................................................................... 13 3.3.代码实例........................................................................................................................... 14 4.API 说明 ...................................................................................................................................... 15 4.1.统一支付接口................................................................................................................... 15 微信公众号支付接口文档4.2.通用通知接口................................................................................................................... 17 4.3.订单查询接口................................................................................................................... 19 4.4.JSAPI 支付――H5 网页端调起支付接口 ..................................................................... 21 4.5.Native 支付――二维码链接 .......................................................................................... 22 4.6.Native 支付――请求商家获取商品信息接口............................................................... 23 4.7 关闭订单接口................................................................................................................... 24 4.8.退款申请接口................................................................................................................... 25 4.9.退款查询接口................................................................................................................... 26 4.10.对账单接口..................................................................................................................... 28 4.11.短链接转换接口 ............................................................................................................. 30 4.12.接口调用上报接口 ......................................................................................................... 31 5.企业红包使用说明...................................................................................................................... 32 5.1 创建批次企业红包 .......................................................................................................... 32 5.2 提交支付使用企业红包 .................................................................................................. 33 5.3 查询使用企业红包金额 .................................................................................................. 33 5.4 企业红包对账单 .............................................................................................................. 33 6.错误码列表.................................................................................................................................. 33 7.常见问题和注意事项.................................................................................................................. 34 7.1.常见基本概念疑惑 ........................................................................................................... 34 7.2.常见错误现象及解决方法 ............................................................................................... 34 7.3.常见注意事项................................................................................................................... 35 7.4.联系我们........................................................................................................................... 36 微信公众号支付接口文档1.微信支付简介1.1.功能简介微信支付,是基于微信客户端提供的支付服务功能。同时向商户提供销售经营分析、账 户和资金管理的功能支持。 用户通过扫描二维码、 微信内打开商品页面购买等多种方式调起 微信支付模块完成支付。 微信支持公众号内支付,即基于公众号向用户收款,公众号相当于收款的商户。其中支 付方式,可以分为 JS API(网页内)支付、Native(原生)支付。商户可以结合业务场景, 自主选择支付方式。 本文将全面介绍微信支付的技术方案。1.2.支付账户商户向微信提交企业以及银行账户资料,商户功能审核通过后,可以获得以下帐户(包 含财付通的商户账户) ,用于公众号支付。 帐号 appId Mchid Key 作用 微信公众号身份的唯一标识。审核通过后,在微信发送的邮件中查看。 商户 ID,身份标识,在微信发送的邮件中查看。 商户支付密钥 Key。登录微信商户后台,进入栏目【账户设置】 【密码安全】 【API 安全】 【API 密钥】 ,进入设置 API 密钥。 Appsecret JSAPI 接口中获取 openid,审核后在公众平台开启开发模式后可查看。 微信公众号支付接口文档注意: 支付密钥 Key 是验证商户唯一性的安全标识,请妥善保管,仅保留在第三方后 台和微信后台,不会在网络中传播。1.3.支付方式JS API(网页内)支付:是指用户打开图文消息或者扫描二维码,在微信内置浏览器打 开网页进行的支付。商户网页前端通过使用微信提供的 JS API,调用微信支付模块。这种方 式,适合需要在商户网页进行选购下单的购买流程。 Native(原生)支付:是指商户组成符合 Native(原生)支付规则的 URL 链接,用户 可通过在会话中点击链接或者扫描对应的二维码直接进入微信支付模块(客户端界面) ,即 可进行支付。这种方式,适合无需选购直接支付的购买流程。跟 JSAPI 最大的区别是不经 过网页调起支付。2.支付场景介绍2.1.网页内支付场景---JS API(网页内)支付接口商户已有 H5 商城网站, 在微信内打开网页时, 可以调用微信支付完成下单购买的流程。 步骤(1) :左图,商户下发图文消息或者通过自定义菜单吸引用户点击进入商户网页。 步骤(2) :右图,进入家网页,用户选择购买,完成选购流程。 微信公众号支付接口文档步骤(3) :左图,调起微信支付控件,用户开始输入支付密码。 步骤(4) :右图,密码验证通过,支付成功。商户后台得到支付成功的通知。步骤(5) :左图,返回商户页面,显示购买成功。该页面由商户自定义。 步骤(6) :右图,公众号下发消息,提示发货成功。该步骤可选。 微信公众号支付接口文档注意:商户也可以把商品网页的链接生成二维码,用户扫一扫打开后即可完成购买支付。2.1.1.交互细节以下是支付场景的交互细节,请认真阅读,并设计商户页面的逻辑: ( 1 ) 用 户 打 开 商 户 网 页 选 购 商 品 , 发 起 支 付 , 在 网 页 通 过 JavaScript 调 用 getBrandWCPayRequest 接口,发起微信支付请求,用户进入支付流程。 (2)用户成功支付点击完成按钮后,商户的前端会收到 JavaScript 的返回值。商户可 直接跳转到支付成功的静态页面进行展示。 (3)商户后台收到来自微信开放平台的支付成功回调通知,标志该笔订单支付成功。 注: (2)和(3)的触发不保证遵循严格的时序。JS API 返回值作为触发商户网页跳转的标 志, 但商户后台应该只在收到微信后台的支付成功回调通知后, 才做真正的支付成功的处理。 JS API 返回值目前只在支付成功时返回,后续版本将扩展返回值,以便商户做更多个 性化的展示。 微信公众号支付接口文档2.1.2.JSAPI 支付时序图2.1.3.获取当前微信版本号由于微信 5.0 版本后才加入微信支付模块, 低版本用户调用微信支付功能将无效。 因此, 建议商户通过 user agent 来确定用户当前的版本号后再调用支付接口。以 iPhone 版本为例, 可以通过 user agent 可获取如下微信版本示例信息: &Mozilla/5.0(CPU iphone OS 5_1_1 like Mac OS X) AppleWebKit/534.46(KHTML,like Geocko) Mobile/9B206 MicroMessenger/5.0& 其中 5.0 为用户安装的微信版本号,商户可以判定版本号是否高于或者等于 5.0。2.1.4.显示微信安全支付标题对于商户具有支付权限且需要调用微信支付的页面, 为了让用户增加购买信心, 确认交 易环境安全,微信强烈建议商户使用“微信安全支付”标题。安全支付标题的如下图。 微信公众号支付接口文档显示支付安全标题,需将原始链接添加上&showwxpaytitle=1&的尾串。通过这种方式, 商户的页面将出现微信安全支付的标识。例如,原始 URL 为:htp://,显示安全 支付标题的 URL 为:htp://?showwxpaytitle=1。 当用户在微信里打开
不会直接出现微信安全支付的标题,而打开 htp://?showwxpaytitle=1 后将出现微信安全支付标题。2.2.线下扫码购买场景---Native(原生)支付接口2.2.1 使用场景与网页内支付场景不同,部分商户不需要经过网页选购,可以直接下单购买。 步骤(1) :左图,商户根据微信支付的规则,为不同商品生成不同的二维码,张贴在 各种场景,便于用户扫描购买。 步骤(2) :右图,用户使用微信扫描二维码后,获取商品信息,同时到商户后台下单。步骤(3) :左图,用户开始支付,输入支付密码。 微信公众号支付接口文档步骤(4) :右图,支付成功,商户后台得到通知,进行发货处理。2.2.2.Native(原生)支付 URL 定义模式一:商户按固定格式生成链接二维码,用户扫码后调微信会将 productid 和用户 openid 发送到商户设置的链接上, 商户收到请求生成订单, 调用统一支付接口下单提交到微 信,微信会返回给商户 prepayid,时序图如下: 微信公众号支付接口文档对应链接: weixin://wxpay/bizpayurl?sign=XXXXX&appid=XXXXX&mch_id=XXXXX&product_id= XXXXXX &time_stamp=XXXXXX&nonce_str=XXXXX 模式二:商户生成订单,先调用统一支付接口获取到 code_url,此 URL 直接生成二维 码,用户扫码后调起支付。时序图如下: 微信公众号支付接口文档code_url 对应链接: weixin://wxpay/bizpayurl?sr=XXXXX3.接口说明3.1.接口调用规则认证方式:HTTPS 认证,退款和冲正接口调用需要商户证书(证书在审核邮件附件 中)请求采用 POST 方式提交和返回结果采用 XML 格式字符集默认使用 UTF-8,请勿使用其它字符集商户与微信之间的交互(特别是 Native 回调和支付通知回调),都需要验证签名 微信公众号支付接口文档处理返回时先判断协议返回错误码,再判断业务返回错误码,最后判断交易状态3.2.Sign 签名生成方法微信支付中将对数据里面的内容进行鉴权,确定携带的信息是真实、有效、合理的。因 此,这里将定义生成 sign 字符串的方法。 a.对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)后,使用 URL 键值对的 格式(即 key1=value1&key2=value2…)拼接成字符串 string1,注意:值为空的参数不参与 签名; b. 在 string1 最 后 拼 接 上 key=Key( 商 户 支 付 密 钥 ) 得 到 stringSignTemp 字 符 串 , 并 对 stringSignTemp 进行 md5 运算,再将得到的字符串所有字符 转换为大写 ,得到 sign 值 signValue。 下面定义了一段生成 sign 字符串的示范过程: 假设以下为 package 传入参数: appid=wxd930ea5d5a258f4f auth_code=123456 body=test device_info=123 mch_id= nonce_str=960f69f76c82bde183ac out_trade_no= spbill_create_ip=127.0.0.1 total_fee=1 key=53e9cf7b0519d i:经过 a 过程 URL 键值对字典序排序后的字符串 string1 为: appid=wxd930ea5d5a258f4f&auth_code=123456&body=test&device_info=123&mch_id=1 &nonce_str=960f69f76c82bde183ac&out_trade_no=&spbil l_create_ip=127.0.0.1&total_fee=1 ii:经过 b 过程后得到 sign 为: sign =md5(string1&key=53e9cf7b0519d).toUpperCase =md5(appid=wxd930ea5d5a258f4f&auth_code=123456&body=test&device_info=123&mch 微信公众号支付接口文档_id=&nonce_str=960f69f76c82bde183ac&out_trade_no= &spbill_create_ip=127.0.0.1&total_fee=1&key=53e9cf7b0519d).toUpper Case() =&c380bec2bfd727a4bf3ad6&.toUpperCase() =&C380BEC2BFD727A4BF3AD6&3.3.代码实例接口调用实例,以开发为例说明数据提交和返回的具体格式: 提交数据:&xml& &appid&wx0ec43b&/appid& &attach&&![CDATA[att1]]&&/attach& &body&&![CDATA[JSAPI 支付测试]]&&/body& &device_info&1000&/device_info& &mch_id&&/mch_id& &nonce_str&bd1d9ed8b2&/nonce_str& &notify_url&http://wxpay./pub_v2/pay/notify.php&/notify_url& &out_trade_no&&/out_trade_no& &spbill_create_ip&127.0.0.1&/spbill_create_ip& &total_fee&1&/total_fee& &trade_type&JSAPI&/trade_type& &sign&&![CDATA[3CA89BCCF4]]&&/sign& &/xml&协议级错误返回:&xml& &return_code&&![CDATA[FAIL ]]&&/return_code& &return_msg&&![CDATA[SYSERR]]&&/return_msg& &/xml&正确返回数据:&xml& &return_code&&![CDATA[SUCCESS]]&&/return_code& &return_msg&&![CDATA[OK]]&&/return_msg& &appid&&![CDATA[wx0ec43b]]&&/appid& &mch_id&&![CDATA[]]&&/mch_id& &device_info&&![CDATA[1000]]&&/device_info& &nonce_str&&![CDATA[FvYSnPuFFPkAr77M]]&&/nonce_str& &sign&&![CDATA[EA6EB5F3B72]]&&/sign& &result_code&&![CDATA[SUCCESS]]&&/result_code& &openid&&![CDATA[oUpF8uN95-Ptaags6E_roPHg7AG0]]&&/openid& &is_subscribe&&![CDATA[Y]]&&/is_subscribe& &trade_type&&![CDATA[JSAPI]]&&/trade_type& &bank_type&&![CDATA[CCB_CREDIT]]&&/bank_type& &total_fee&1&/total_fee& &coupon_fee&0&/coupon_fee& &fee_type&&![CDATA[CNY]]&&/fee_type& &transaction_id&&![CDATA[8756]]&&/transaction_id& &out_trade_no&&![CDATA[]]&&/out_trade_no& 微信公众号支付接口文档 &attach&&![CDATA[att]]&&/attach& &time_end&&![CDATA[55]]&&/time_end& &/xml&业务级错误返回:&xml& &return_code&&![CDATA[SUCCESS]]&&/return_code& &return_msg&&![CDATA[OK]]&&/return_msg& &appid&&![CDATA[wx0ec43b]]&&/appid& &mch_id&&![CDATA[]]&&/mch_id& &device_info&&![CDATA[1000]]&&/device_info& &nonce_str&&![CDATA[sthBJ9QyUG6vkrjJ]]&&/nonce_str& &sign&&![CDATA[5D4FF23AA7B6A4C3046AB]]&&/sign& &result_code&&![CDATA[FAIL]]&&/result_code& &err_code&&![CDATA[PAYERROR]]&&/err_code& &err_code_des&&![CDATA[支付错误]]&&/err_code_des& &/xml&4.API 说明4.1.统一支付接口URL 地址:https://api.mch./pay/unifiedorder 统一支付接口,可接受 JSAPI/NATIVE/APP 下预支付订单,返回预支付订单号。 NATIVE 支付返回二维码 code_url。 注意:JSAPI 下单前需要调用登录授权接口(详细调用说明请点击打开链接)获取到用户 的 Openid。 请求参数: 字段名 公众账号 ID 商户号 设备号 随机字符串 签名 商品描述 附加数据 商户订单号 appid mch_id device_info nonce_str sign body attach out_trade_no 变量名 必填 是 是 否 是 是 是 否 是 类型 String(32) String(32) String(32) String(32) String(32) String(127) String(127) String(32) 说明 微信分配的公众账号 ID 微信支付分配的商户号 微信支付分配的终端设备号 随机字符串,不长于 32 位 签名,详细签名方法见 3.2 节 商品描述 附加数据,原样返回 商户系统内部的订单号 ,32 个字符内、可包含字母,确保 在商户系统唯一 , 详细说明 微信公众号支付接口文档见 7.3 节第四项 总金额 终端 IP 交易起始时间 total_fee spbill_create_ip time_start 是 是 否 Int String(16) String(14) 订单总金额,单位为分,不 能带小数点 订单生成的机器 IP 订单生成时间,格式为 yyyyMMddHHmmss,如 2009 年 12 月 25 日 9 点 10 分 10 秒表 示为 10。时区 为 GMT+8 beijing。该时间取 自商户服务器 订单失效时间,格式为 yyyyMMddHHmmss,如 2009 年 12 月 27 日 9 点 10 分 10 秒表 示为 10。时区 为 GMT+8 beijing。该时间取 自商户服务器 商品标记,该字段不能随便 填,不使用请填空,使用说 明详见第 5 节 接收微信支付成功通知 JSAPI、NATIVE、APP 用户在商户 appid 下的唯一 标识,trade_type 为 JSAPI 时,此参数必传,获取方式 见表头说明。 只在 trade_type 为 NATIVE 时需要填写。此 id 为二维码 中包含的商品 ID,商户自行 维护。交易结束时间time_expire否String(14)商品标记goods_tag否String(32)通知地址 交易类型 用户标识notify_url trade_type openid是 是 否String(256) String(16) String(128)商品 IDproduct_id否String(32)返回参数: 字段名 返回状态码 变量名 return_code 必填 是 类型 String(16) 说明 SUCCESS/FAIL 此字段是通信标识,非交易 标识,交易是否成功需要查 看 result_code 来判断 返回信息,如非空,为错误 原因 签名失败 参数格式校验错误 微信分配的公众账号 ID 微信支付分配的商户号返回信息return_msg否String(128)以下字段在 return_code 为 SUCCESS 的时候有返回 公众账号 ID 商户号 appid mch_id 是 是 String(32) String(32) 微信公众号支付接口文档设备号 随机字符串 签名 业务结果 错误代码 错误代码描述 交易类型 预支付 ID 二维码链接device_info nonce_str sign result_code err_code err_code_des trade_type prepay_id code_url否 是 是 是 否 否 是 是 否String(32) String(32) String(32) String(16) String(32) String(128) String(16) String(64) String(64)微信支付分配的终端设备 号, 随机字符串,不长于 32 位 签名,详细签名方法见 3.2 节 SUCCESS/FAIL 列表第 6 节 结果信息描述 JSAPI、NATIVE、APP 微信生成的预支付 ID,用于 后续接口调用中使用 trade_type 为 NATIVE 是有 返回,此参数可直接生成二 维码展示出来进行扫码支付以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回4.2.通用通知接口通知 URL 是 4.1 节中提交的参数 notify_url,支付完成后,微信会把相关支付和用户信 息发送到该 URL,商户需要接收处理信息。 对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,微 信会通过一定的策略(如 30 分钟共 8 次)定期重新发起通知,尽可能提高通知的成功率, 但微信不保证通知最终能成功。 由于存在重新发送后台通知的情况, 因此同样的通知可能会多次发送给商户系统。 商户 系统必须能够正确处理重复的通知。 推荐的做法是,当收到通知进行处理时,首先检查对应业务数据的状态,判断该通知是 否已经处理过,如果没有处理过再进行处理,如果处理过直接返回结果成功。在对业务数据 进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。 通知参数: 字段名 返回状态码 变量名 return_code 必填 是 类型 String(16) 说明 SUCCESS/FAIL 此字段是通信标识,非交易 标识,交易是否成功需要查 微信公众号支付接口文档看 result_code 来判断 返回信息 return_msg 否 String(128) 返回信息,如非空,为错误 原因 签名失败 参数格式校验错误 微信分配的公众账号 ID 微信支付分配的商户号 微信支付分配的终端设备 号, 随机字符串,不长于 32 位 签名,详细签名方法见 3.2 节 SUCCESS/FAIL 错误码见第 6 节 结果信息描述 用户在商户 appid 下的唯一 标识 用户是否关注公众账号, Y关注, N-未关注,仅在公众 账号类型支付有效 JSAPI、NATIVE、MICROPAY、 APP 银行类型,采用字符串类型 的银行标识 订单总金额,单位为分 现金券支付金额 &=订单总金 额,订单总金额-现金券金额 为现金支付金额 货币类型,符合 ISO 4217 标 准的三位字母代码,默认人 民币:CNY 微信支付订单号 商户系统的订单号,与请求 一致。 商家数据包,原样返回 支付完成时间,格式为 yyyyMMddhhmmss,如 2009 年 12 月 27 日 9 点 10 分 10 秒表 示为 10。时区 为 GMT+8 beijing。该时间取 自微信支付服务器以下字段在 return_code 为 SUCCESS 的时候有返回 公众账号 ID 商户号 设备号 随机字符串 签名 业务结果 错误代码 错误代码描述 用户标识 是否关注公众账 号 交易类型 付款银行 总金额 现金券金额 货币种类 appid mch_id device_info nonce_str sign result_code err_code err_code_des openid is_subscribe 是 是 否 是 是 是 否 否 是 是 String(32) String(32) String(32) String(32) String(32) String(16) String(32) String(128) String(128) String(1)以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回trade_type bank_type total_fee coupon_fee fee_type是 是 是 否String(16) String(16) Int Int否String(8)微信支付订单号 商户订单号 商家数据包 支付完成时间transaction_id out_trade_no attach time_end是 是 否 是String(32) String(32) String(128) String(14)商户处理后同步返回给微信参数: 微信公众号支付接口文档字段名 返回状态码变量名 return_code必填 是类型 String(16)说明 SUCCESS/FAIL SUCCESS 表示商户接收通知 成功并校验成功 返回信息,如非空,为错误 原因 签名失败 参数格式校验错误返回信息return_msg否String(128)4.3.订单查询接口接口链接:https://api.mch./pay/orderquery 该接口提供所有微信支付订单的查询, 当支付通知处理异常或丢失的情况, 商户可以通 过该接口查询订单支付状态。 请求参数: 字段名 公众账号 ID 商户号 微信订单号 变量名 appid mch_id transaction_id 必填 是 是 否 是 商户订单号 out_trade_no 类型 String(32) String(32) String(32) String(32) 说明 微信分配的公众账号 ID 微信支付分配的商户号 微信的订单号,优先使用 商户系统内部的订单号, transaction_id、 out_trade_no 二 选一,如果同时存在优先级: transaction_id& out_trade_no 随机字符串,不长于 32 位 签名,详细签名方法见 3.2 节随机字符串 签名nonce_str sign是 是String(32) String(32)同步返回结果: 字段名 返回状态码 变量名 return_code 必填 是 类型 String(16) 说明 SUCCESS/FAIL 此字段是通信标识,非交易 标识,交易是否成功需要查 看 trade_state 来判断 返回信息,如非空,为错误 原因 签名失败 参数格式校验错误 微信分配的公众账号 ID 微信支付分配的商户号返回信息return_msg否String(128)以下字段在 return_code 为 SUCCESS 的时候有返回 公众账号 ID 商户号 appid mch_id 是 是 String(32) String(32) 微信公众号支付接口文档随机字符串 签名 业务结果 错误代码 错误代码描述 交易状态nonce_str sign result_code err_code err_code_des trade_state是 是 是 否 否 是String(32) String(32) String(16) String(32) String(128) String(32)随机字符串,不长于 32 位 签名,详细签名方法见 3.2 节 SUCCESS/FAIL 错误码见第 6 节 结果信息描述 SUCCESS―支付成功 REFUND―转入退款 NOTPAY―未支付 CLOSED―已关闭 REVOKED―已撤销 USERPAYING--用户支付中 NOPAY--未支付 ( 输入密码或 确认支付超时) PAYERROR-- 支 付 失 败 ( 其 他 原因,如银行返回失败) 微信支付分配的终端设备 号, 用户在商户 appid 下的唯一 标识 用户是否关注公众账号, Y关注, N-未关注,仅在公众 账号类型支付有效 JSAPI、NATIVE、MICROPAY、 APP 银行类型,采用字符串类型 的银行标识 订单总金额,单位为分 现金券支付金额 &=订单总金 额,订单总金额-现金券金额 为现金支付金额 货币类型,符合 ISO 4217 标 准的三位字母代码,默认人 民币:CNY 微信支付订单号 商户系统的订单号,与请求 一致。 商家数据包,原样返回 支付完成时间,格式为 yyyyMMddhhmmss,如 2009 年 12 月 27 日 9 点 10 分 10 秒表 示为 10。时区以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回 设备号 用户标识 是否关注公众账 号 交易类型 付款银行 总金额 现金券金额 货币种类 device_info openid is_subscribe 否 是 是 String(32) String(128) String(1)trade_type bank_type total_fee coupon_fee fee_type是 是 是 否String(16) String(16) Int Int否String(8)微信支付订单号 商户订单号 商家数据包 支付完成时间transaction_id out_trade_no attach time_end否 否 否 是String(32) String(32) String(128) String(14) 微信公众号支付接口文档为 GMT+8 beijing。该时间取 自微信支付服务器4.4.JSAPI 支付――H5 网页端调起支付接口在微信浏览器里面打开 H5 网页中执行 JS 调起支付。接口输入输出数据格式为 JSON。 注意:WeixinJSBridge 内置对象在其他浏览器中无效;列表中参数名区分大小。 getBrandWCPayRequest 参数以及返回值定义 字段名 公众号 id 时间戳 appId timeStamp 变量名 必填 是 是 类型 String(16) String(32) 说明 商户注册具有支付权限的公 众号成功后即可获得 商户生成,从 1970 年 1 月 1 日 00:00:00 至今的秒数, 即当前的时间,且最终需要 转换为字符串形式; 商户生成的随机字符串; 统 一 支 付 接 口 返 回 的 prepay_id 参数值, 提交格式 如:prepay_id=*** 按照文档中所示填入 MD5; 签名方式与其他接口中 sign 的生成方式一致, 详见第 3.2 节随机字符串 订单详情扩展字 符串 签名方式 签名nonceStr package是 是String(32) String(128)signType paySign是 是String(32) String(64)返回结果 字段名 err_msg 返回值 get_brand_wcpay_request:ok get_brand_wcpay_request:cancel get_brand_wcpay_request:fail 支付成功 支付过程中用户取消 支付失败 说明注:JS API 的返回结果 get_brand_wcpay_request:ok 仅在用户成功完成支付时返回。由 于前端交互复杂,get_brand_wcpay_request:cancel 或者 get_brand_wcpay_request:fail 可以统 一处理为用户遇到错误或者主动放弃,不必细化区分。 示例代码如下: WeixinJSBridge.invoke('getBrandWCPayRequest',{ 微信公众号支付接口文档&appId& : &wx0ec43b&, &timeStamp&:& &,//公众号名称,由商户传入 //时间戳,自 1970 年以来的秒数&nonceStr& : &e61463f8efacccfbbb444&, //随机串 &package& : &prepay_id=u802345jgfjsdfgsdg888&, &signType& : &MD5&, //微信签名方式:&paySign& : &70EABB79628FBCAFADD89& //微信签名 },function(res){ if(res.err_msg == &get_brand_wcpay_request:ok& ) {} // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg 将在用户支付成功后返 回 ok,但并不保证它绝对可靠。 });4.5.Native 支付――二维码链接模式一:静态链接 weixin://wxpay/bizpayurl?sign=XXXXX&appid=XXXXX&mch_id=XXXXX&product_id= XXXXXX&time_stamp=XXXXXX&nonce_str=XXXXX 其中 XXXXX 为商户需要填写的内容,将该链接生成二维码,如需要打印发布静态的 二维码,采用此格式。 参数列表: 字段名 公众账号 ID 商户号 变量名 appid mch_id 必填 是 是 类型 String(32) String(32) 说明 微信分配的公众账号 ID 微信支付分配的商户号 商户生成从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当 前的时间,且最终需要转换为 字符串形式; 随机字符串; 商户需要定义并维护自己的 商品 id,这个 id 与一张订单 等价,微信后台凭借该 id 通 过 POST 商户后台获取交易必 须信息;传此参数必须在申请时间戳time_stamp是String(10)随机字符串nonce_str是String(32)商品 IDproduct_id是String(32) 微信公众号支付接口文档的时候配置了 Package 请求回 调地址; 签名 sign 是 String(32) 签名,详细签名方法见 3.2 节模式二:动态 Native 支付 调用统一支付接口后会返回 code_url,直接使用返回的参数值生成二维码,该模式主要 用于订单动态生成后将二维码显示在屏幕,用户扫描后支付(目前该模式只支持单个用户扫 描支付,扫描后不支付需要重新调用统一支付接口)。4.6.Native 支付――请求商家获取商品信息接口模式一下请求商户订单信息,微信会主动调用。用户扫码后,微信主动调用把下列信息 发送到该链接, 商户在返回前先调用统一支付接口, 提交订单后返回 prepayid, 再将 prepayid 返回给微信。注意:接收该信息前需要先验证签名。 微信请求商户链接参数: 字段名 公众账号 ID 用户标识 商户号 是否关注公众 号 随机字符串 变量名 appid openid mch_id is_subscribe nonce_str 必填 是 是 是 是 是 类型 String(32) String(128) String(32) String(1) String(32) 说明 微信分配的公众账号 ID 用户在商户 appid 下的唯一标 识 微信支付分配的商户号 用户是否关注公众账号,Y-关 注,N-未关注 随机字符串; 商户需要定义并维护自己的 商品 id,这个 id 与一张订单 等价,微信后台凭借该 id 通 过 POST 商户后台获取交易必 须信息; 签名,详细签名方法见 3.2 节 说明 SUCCESS/FAIL 返回信息,如非空,为错误原 因 签名失败 参数格式校验错误商品 IDproduct_id是String(32)签名 字段名 返回状态码 返回信息sign 变量名 return_code return_msg是 必填 是 否String(32) 类型 String(16) String(128)商户返回微信的结果: 微信公众号支付接口文档以下字段在 return_code 为 SUCCESS 的时候有返回 公众账号 ID 商户号 随机字符串 预支付 ID 业务结果 错误描述 appid mch_id nonce_str prepay_id result_code err_code_des 是 是 是 是 是 否 String(32) String(32) String(32) String(64) String(16) String(128) 微信分配的公众账号 ID 微信支付分配的商户号 随机字符串; 调用统一支付接口生成的预 支付 ID SUCCESS/FAIL 当 result_code 为 FAIL 时,返 回错误信息,微信直接展示给 用户,例如:订单过期,无效 订单等 签名,详细签名方法见 3.2 节签名sign是String(32)4.7 关闭订单接口接口链接:https://api.mch./pay/closeorder 当订单支付失败,调用关单接口后用新订单号重新发起支付,如果关单失败,返回已完 成支付请按正常支付处理。 如果出现银行掉单, 调用关单成功后, 微信后台会主动发起退款。 请求参数: 字段名 公众账号 ID 商户号 商户订单号 随机字符串 签名 变量名 appid mch_id out_trade_no nonce_str sign 必填 是 是 否 是 是 类型 String(32) String(32) String(32) String(32) String(32) 说明 微信分配的公众账号 ID 微信支付分配的商户号 商户系统内部的订单号 随机字符串,不长于 32 位 签名,详细签名方法见 3.2 节同步返回结果: 字段名 返回状态码 返回信息 变量名 return_code return_msg 必填 是 否 类型 String(16) String(128) 说明 SUCCESS/FAIL 返回信息,如非空,为错误 原因 签名失败 参数格式校验错误 微信分配的公众账号 ID 微信支付分配的商户号 随机字符串,不长于 32 位以下字段在 return_code 为 SUCCESS 的时候有返回 公众账号 ID 商户号 随机字符串 appid mch_id nonce_str 是 是 是 String(32) String(32) String(32) 微信公众号支付接口文档签名 业务结果sign result_code是 是String(32) String(16)签名,详细签名方法见 3.2 节 SUCCESS/FAIL SUCCESS 表示关单成功, 此笔 订单不能再发起支付; FAIL 其它表示关单接口异 常,可再次发起关单操作 错误列表详见第 6 节 结果信息描述错误代码 错误代码描述err_code err_code_des否 否String(32) String(128)4.8.退款申请接口接口链接:https://api.mch./secapi/pay/refund 请求需要双向证书,需先在商户后台添加操作员。 注意: 1.交易时间超过 1 年的订单无法提交退款; 2.支持部分退款,部分退需要设置相同的订单号和不同的 out_refund_no。一笔退款失 败后重新提交,要采用原来的 out_refund_no。总退款金额不能超过用户实际支付金额。 请求参数: 字段名 公众账号 ID 商户号 设备号 随机字符串 签名 微信订单号 变量名 appid mch_id device_info nonce_str sign transaction_id 必填 是 是 否 是 是 否 是 类型 String(32) String(32) String(32) String(32) String(32) String(28) String(32) 说明 微信分配的公众账号 ID 微信支付分配的商户号 微信支付分配的终端设备号, 与下单一致 随机字符串,不长于 32 位 签名,详细签名方法见 3.2 节 微信订单号 商户系统内部的订单号, transaction_id 、 out_trade_no 二选一, 如果同 时 存 在 优 先 级 : transaction_id& out_trade_no 商户系统内部的退款单号,商 户系统内部唯一,同一退款单 号多次请求只退一笔 订单总金额,单位为分商户订单号out_trade_no是 商户退款单号 总金额 out_refund_no total_fee 是String(32)Int 微信公众号支付接口文档退款金额 操作员refund_fee op_user_id是 是Int String(32)退款总金额, 单位为分,可以做 部分退款 操作员帐号, 默认为商户号退款返回结果: 字段名 返回状态码 返回信息 变量名 return_code return_msg 必填 是 否 类型 String(16) String(128) 说明 SUCCESS/FAIL 返回信息,如非空,为错误 原因 签名失败 参数格式校验错误 SUCCESS/FAIL SUCCESS 退款申请接收成功, 结果通过退款查询接口查询 FAIL 错误码详见第 6 节 结果信息描述 微信分配的公众账号 ID 微信支付分配的商户号 微信支付分配的终端设备 号,与下单一致 随机字符串,不长于 32 位 签名,详细签名方法见 3.2 节 微信订单号 商户系统内部的订单号 商户退款单号 微信退款单号 ORIGINAL―原路退款,默认 BALANCE―退回到余额 退款总金额,单位为分,可以 做部分退款 现 金 券 退 款 金 额 &= 退 款 金 额,退款金额-现金券退款金 额为现金以下字段在 return_code 为 SUCCESS 的时候有返回 业务结果 result_code 是 String(16)错误代码 错误代码描述 公众账号 ID 商户号 设备号 随机字符串 签名 微信订单号 商户订单号 商户退款单号 微信退款单号 退款渠道 退款金额err_code err_code_des appid mch_id device_info nonce_str sign transaction_id out_trade_no out_refund_no refund_id refund_channel refund_fee否 否 是 是 否 是 是 是 是 是 是 否 是 否String(32) String(128) String(32) String(32) String(32) String(32) String(32) String(28) String(32) String(32) String(28) String(16) Int Int现金券退款金额coupon_refund_fe e4.9.退款查询接口接口链接:https://api.mch./pay/refundquery 提交退款申请后,通过调用该接口查询退款状态。退款有一定延时,用零钱支付的退款 微信公众号支付接口文档20 分钟内到账,银行卡支付的退款 3 个工作日后重新查询退款状态。 请求参数: 字段名 公众账号 ID 商户号 设备号 随机字符串 签名 微信订单号 商户订单号 商户退款单号 变量名 appid mch_id device_info nonce_str sign transaction_id out_trade_no out_refund_no 必填 是 是 否 是 是 否 否 否 否 类型 String(32) String(32) String(32) String(32) String(32) String(28) String(32) String(32) String(28) 说明 微信分配的公众账号 ID 微信支付分配的商户号 微信支付分配的终端设备号 随机字符串,不长于 32 位 签名,详细签名方法见 3.2 节 微信订单号 商户系统内部的订单号 商户退款单号 微信退款单号 refund_id、out_refund_no、 out_trade_no 、 transaction_id 四个参数必 填一个,如果同事存在优先级 为: refund_id&out_refund_no&t ransaction_id&out_trade_n o微信退款单号refund_id退款查询同步返回结果: 字段名 返回状态码 返回信息 变量名 return_code return_msg 必填 是 否 类型 String(16) String(128) 说明 SUCCESS/FAIL 返回信息,如非空,为错误 原因 签名失败 参数格式校验错误 SUCCESS/FAIL SUCCESS 退款申请接收成功, 结果通过退款查询接口查询 FAIL 错误码详见第 6 节 结果信息描述 微信分配的公众账号 ID 微信支付分配的商户号 微信支付分配的终端设备 号,与下单一致 随机字符串,不长于 32 位 签名以下字段在 return_code 为 SUCCESS 的时候有返回 业务结果 result_code 是 String(16)错误代码 错误代码描述 公众账号 ID 商户号 设备号 随机字符串 签名err_code err_code_des appid mch_id device_info nonce_str sign否 否 是 是 否 是 是String(32) String(128) String(32) String(32) String(32) String(32) String(32) 微信公众号支付接口文档微信订单号 商户订单号 退款笔数 商户退款单号 微信退款单号 退款渠道 退款金额transaction_id out_trade_no refund_count out_refund_no_$n refund_id_$n refund_channel_$n refund_fee_$n是 是 是 是 是 否 是 否String(28) String(32) Int String(32) String(28) String(16) Int Int微信订单号 商户系统内部的订单号 退款记录数 商户退款单号 微信退款单号 ORIGINAL―原路退款 BALANCE―退回到余额 退款总金额 , 单位为分 , 可以 做部分退款 现 金 券 退 款 金 额 &= 退 款 金 额,退款金额-现金券退款金 额为现金 退款状态: SUCCES―退款成功 FAIL―退款失败 PROCESSING―退款处理中 NOTSURE―未确定,需要商户 原退款单号重新发起 CHANGE―转入代发,退款到 银行发现用户的卡作废或者 冻结了,导致原路退款银行 卡失败,资金回流到商户的 现金帐号,需要商户人工干 预,通过线下或者财付通转 账的方式进行退款。现金券退款金额coupon_refund_fe e_$n是String(16)退款状态refund_status_$n$n 表示记录的序号,取值为 0~($ refund_count -1),例如 refund_count 指示返回的退款记 录有 2 条。第一条序号为“0”,第二条序号为“1”。4.10.对账单接口接口链接:https://api.mch./pay/downloadbill 商户可以通过该接口下载历史交易清单。某些情况,比如掉单、交易错误,导致商户侧 和微信侧数据不一致,通过对账单核对后可校正支付状态。 注意: 1.微信侧未成功下单的交易不会出现在对账单中。 支付成功后撤销的交易会出现在对账 单中,跟原支付单订单号一致,bill_type 为 REVOKED; 2.微信在次日 9 点启动生成前一天的对账单,建议商户 9 点半后再获取; 微信公众号支付接口文档3.对账单中涉及金额的字段单位为“元” 。 请求参数: 字段名 公众账号 ID 商户号 设备号 变量名 appid mch_id device_info 必填 是 是 否 类型 String(32) String(32) String(32) 说明 微信分配的公众账号 ID 微信支付分配的商户号 微信支付分配的终端设备号, 填写此字段,只下载该设备号 的对账单 随机字符串,不长于 32 位 签名,详细签名方法见 2.2 节 下载对账单的日期,格式:
ALL,返回当日所有订单信息, 默认值 SUCCESS,返回当日成功支付 的订单 REFUND,返回当日退款订单随机字符串 签名 对账单日起nonce_str sign bill_date是 是 是 否String(32) String(32) String(8) String(8)账单类型bill_type同步返回结果: 失败时,返回以下字段 字段名 返回状态码 返回信息 变量名 return_code return_msg 必填 是 否 类型 String(16) String(128) FAIL 返回信息,如非空,为错误 原因 签名失败 参数格式校验错误 该日期订单未生成 说明成功时,数据以文本表格的方式返回,第一行为表头,后面各行为对应的字段内容,字 段内容跟查询订单或退款结果一致,具体字段说明可查阅相应接口。 第一行为表头,根据请求下载的对账单类型不同而不同(由 bill_type 决定), 目前有: 当日所有订单 交易时间,公众账号 ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识, 交易类型,交易状态,付款银行,货币种类,总金额,现金券金额, 微信退款单号 ,商户退 款单号,退款金额,现金券退款金额,退款类型,退款状态,商品名称,商户数据包,手续费, 费率 当日成功支付的订单 微信公众号支付接口文档交易时间,公众账号 ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识, 交易类型,交易状态,付款银行,货币种类,总金额,现金券金额,商品名称,商户数据包, 手续费,费率 当日退款的订单 交易时间,公众账号 ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识, 交易类型,交易状态,付款银行,货币种类,总金额,现金券金额,退款申请时间,退款成功 时间, 微信退款单号,商户退款单号,退款金额,现金券退款金额,退款类型,退款状态, 商品名称,商户数据包,手续费,费率从第二行起,为数据记录,各参数以逗号分隔,参数前增加`符号,为标准键盘 1 左边 键的字符,字段顺序与表头一致。倒数第二行为订单统计标题,最后一行为统计数据 总交易单数,总交易额,总退款金额,总现金券退款金额,手续费总金额4.11.短链接转换接口接口链接: https://api.mch./tools/shorturl 该 接 口 主 要 用 于 Native 支 付 模 式 一 中 的 二 维 码 链 接 转 成 短 链 接 (weixin://wxpay/s/XXXXXX),减小二维码数据量,提升扫描速度。 请求参数: 字段名 公众账号 ID 商户号 URL 链接 随机字符串 签名 变量名 appid mch_id long_url nonce_str sign 必填 是 是 是 是 是 类型 String(32) String(32) String(512) String(32) String(32) 说明 微信分配的公众账号 ID 微信支付分配的商户号 需要转换的 URL, 签名用原串, 传输需 URL encode 随机字符串,不长于 32 位 签名同步返回结果: 字段名 返回状态码 返回信息 变量名 return_code return_msg 必填 是 否 类型 String(16) String(128) 说明 SUCCESS/FAIL 返回信息,如非空,为错误 原因 签名失败 微信公众号支付接口文档参数格式校验错误 以下字段在 return_code 为 SUCCESS 的时候有返回 公众账号 ID 商户号 随机字符串 签名 业务结果 错误代码 appid mch_id nonce_str sign result_code err_code 是 是 是 是 是 否 String(32) String(32) String(32) String(32) String(16) String(32) 微信分配的公众账号 ID 微信支付分配的商户号 随机字符串,不长于 32 位 签名 SUCCESS/FAIL SYSTEMERROR―系统错误 URLFORMATERROR―URL 格 式 错误 转换后的 URLURL 链接short_url是String(64)4.12.接口调用上报接口URL 地址:https://api.mch./payitil/report 支付接口调用监控上报接口, 主要完成商户系统调用微信支付接口返回错误和延时等信 息反馈给微信后台。 请求参数: 字段名 公众账号 ID 商户号 设备号 随机字符串 签名 接口 URL appid mch_id device_info nonce_str sign interface_url 变量名 必填 否 是 否 是 是 是 类型 String(32) String(32) String(32) String(32) String(32) String(127) 说明 微信分配的公众账号 ID 微信支付分配的商户号 微信支付分配的终端设备号 随机字符串,不长于 32 位 签名,详细签名方法见 3.2 节 上报对应的接口的完整 URL, 类似: https://api.mch.weixin./pay/unifiedorder 接口耗时情况,单位为毫秒 SUCCESS/FAIL 此字段是通信标识。 返回信息,如非空,为错误 原因 SUCCESS/FAIL 此字段是业务返回结果。 结果信息描述 商户系统内部的订单号 , 商 户可以在上报时提供相关商接口耗时 返回状态码 返回信息 业务结果 错误代码 错误代码描述 商户订单号execute_time_ return_code return_msg result_code err_code err_code_des out_trade_no是 是 否 是 否 否 否Int String(16) String(128) String(16) String(32) String(128) String(32) 微信公众号支付接口文档户订单号方便微信支付更好 的提高服务质量。 访问接口 IP 商户上报时间 user_ip time 是 否 String(16) String(14) 发起接口调用时的机器 IP 商户调用该接口时商户自己 系 统 的 时 间 , 格 式 为 yyyyMMddHHmmss,如 2009 年 12 月 27 日 9 点 10 分 10 秒表 示为 10。时区 为 GMT+8 beijing。该时间取 自商户服务器返回参数: 字段名 返回状态码 变量名 return_code 必填 是 类型 String(16) 说明 SUCCESS/FAIL 此字段是通信标识,非交易 标识,交易是否成功需要查 看 result_code 来判断 返回信息,如非空,为错误 原因 签名失败 参数格式校验错误 SUCCESS/FAIL 结果信息描述返回信息return_msg否String(128)以下字段在 return_code 为 SUCCESS 的时候有返回 业务结果 错误代码 错误代码描述 result_code err_code err_code_des 是 否 否 String(16) String(32) String(128)5.企业红包使用说明5.1 创建批次企业红包商户需要使用该功能,请先登录商户系统(地址:https://pay.)建新批次。注 意: 【商品标识】字段对应被扫支付接口中的参数 goods_tag,该值配置为空时,提交支付接 口不需要传 goods_tag 字段;多个批次使用相同的商品标识,则扣款时会使用有效的批次企 业红包(使用企业红包金额小于订单金额)。 微信公众号支付接口文档5.2 提交支付使用企业红包被扫支付 API 中提交 goods_tag 参数值为 5.1 节中配置的 【商品标识】 , 微信后台会判断, 如果存在有效代金券即交易符合代金券扣减规则, 用户实际支付金额=总扣款-有效企业红包 金额。5.3 查询使用企业红包金额被扫支付扣款成功或查询接口会返回用户使用企业红包金额。 接口返回字段 coupon_fee 为使用企业红包金额,total_fee 为订单总金额,用户实际支付金额=total_fee-coupon_fee,商 户如需提供发票给用户,发票额与用户实际支付金额相等。5.4 企业红包对账单对账单中有企业红包金额字段和订单总金额, 用于对账。 后续会提供查询某个用户订单 使用对应的批次的对账单。6.错误码列表错误码 SYSTEMERROR INVALID_TRANSACTIONID PARAM_ERROR ORDERPAID OUT_TRADE_NO_USED NOAUTH NOTENOUGH NOTSUPORTCARD ORDERCLOSED BANKERROR REFUND_FEE_INVALID ORDERNOTEXIST 错误描述 接口后台错误 无效 transaction_id 提交参数错误 订单已支付 商户订单号重复 商户无权限 余额不足 不支持卡类型 订单已关闭 银行系统异常 退款金额大于支付金额 订单不存在 Y Y 支付 Y Y Y Y Y Y Y Y Y Y Y Y Y 查单 Y Y Y 关单 Y Y Y Y 退款 Y Y Y 退款 查询 Y Y Y 微信公众号支付接口文档7.常见问题和注意事项7.1.常见基本概念疑惑(1) 还没拿到正式号,如何调试测试?答:只有在“商户功能”审核通过以后,收到了微信和财付通的相关邮件,才可以进行 开发。 (2) 支付授权目录如何使用?答:支付授权目录是支付功能正式上线后,商户后台发起支付请求的页面所在的目录。 这个目录在注册填写时,需要精确到最细一级的目录,且在使用时,目录名称后直接加 文件名,不可再增加 or 删减目录。 举例:发起请求的页面 url 为 /weixin/pay/payment.php?XXXXX,则 填写的目录应该为 /weixin/pay/。 (3) 支付测试目录和支付授权目录?答:支付授权目录将会在产品上线审核时,以及上线后长期使用的正式目录。支付测试 目录是提供给开发者, 在开发测试期间使用的临时目录。 这两个目录都是发起支付请求 的页面文件所在的位置。7.2.常见错误现象及解决方法(1) 点击支付按钮,调用 JS API 没反应?答:尝试发起支付的页面 url,不在支付授权目录下,请检查 url 与支付授权目录是否对 应。 (2) 点击支付按钮,提示“access_not_allow” 微信公众号支付接口文档答:参与测试人员的微信号没有在白名单中,将测试用户加入白名单。操作在 “mp.――微信支付――支付测试” 。 (3) 点击支付按钮,提示“access_denied”答:尝试发起支付的页面 url,不在支付授权目录下,请检查 url 与支付授权目录是否对 应。 (4) 点击支付页面链接后,没有反应?答:在开发调试阶段,测试链接需要在公众号内点击打开。操作方法可以是:白名单用 户在公众号内向公众号发一条消息,消息内容即为测试链接,然后点击打开。 (5) 点击支付按钮,提示“当前公众号没有权限支付本次交易”答: 请确认使用的 APPID 是否正确, 确认在 MP 平台前三项审核结果均为 “审核通过” 。 (6) 点击支付按钮,提示“众账号支付使用了无效的商户号,无法发起该笔交易”答:请检查是否使用了正确的商户号,确认 MP 平台前三项审核结果均为“审核通过” 。 (7) 点击支付按钮,提示“该公众号支付签名无效,无法发起该笔交易”答:调起支付的签名错误,请检查相关签名。 (8) 用户成功支付,点击“完成”,又再次跳转至输入密码页面,仍可支付并二次扣费答:用户在商户的 H5 页面点击了两次“微信支付” ,生成了两笔订单,需要在 H5 页面 微信支付按钮上增加防二次点击的机制。 (9) Notify url 无法接收通知答:需要外网地址,直接打开 Notify url 正常,否则需要商户自己检查错误,同时注意 不要被防火墙拦截。7.3.常见注意事项(1) 参数大小写问题 微信公众号支付接口文档请留意文档中要求的字符大小写问题,如“md5 运算后,字符串的字符要转换为大写” 。 (2) 参数格式问题所有传入参数,均为字符串类型,请注意文档中各处的具体要求。 (3) 时间戳问题请使用 Linux 时间戳,注意为字符串格式。精确到秒,不需要到毫秒,即 10 位数字。 (4) 同一商户订单号支付问题商户的 out trade no 必须全局唯一,调试和生产环境,都需要使用唯一的订单号。注意: 当商户的同一个商户号绑定了公众号支付、小额刷卡、APP 支付也需要加标识来区分, 不能出现重复。当发起支付返回失败时,一定要用原订单的 out trade no 而不能重新生 成新的订单号发起支付,避免同一单重复支付。7.4.联系我们获取最新文档和支付体验,请关注公众号:WXPayService ”微信支付商户通”。
更多搜索:
All rights reserved Powered by
文档资料库内容来自网络,如有侵犯请联系客服。

我要回帖

更多关于 扫地机器人放在哪里 的文章

 

随机推荐