支付相关
- 公众号接入扫呗支付,需要提前在微信公众号官方后台申请开通微信支付吗?公众号的支付功能已经停用,还能接入扫呗支付吗?
微信官方公众号后台的支付渠道,与扫呗的微信支付渠道没有任何关系,微信公众号是否开通微信官方支付渠道不会影响扫呗支付接入。扫呗客户按照要求提供公众号的相关资料,并申请开立扫呗商户,由扫呗完成商户与公众号的绑定后,公众号即拥有了支付能力。
- 扫呗支付系统的交易通知我应该如何回应?
- return_code: 响应码:
01
成功,02
失败,类型:String,长度:2
- return_msg: 响应消息文本,例如
签名失败
,参数格式校验错误
等
收到交易通知应以json格式给我们返回:{"return_code":"01","return_msg":"success"}
返回以上参数即可。
- 请求签名验证失败是什么原因?
只有必传参数参与签名,且并在参数按要求的顺序(支付接口文档序,商户接口字典序)拼接成的字符串末尾追加令牌字符串,具体参见入门>接入指南第3.1节。
- 令牌的获取及失效问题
令牌分为两种,一种是商户接口令牌,一种是支付接口令牌。支付接口的令牌由专门的接口获取且只能获取一次,参见API>支付接口第1节,重复获取不会获得新令牌,非商户封停等特殊情况令牌将一直有效。商户接口的令牌由扫呗颁发,同样非商户封停等特殊情况令牌将一直有效。
- 支付授权目录配置了为什么还是不能发起支付?
支付授权目录的地址需要细化到最详细一级目录,例如调起JSAPI支付时页面URL是http://test.lcsw.cn/pay/unionpay/security.html
,则授权目录应该是http://test.lcsw.cn/pay/unionpay/
。支付授权目录的生效需要10分钟左右的时间。
- 支付成功的订单为什么在我们的后台看不到交易记录?
是因为用的测试账号,测试账号只用于调试接口使用,只能测试支付,并且测试数据库与生产数据库是分开的,清算和到账需要用生产环境账号才能查看。
- HTTP状态码400是什么错误?造成的原因是什么?
400是一种是HTTP状态码,400 Bad Request。是在打开网页时浏览器返回到客户端的一种状态码。——摘自百度百科。
通常是数据没传到我们的服务器,请求参数类型和接收参数类型不匹配,或者是参数名称不对也可能是参数传多了或者是少了。参数格式不正确时会导致交易无法入账,例如终端流水超过32位,支付金额中出现小数点等等。
- HTTP状态码415是什么错误?造成的原因是什么?
对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝。——摘自百度百科。
一般是要求post请求,但是发送的是get请求,或者是content_type没有设置为application/json,或者是数据格式不对。
- 怎么获取交易通知的参数,你们的通知频率是什么样的?
交易通知传过去的参数,客户通过流来读取,通知频率和微信的官方是一致的(15/15/30/180/......)。
- 返还给客户的二维码串是什么?
返还的二维码串是一个url地址。
- 获取到二维码链接后该如何处理?
获取到二维码的链接后,会自己生成二维码显示到页面上。
- 终端流水号填什么?是否可以根据流水号查相关支付信息?
终端流水号就是填写客户自己的订单号,可以根据自己的订单号来查询支付状态。
- 创建商户接口的图片为什么是String类型的?该怎么传?
参见API>商户接口第1节中对各图片参数的解释说明
- 一个商户最多只能有一个终端吗?
一个商户可以创建多个终端,每个终端都对应唯一的商户(商户可以切换终端看自己的业务)。
- 退款是否会扣手续费?
退款都为全额退款。
- 交易通知在校验签名的时候需要哪些参数?
交易通知返回的数据在校验签名的时候全部为必传。
- 用户发起了一笔交易,如果用户第一次支付失败,扫呗通知客户系统且客户系统已经返回return_code为
**01**
了,之后用户再次支付这一笔交易且支付成功,扫呗是否还会继续通知?
一笔订单支付失败之后就无法再次发起支付了,再次支付只能是重新创建的订单号。所以这种情况不会出现。
- 如何切换到富友支付通道?
独立商户创建完成之后的支付通道默认是自营通道,需要在后台手动切换到富友通道。
- 非必传参数是指什么?
必传参数是指创建完成所需要的必须参数(也就是指参与签名的参数),非比传参数携带用户的重要信息,所以创建的时候请根据需要(如费率按自己需要传递)尽量传送完整。而图片信息因为审核时需要。所以虽然是非必传参数,但还是一定要传。
- 图片传递参数是什么?
图片传递时候的参数是图片所在的地址,也就是访问图片的url。
- key_sign的签名方式是怎样的?
开放接口签名通常分为两种, 1.必传参数按照文档顺序拼接+令牌;2.传值参数非空字典序拼接+令牌。特殊情况见具体接口描述
支付类接口:100版本必传参数文档顺序拼接+access_token
110版本传值参数非空字典序拼接+access_token
商户类接口:传值参数非空字典序拼接+key
- terminal_trace不合法
请求参数中终端流水号terminal_trace没有传值,或者长度大于32位
- 必传字段出现空值!
请求参数中标记为Y的字段都必须传值
- 该条码暂不支持支付类型自动匹配
付款码auth_no必须为真实的付款方式条码,检查是否是商品码,前后有空格,或付款码多次拼接
终端信息不存在或已关闭!
1.检查传值的终端号terminal_id字段前后是否有空格,
2.后台终端管理开关是否打开
3.参数和环境不符,如:测试环境终端号(以3开头)请求到了生产环境;生产环境终端号(以1开头)请求到了测试环境
- 签名验证失败!
检查原始签名拼接字符串规则, 核实令牌是否正确(有空格或令牌错误)
- return_code和result_code区别
return_code仅作为通信状态的判断,result_code才是作为业务成功状态的判断依据
预支付失败sub_mch_id与sub_appid不匹配
1.APPID对应的主体商户,即注册时所填的注册名称,需要与商户在微信方获取该AppID的主体商户一致,即验证注册商户主体一致性。
2.接口没有传sub_appid时,默认使用后台配置的appid,检查后台的参数appid是否配置,可联系运营同事配置。
3.接口传sub_appid时,该appid是否对应主体商户创建,检查商户后台的通道关注配置appid是否一致,可联系运营同事配置。
- sub_appid and sub_openid not match
传入的open_id需要与开户时提交的微信公众号相匹配的appid获取来的,若用我司服务商方式,则openid需要通过我司接口来获取
- 回调是什么?有什么用?
回调就是客户提供一个客户自己的系统可以访问到的地址,然后获取我们推送给客户的参数来更新客户的支付状态。交易接口的回调,最后都要给我们返回数据,当返回给我们的数据为return_code=01时,我们的服务器便不会再发通知了
- 当前url未注册
支付授权目录没有配置,或者配置不正确(应配置到当前页面的上一级目录,以/结尾)
- 预支付成功后该怎样处理吗
预支付成功仅仅是预下单,还并没有发起支付,这时还需调用JS完成支付,见具体接口调JS文档
- 接收不到交易通知
交易通知是以POST方式JSON格式的参数通知的。
1.检查接收通知的地址是否正确,可以在浏览器中用在线posman发送一个json参数测试自己的地址
- https支持tls1.0 ,可用在线网站https://myssl.com/检测
商户相关
- 什么是大商户?
大商户主要用于公众号支付时候的授权配置。当多个商户需要使用同一个公众号的参数支付的时候,可以继承大商户的参数配置。大商户只起到继承的作用,不能支付。
- 独立商户和大商户、二级商户有什么区别?
独立商户创建的时候不需要继承任何商户,支付参数是独立的,每次创建都需要单独配置。二级商户的所有支付参数继承大商户。大商户只起到继承的作用,不能参与支付。
- 大商户如何查询所在商户的交易数据?
大商户无法登陆后台,因此不能直接查看该大商户下所有商户的交易记录,可以联系运营人员开通代理商,把相关商户(独立和二级都可以)挂在代理商下面,通过代理商后台查看所有与代理商关联的商户的交易记录。
- 哪些商户可以登录后台?
代理商,二级商户,独立商户可以登录后台,大商户无法登陆后台。
- 公众号支付的时候公司名称和账号主体必须保持一致么?
公众号的账号主体必须和注册商户时候的公司名称一致,所以创建商户时候注意公司名称的准确性,否则无法配置授权目录。