App集成支付功能

App集成支付功能,第1张

一、场景

由于App 是从flutter 转基于webview 的混合开发方式, 业务发展需要,需要集成微信支付和支付宝支付功能。

二、集成

1、微信开放平台文档阅读

微信开放文档

刚开始以为只需要单独阅读 微信支付 部分, 在了解的过程中发现其中提到的很多东西由于自己没有去从头开始处理,导致无法确认其来源在哪里(比如签名),于是会产生很多疑惑。另外就是微信开放平台上面提供的sample 十分老旧,安卓端的功能和文档对不上,苹果端的demo直接用最新xcode打开后,工程结构都有问题,这样就给开发者带来更多的困扰了。
微信开放文档微信开发者平台文档https://developers.weixin.qq.com/doc/oplatform/Downloads/Android_Resource.html

 

当然最终集成的时候确认,预支付订单生产以及参与签名的参数为:appid、partnerid、prepayid、package、noncestr、timestamp 进行签名都是由后台完成的。

安卓端的适配:

 微信支付的安卓端是需要签名后才能正常调试使用的,不管是debug版本还是release 版本,这个尤其需要注意:

总之微信开放平台接入的文档说明逻辑太过于零碎了,如果在集成的过程中有问题,需要一点一点地去核对猜想,有可能文档的编写者也是这种想到一点写一点的这种思路吧。

苹果端比较费时的事情是在Univeral link  这块, 微信应用和三方应用互相调起的方式,这个需要在应用后台放置 apple-app-site-association 文件:

{

"applinks": {

"apps": [],

"details": [

{

"appID": "teamIdXXX.bundleIdXXX",

"paths": ["/app/*"]

}

]

}

}

放置到服务器根目录下。

苹果提供的测试网址:
https://search.developer.apple.com/appsearch-validation-tool/

最终按照文档集成完之后还是不能正常返回,终于在开发者论坛上面找到了解决思路:

https://developers.weixin.qq.com/community/develop/doc/000ce0403bc9d0ea1a0a67f415b409

这个问题调试了好久,一部分是由于自己对于苹果开发不熟悉,一部分也是由于开发文档思路有点让人费解。

另外关于IOS 接入指南里面需要在xcode 里面关于openSDK1.8.6及以上版本的更新说明 | 微信开放文档

配置的Associated Domains开关 需要注意debug 和Release 两个都要配置都要配置都要配置,否则可能开发版本正常,release版本跳转又会有问题,这个天坑又才了一上午啊一上午。

 

2、支付宝支付

 支付宝安卓和苹果端的集成相关简洁,其订单信息是后台生成的一长串字符串,里面包含了所有信息,App 端不需要管其中的逻辑,只需要调用SDK 支付接口进行支付即可,然后处理异步返回支付结果。

总体来说,微信的开发文档逻辑真的不容易理解,可能和其还有其他功能放置在一起有关,而支付宝的逻辑则相关明了简洁。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/870257.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存