小程序模板网

[经验]跳坑《一百二十三》微信支付(微信小程序支付)

特别说明:小程序仅支持微信支付;而微信支付需要认证后才可以使用,需要花费300元认证费用;

官方说明:
微信支付的调试
最新版本的开发者工具已经支持微信支付的调试,但是为了兼顾到安全,同手机上直接调用微信支付有所不同。
  • 新绑定的开发者需要 24 小时后才有权限进行微信支付的调试
  • 开发者在工具上调用微信支付的 API 后,开发工具会出现一个二维码,开发者必须使用当前开发所使用的微信号扫码后在手机上完成支付的流程
  • 工具会同步移动端微信支付的回包到工具中,开发者自行进行后续的操作


本帖,将补充原跳坑指南,原贴地址:跳坑《四十七》微信小程序支付(微信支付签名错误)

本帖作为新贴,将不断聚合最新的相关知识,新的相关讨论将更新在这个新贴内;

相关文章:微信支付系列教程:http://www.wxapp-union.com/portal.php?mod=list&catid=19

@hongweicao :小程序支付基本流程

相关demo/SDK:
微信小程序完整demo:搭伴拼团(PHP):微信支付,客服消息
微信小程序demo:微信支付后端demo(java)
微信小程序demo:金盆洗脚城;node后端,微信登录,微信支付
LeanCloud 小程序微信支付后端示例
微信小程序demo:赞赏,支付、登录、会话管理,使用nami后端
微信开放平台和微信支付 Java SDK
https://github.com/magic007/wechatAppDemo(BmobSDK)

相关视频:
高级API视频:微信支付,模板消息,客服会话,获取openid


相关讨论:
一个开发中的关键点:虚拟支付及虚拟交易,电商与非电商
特别说明:开通微信支付,需要了解一下虚拟交易及服务的区别

errcode":41028,"errmsg":"invalid form id hint:

小程序这边做抢红包,怎么把钱支付给用户,可以直接调公众号那边的api?

Q:请问小程序里微信支付可以实现找人代付吗?
A:目前不能。
Q:理财类产品(p2p),在小程序里可以正常交易吗?
A:从审核角度,只要你是有合规资质进行p2p业务,并且申请了支付功能,是可以交易的。
Q:小程序不支持虚拟物品支付  虚拟物品是指什么啊 我看分答小程序提问需要10块钱可以微信支付啊 这个不属于虚拟物品吗?
A:要看看你的小程序具体是做什么业务的。
  比如分答,如果是10块钱提问,有人回答,获得相应报酬,这是可以的。但如果这个答案,其他人可以花1元或者其他任意金额来听。那这个花钱听答案的服务,就算是虚拟支付了。
Q:一些接口的回调IOS和Android不一致
     例如支付接口,用户取消支付后,ios只回调complete方法,android则回调fail方法,官方文档也没有任何回调说明,造成开发很困难
     类似的还有图片选择接口,分享接口等等。
A:支付接口,用户取消支付后,ios只回调complete方法,android则回调fail方法,问题已记录,多谢反馈。
Q:如果是支付给子商户,调用接口跟之前web开发的用法是一样的还是怎么做?
A:目前暂不支持支付给子商户。
Q:我调用小程序的微信支付api,一直报签名验证错误,参与签名的参数有timeStamp、nonceStr、package、signType。使用微信支付签名校验工具生成的签名跟我自己服务器生成的签名是一样的,但还是报签名错误。
A:appId不需要传入支付api,但是需要参与签名。
 
 
相关讨论:
微信小程序,微信支付,
微信小程序,微信支付,在编译器能正常支付,但是在手机上预览时,就不能掉起支付那个界面,在获取openid时提示fail url not in domain list
你在模拟器上应该是勾选了 开发环境不校验请求域名,在真机上必须校验,可以到后台添加你的可信域名




相关讨论:
小程序开发,统一下单的时候返回错误:“您没有原生支付权限
我的小程序已经开通了微信支付,调用统一下单的时候出现“您没有原生支付权限”的错误信息,请问是哪里还有开关没打开吗?
已解决,可以关闭了。是这边设置的问题,trade_type 用 JSAPI 就好了。




相关讨论:
微信小程序的云服务器需要备案,我如果备案成个人的 对于支付申请有影响吗 微信小程序的云服务器需要备案,我如果备案成个人的 对于小程序申请微信支付申请有影响吗 ps:我的微信小程序已经在微信公众平台上通过公司注册好了
并不是很清楚LZ的问题,请问你是指 对腾讯云服务器的域名进行备案,是否会影响小程序申请微信支付权限 么?如果是的话,答案是 没有影响



相关讨论:
微信小程序怎么调用统一下单接口?
请问哪里有微信小程序调用微信支付平台统一下单接口(https://api.mch.weixin.qq.com/pay/unifiedorder)的文档?
对,构造POST请求调用微信支付统一下单接口时,类型必须是JSAPI。

至于是否支持子商户这一点就不清楚了




相关讨论:
微信支付后,使用prepay_id发送模板消息,一直提示错误41028
prepay_id 形如 wx2017030805 开头的字符串,之前测试表单的formid是可以的,不知道为什么换成prepay却不正确?
表单的模板消息和支付的模板消息还需要设置其他什么属性吗?、
环境是在开发工具中做的微信支付,在第一次统一下单后存储了prepay_id。
这里应该是文档没有说明的问题:
工具上虽然能够获得prepay_id,但是该 id 是无效的,必须在真机上获得的 prepay_id 才能正常下发消息
使用真机下单然后获取 id 重新试一下发送模板消息,应该就没问题了


 

相关讨论:
小程序调用微信支付返回错误 “调用支付JSAPI缺少参数:total_fee”wx.requestPayment(OBJECT)调用这个方法发起微信支付,返回“调用支付JSAPI缺少参数:total_fee”这个错误,但是我的统一下单已经成功了,而且这个方法的入参也没有total_fee这个参数
 
wx.requestPayment中package参数必须是package:"prepay_id=wx21**************",不然,会出现调用支付JSAPI缺少appid/total_fee参考:http://www.wxapp-union.com/portal.php?mod=view&aid=958



相关讨论:
能否使用现有公众号开通的微信支付 
因为已有公众号开通了微信支付,是否能够在小程序里面直接使用这个微信支付而不用为小程序开通微信支付?
微信支付是和微信支付商户号绑定的,有商户号就可以了




相关讨论:
小程序微信支付遇到的问题
在公众号里面进行微信支付时,需要设置支付目录,在小程序里面可以不设置吗?
不用的




相关讨论:

一直报微信支付签名错误 我之前微信公众号的支付都是成功的,用那一套代码做小程序的微信支付在统一下单时,就老是报微信支付签名错误了,三天了,实在找不到错误在哪了。有谁能够分享下心得吗,谢谢了!
已经好了,忘记填openid了




相关讨论:
微信支付问题
就是想知道,如果不通过公众平台或者小程序,也就是说不通过appid,能不能进行支付
不能




相关讨论:
这个package 里的 prepay_id 不是要先调取接口才能获取吗
是的
prepay_id通过统一下单接口获取,参考文档:https://pay.weixin.qq.com/wiki/d ... api.php?chapter=9_1




相关讨论:

订单状态在服务端改变怎么让客户端知道
在付款的商品页面可以根据requestpayment的返回设置支付状态,实际订单状态的改变是响应微信服务器的异步通知执行的,当用户去浏览订单列表时,这个状态就是更改过的了
在付款的商品页面可以根据requestpayment的返回设置当前商品客户端的支付状态(非真实订单状态),实际真实订单状态的改变是响应微信服务器的异步通知执行的,当用户去浏览订单列表时,这个状态就是更改过的了


像美团这种都有一个订单状态页,可以实时看到订单状态,比如商家一接单。订单状态就多出一行:商家已接单;这种肯定是没刷新的

这个可以用socket实现



相关讨论:

工具上模拟支付需要添加合法域名吗?
需要
支付必须合法且正确域名




相关讨论:
请问小程序可以主动给用户发红包么?
那怎样 才可以小程序主动给用户发红包呢   之前见过公众号主动给发红包的;就是有个场景我们需要奖励用户  给他们发红包  这个该怎么做到呢?
可以发,但要满足**90天且连续交易30天


持续交易30天,是说某个用户持续和小程序交易30天保证每天都有支付,才可以给他发红包?
不是,商户连续三十天收到任意款项即可开通红包和转账权限,可以用自己的号给自己付款嘛,这样就不难了


就是说 ,只要我开的商户连续30天收到钱了   就可以开通红包权限了?
是的,要再加上90个**日这个条件


相关讨论:

微信小程序支付中的notify_url字段测试阶段怎么填?
填自己的接受异步通知的地址


这个测试地址必须得是公网地址吗?
异步通知是微信发给你的接受地址,所以必须外网能访问


相关讨论:
微信支付的接口参数不用填写要支付的价格么
 
不需要   价格是后台提交给微信服务器的   然后换过来一个加密字符串    客户端用这个加密字符串就行了;
支付这里   后台的工作多一些    客户端只是等后台参数来了调一下接口而已。


微信支付的流程跟其他的第三方支付有些不同,支付宝等其他的支付都是讲支付参数提交过去的,或者调用sdk的时候传入参数。但是微信支付是先在服务器讲支付参数提交到统一下单api接口,拿到预支付id(prepay_id),然后将预支付id和签名等参数哪来调用支付接口即可。
微信会自己根据预支付id到微信自己的服务器查询这个订单的支付金额等信息,不在需要我们自己传入。


相关讨论:
有做过小程序的支付模块的嘛?这几个参数你们是怎么获得的?自己计算还是问后台要?
这个是需要后台交互的;
用后台交互有两个原因
1.支付的一些商户信息,不能暴露给客户端的
2.支付需要后台和微信支付服务做一个预支付申请
这个预支付申请,需要暴露支付成功的回调,商户id,客户端ip等信息给商户,还有就是一些数据加密,和参数xml组装,和数据交互在后台都是比较方便的。
同时,后台可能会根据这些做一些数据统计,记录什么的,比如多少人发起了支付,但是没有支付成功这样的日志记录,方便数据分析。

相关讨论:
支付接口要绑定微信号吗? 比如我想做A页面付款的,钱进A账户,  B页面付款的,钱进B账户,这个需求小程序能实现吗
我们是以前的公众号的商户号,所以,什么都没做,就直接绑定了;公司名字要一样

那就只能付给自己
是的 ,就是说小程序注册的公司要与微信支付的公司是同一家


易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/21895.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询