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

前端PayPal支付按钮集成(Vue3)

        今天尝试了贝宝(paypal)前端集成,基本按着文档看就实现了

1,在paypal开发者文档注册或登录paypal账号,会自动进入如下页面,是默认模拟的沙盒模式,接着点击下面的Standard Checkout

 2,进入后弹出一个指导框,按着他的指示一步步走,会得到client_id,用来对接脚本,还有沙盒模式的模拟信用卡与账户,用来测试

3,得到的client_id填入下面的脚本,再放入你的主页面或使用palpay按钮的页面

    <script src="https://www.paypal.com/sdk/js?client-id=你的client_id" async></script>

4,将如下代码放入JS中
const paypal = ref<HTMLElement | null>(null)

onMounted(() => {
    // 确保 PayPal 对象存在
    if (typeof window.paypal !== 'undefined') {
        window.paypal.Buttons({
            style:{
                shape:"pill", // 形状 ract
                color: "gold", // 颜色
                label: "paypal", // 文本内容 还可以是pay 具体看文档
            },
            // PayPal 按钮配置
            createOrder: (data: any, actions: any) => {
                return actions.order.create({
                    purchase_units: [{
                        amount: {
                            value: '999' // 总金额
                        }
                    }]
                });
            },
            onApprove: (data: any, actions: any) => {
                return actions.order.capture().then((details: any) => {
                    console.log('支付成功:', details);
                    // 处理支付成功逻辑
                });
            },
            onCancel(data) {
                // 取消支付的页面
                window.location.assign("/cart");
            },
            onError(err) {
                // 支付错误的页面
                window.location.assign("/404");
            }
        }).render(paypalRef.value);
    }
})
declare global {
    interface Window {
        paypal: any;
    }
}
 5,最后在template中加入一个div用来渲染按钮,要求是对应上文.render(paypalRef.value)中的ref
<div ref="paypalRef"></div>

 最终效果如下,如果效果不满意可以自行配置,查看官方文档PayPal的JSSDK

相关文章:

  • AI + 游戏开发:如何用 DeepSeek 打造高性能开心消消乐游戏
  • React篇之three渲染
  • MB90540/540G/545/545G Series
  • 锤头线和倒锤头线
  • OpenHarmony 5.0 拨号键盘自定义暗码启动其他应用
  • Linux常见问题与分析
  • OBJ文件生成PCD文件(python 实现)
  • MTK Android12 安装app添加密码锁限制
  • Android Framwork 之深入理解 IPC Binder机制
  • vue2安装scss
  • C语言实现十六进制转十进制
  • 谷歌 DeepMind 重磅出击,多款 AI 模型震撼登场
  • 【A2DP】蓝牙音频编解码器互操作性要求详解
  • keepalived系列-自启动配置无效
  • Celery - 入门(get-started)
  • DeepSeek选择方向的优势
  • 阿里巴巴发布 R1-Omni:首个基于 RLVR 的全模态大语言模型,用于情感识别
  • 【数据结构】单链表-c语言
  • vue中,watch里,this为undefined的两种解决办法
  • 哨兵2号遥感影像解析全流程:步骤、算法与AI应用详解
  • 母婴网站 模板/网站关键词seo排名
  • 南京谁做免费网站/推广普通话宣传语100字
  • 漳州市网站建设/微信引流推广怎么找平台
  • 大连网站建设辽icp备/国内搜索引擎网站
  • 如何在台湾做企业网站/微信如何引流推广精准加人
  • 上海网站建设网页制作怎么样/如何获取热搜关键词