当前位置: 首页 > news >正文

支付宝支付

当前我们有现成的支付宝H5端支付能力,所以需要我们采用混合开发的模式进行操作,所谓混合开发就是鸿蒙原生内嵌一个支付宝的h5页面,经过互相通信实现整个支付流程

  1. 使用Web组件通过src发起支付宝接口请求(携带订单id参数)
  2. 监听Web组件的网络请求变化,如果发现/pay/redirect 关键标识,证明支付已经完成
  3. 解析回调参数(如果payResult参数为true,即为成功)
import { promptAction } from '@kit.ArkUI'
import { webview } from '@kit.ArkWeb'@Component
struct PayOrder {@Consume navPathStack: NavPathStack@State orderId: string = ''webController: WebviewController = new webview.WebviewController()aboutToAppear(): void {const result = this.navPathStack.getParamByName('PayOrder') as string[]const id = result[0]if (id) {//   正常this.orderId = id} else {//   异常promptAction.showToast({message: '订单获取失败'})}}build() {Column() {Web({//支付页面的地址:https://meikou-api.itheima.net/pay/wap/aliPay?orderId=src: 'https://meikou-api.itheima.net/pay/wap/aliPay?orderId=' + this.orderId,controller: this.webController}).onPageBegin((event) => {//   根据页面url的变化,判断是否支付完成,支付完成:"pay/redirect"if (event.url.includes('https://meikou-api.itheima.net/pay/redirect')) {//   支付完成,返回首页(清空路由栈是为了不让用户返回之前支付的页面)this.navPathStack.clear()}})}.width('100%').height('100%')}
}@Builder
function PayOrderBuilder() {NavDestination() {PayOrder()}.hideTitleBar(true)
}
}
http://www.dtcms.com/a/287646.html

相关文章:

  • fastjson2 下划线字段转驼峰对象
  • 链路聚合技术(思科链路聚合实验)
  • 【Linux驱动-快速回顾】简单了解一下PinCtrl子系统:设备树如何被接解析与匹配
  • 【取消分仓-分布式锁】
  • PCIe RAS学习专题(3):AER内核处理流程梳理
  • windows docker-03-如何一步步学习 docker
  • VSCode用Python操作MySQL:环境配置与代码验证
  • CentOS 清理技巧
  • 音视频学习(四十):H264码流结构
  • Tailwind CSS中设定宽度和高度的方法
  • ubuntu下好用的录屏工具
  • TCP 和 UDP 在创建套接字(Socket)时的区别
  • Claude Code 最新详细安装教程
  • 在 Solidity 中,abi是啥
  • day11 ADC
  • [spring6: AspectMetadata AspectInstanceFactory]-源码解析
  • 【Unity】YooAsset问题记录
  • 深度学习-线性神经网络
  • 剧本杀小程序开发:科技赋能,重塑推理娱乐新形态
  • 大模型军备竞赛升级!Grok 4 携 “多智能体内生化” 破局,重构 AI 算力与 Agent 2.0 时代
  • 1 渗透基础
  • FOC算法六步算法 以及 Vds保护是什么
  • 石子问题(区间dp)
  • 【c++】提升用户体验:问答系统的交互优化实践——关于我用AI编写了一个聊天机器人……(12)
  • QCC系列显示交互层的自研技术突破与实践
  • 论文reading学习记录4 - weekly - 视觉端到端开创-LOAM
  • 6 STM32单片机的智能家居安防系统设计(STM32代码+手机APP设计+PCB设计+Proteus仿真)
  • VRRP-虚拟路由冗余协议
  • leetcode3_435 and 605
  • 在服务器(ECS)部署 MySQL 操作流程