[Swift]WKWebView拉起支付宝和微信APP支付

2024-08-20 22:32

本文主要是介绍[Swift]WKWebView拉起支付宝和微信APP支付,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先在项目中导入AlipaySDK和WechatOpenSDK。
再对info.plist中LSApplicationQueriesSchemes添加alipay、weixin。
最后到代理方法中完成拦截操作。

extension WKWebVC : WKScriptMessageHandler {func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {var tempURL: String = navigationAction.request.url?.absoluteString ?? ""let tempScheme = navigationAction.request.url?.scheme ?? ""if tempURL.isBlank == false {let host = navigationAction.request.url?.host ?? ""if host.contains("mclient.alipay.com") {AlipaySDK.defaultService().payInterceptor(withUrl: tempURL, fromScheme: "juzhecpsapp") { ress in// 支付成功或者失败的 回调处理 ["resultCode": "6001", "returnUrl": "", "isProcessUrlPay": "1"]if let resDict = ress as? [String: String] {if let returnUrl = resDict["returnUrl"] {if returnUrl.isBlank == false {if let tempReturnUrl = URL(string: returnUrl) {webView.load(URLRequest(url: tempReturnUrl))}}}}}decisionHandler(.cancel)return}/// alipay://   支付宝支付/// weixin://   微信支付/// imeituan:// 美团if tempScheme == "alipay" || tempScheme == "weixin" || tempScheme == "imeituan" {if tempScheme == "alipay" {let ll = tempURL.replacingOccurrences(of: "alipays", with: "juzhecpsapp")tempURL = ll}if let openURL = URL(string: tempURL) {UIApplication.shared.open(openURL, options: [:], completionHandler: nil)decisionHandler(.cancel)return}}}decisionHandler(.allow)}

这篇关于[Swift]WKWebView拉起支付宝和微信APP支付的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1091359

相关文章

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

SpringBoot基于沙箱环境实现支付宝支付教程

《SpringBoot基于沙箱环境实现支付宝支付教程》本文介绍了如何使用支付宝沙箱环境进行开发测试,包括沙箱环境的介绍、准备步骤、在SpringBoot项目中结合支付宝沙箱进行支付接口的实现与测试... 目录一、支付宝沙箱环境介绍二、沙箱环境准备2.1 注册入驻支付宝开放平台2.2 配置沙箱环境2.3 沙箱

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用