微信支付的基本情况如何?知晓程序(微信号)

2024-03-29
来源:网络整理

微信支付于2013年正式发布,一路走来,爱范儿作为内测开发团队的一员,明显感觉到微信支付接口的稳定性有了质的提升,并为支付配备了相应的接口——相关场景。

微信小程序的发布附带了微信支付模块。 这个模块的使用如何? 认知计划(微信ID)现在就告诉你。

业务流程

我们先来了解一下微信支付的一些基本信息。

微信支付有以下几种支付方式:

各种支付交互流程可以通过微信支付文档查看,这里不再详细描述。

关注微信ID并回复“支付文档”即可获取微信支付文档原始链接。

1. 发起支付

所有支付方式均需通过“统一订单”API获取支付凭证。

但小程序内部测试时,并没有“统一点餐”的概念。 HTML 5应用发起的支付需要通过前端构造参数直接发起(无需后端验证),很容易造成支付凭证泄露等安全问题。

为此,微信支付优化了流程:将“统一下单”功能插入到所有支付场景中。 建议开发者在后台完成支付参数等行为的构建。

此次优化带来以下好处:

通过“统一下单”获取相应或其他参数后,您可以通过各种支付方式的SDK发起微信支付。

2. 收到付款结果

微信支付发起后,微信还需要提供通知系统,让应用程序及时获知用户已完成支付,并进行下一步的业务操作。

通知方式为POST请求,包含支付状态信息和支付订单信息。

需要注意的是,为了保证安全,必须对通知参数进行签名验证。

进行签名验证时,除了签名字段(通用参数名称:sign)不需要参与签名外,其他接收到的参数都需要参与签名。

3、外围接口

通过“支付发起”和“支付结果接收”,就可以完成一个简单的微信支付系统。 当然,微信还提供了以下接口:

具体使用方式,您可以参考微信支付文档,根据自己的业务情况适当采用。

绊脚石

嗯,是的,我们曾经吃过螃蟹。

当小程序刚刚内测时,我们决定使用微信支付模块。 毕竟我们要实现的是一个电子商务应用(没有支付电子商务就什么都不是)。

关注微信回复“电商”即可获取电商小程序开发教程。

在开发过程中,我们陷入了一些陷阱。

1、付款凭证

小程序的微信支付需要单独申请,因为小程序是独立的,不能使用以前的支付账户。

微信小程序微信支付功能_微信小程序支付功能_微信支付程序功能小程序在哪

即使全网发布,也做不到,因为小程序不是HTML 5应用程序。

2.统一订单参数

统一下单时需要注意设置为 ,并且需要使用与小程序关联的订单。

3、签名方式

MD5! MD5! MD5!

微信公开文档有很多SHA1和MD5签名要求。 微信支付相关签名目前使用MD5。

小程序发起微信支付时,有以下几种方式发起:

根据微信文档签名的要求,签名涉及的字段应该是:

好的,根据签名算法得到的签名,我尝试发起支付,但实际上失败了。

与微信对接人员沟通后,签名涉及到的字段还是需要补充,哦,不,是的(请注意骆驼案的情况)。

我对这个结果很不满意,然后翻遍了所有的微信支付文档,终于在微信文档里找到了一行注释。

备注:通过微信支付统一点餐接口获取,采用微信支付统一Sign签名生成方式。 注意,这里还需要签名,与传入的一致,即最终参与签名的参数为,,,,。

都怪我吧(黑色问号)……

4. 类型

上面已经贴出了小程序中发起微信支付的方法,但是并没有那么简单。 继续发布文档。

时间戳是自 1970 年 1 月 1 日 00:00:00(即当前时间)以来的秒数。

文档告诉我们应该传入 int 类型。 我们前端同学就这么做了,然后过来骂我。

是不是你的后台参数有问题? 提示不再存在?

经查,传入的值类型应该是。

结论

一般来说,小程序接入微信支付比较简单,不需要太多复杂的设置。

之前开发过微信支付后端的开发者也可以复用相同的支付模块。

微信文档编写不严谨,严重降低了开发的舒适度。 相信随着时间的推移,文档会逐渐完善,毕竟以前也是这样。

本文作者是邓约翰。 转载前请联系我们并获得授权。

本文由原创制作。 关注微信ID并回复“第一期”,查看本周最值得关注的100个小程序。

分享