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

uniapp Stripe 支付

引入 Stripe  

npm install @stripe/stripe-js

import { loadStripe } from '@stripe/stripe-js';

Stripe 提供两种不同类型组件

Payment Element 和  Card Element:如果你使用的是 Payment Element,它是一个更高级别的组件,能够自动处理多种支付方式(如信用卡、Apple Pay 等),并且不需要你手动指定 payment_method 对象。而 Card Element 则是专门用于收集信用卡信息的低级别组件

 这里用的是 Payment Element Stripe 自动处理支付方式的选择,并且不要手动构造 payment_method 对象

import { loadStripe } from '@stripe/stripe-js';export default {data() {return {stripe: null,elements: null,paymentElement: null,clientSecret: ''  // 调用后端创建订单接口返回的参数};},async mounted() {uni.showLoading({title: 'loading...'});this.stripe = await loadStripe(''); // 替换为你的 Publishable Keythis.setupElements()},methods: {setupElements(){if (!this.stripe || !this.clientSecret) return;this.elements = this.stripe.elements({clientSecret: this.clientSecret,})this.paymentElement= this.elements.create('payment');this.paymentElement.mount('#payment-element');uni.hideLoading()},async handleSubmit() {if (!this.stripe || !this.paymentElement || !this.clientSecret) {//  自己封装的提示方法this.$Common.showToast('Payment setup is incomplete');return;}uni.showLoading({title: 'loading...'});const {error,paymentIntent} = await this.stripe.confirmPayment({elements: this.elements,confirmParams: {// 用户完成支付后的重定向 URLreturn_url: 'http://123:8080/#/pages/pay/orderComplete',},});if (error) {console.error('Error:', error.message);this.$Common.showToast(error.message);uni.hideLoading()} else {if (paymentIntent.status === 'succeeded') {uni.hideLoading()this.$Common.showToast('Payment succeeded!');// 这里可以根据业务逻辑跳转到成功页面或执行其他操作}}},}
};

http://www.lryc.cn/news/513282.html

相关文章:

  • Windows onnxruntime编译openvino
  • vue3+TS+vite中Echarts的安装与使用
  • 期末算法分析程序填空题
  • 搭建android开发环境 android studio
  • R语言6种将字符转成数字的方法,写在新年来临之际
  • RocketMQ学习笔记(持续更新中......)
  • 强化学习的基础概念
  • excel怎么删除右边无限列(亲测有效)
  • STM32-笔记23-超声波传感器HC-SR04
  • Linux | Ubuntu零基础安装学习cURL文件传输工具
  • 什么是 GPT?Transformer 工作原理的动画展示
  • SpringCloudAlibaba实战入门之路由网关Gateway过滤器(十三)
  • 电路仿真软件PSIM简介
  • C语言:调试的概念和调试器的选择
  • 25. C++继承 1 (继承的概念与基础使用, 继承的复制兼容规则,继承的作用域)
  • git 退出编辑模式
  • 内容营销与传统营销方式有哪些差别?
  • EasyExcel(读取操作和填充操作)
  • 【华为OD-E卷 - 机房布局 100分(python、java、c++、js、c)】
  • 【竞技宝】LOL:IG新赛季分组被质疑
  • ChatBI来啦!NBAI 正式上线 NL2SQL 功能
  • 8. Web应用程序(Web)
  • Linux内核修改内存分配策略
  • 六大亮点解析:AI视频监控助力部队训练安全管理
  • 【从零开始入门unity游戏开发之——C#篇33】C#委托(`Delegate`)和事件(`event` )、事件与委托的区别、Invoke()的解释
  • 大数据与机器学习(它们有何关系?)
  • 深入浅出 Spring(一) | Spring简介、IOC理论推导、快速上手 Spring
  • IDEA 社区版 SpringBoot不能启动
  • 职场常用Excel基础01-数据验证
  • 活动预告 |【Part1】Microsoft Azure 在线技术公开课:数据基础知识