vue paypal 使用

第一步引入 paypal-js

安装依赖
npm install @paypal/paypal-js
package.json
"@paypal/paypal-js": "^7.0.3",

第二步页面引入

import { loadScript } from "@paypal/paypal-js";

第三步页面元素

<div id="pay-but-container" class="w-full mt-3 mx-3" :data-pp-amount="calcPriceUs"></div>

第四步配置参数

const loadPaypal = async () => {
  let paypalDom = document.getElementById("pay-but-container");
  if (paypalDom) {
    paypalDom.innerHTML = "";
  }
  let loadParmes = {
    clientId: "VITE_PAYPAL_KEY",
    currency: "USD",
    components: "messages,marks,buttons",
    "enable-funding": "paylater",
    "buyer-country": "US"
  };
  loadScript(loadParmes)
    .then((paypal: any) => {
      paypal.Messages({ buyerCountry: "US", style: { layout: "text", text: { align: "center" }}}).render("#pay-but-container");
      paypal.Buttons({
          buyerCountry: "US",
          style: { layout: "vertical", color: "gold", shape: "rect", label: "paypal" },
          createOrder: async (data: any) => {
            // 创建订单
            let parmes: any = { ... };
            let { data, success } = await orderCreate(parmes);
            if (success) {
              return data?.paySecret;
            }
          },
          onCancel: () => {
            // 取消支付
          },
          onError: (err: any) => {
            // 支付失败
          },
          onApprove: (data: any, actions: any) => {
            // 支付成功
            return actions.order.capture().then(() => {
              router.push(`/pay/paySuccess`);
            });
          },
        })
        .render("#pay-but-container");
    })
    .catch((err: any) => {
      Message({ type: "success", text: err });
    });
};
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值