paypal js调用方法整合方便以后使用

paypal js调用方法整合

两种方式

client

直接用

    let purchase_units_amount = {
        // value不能小于小数点后两卫
        currency_code: "USD",
        value: "0.06",
        breakdown: {
            item_total: { // 原价
                value: "0.08",
                currency_code: "USD"
            },
            discount: { // 折扣
                value: "0.02",
                currency_code: "USD"
            },
            shipping: { // 运费
                value: "0.01",
                currency_code: "USD"
            },
            shipping_discount: { // 运费优惠
                value: "0.01",
                currency_code: "USD"
            }
        }
    }



    let purchase_units_item_list = [
        {
            name: "NeoPhone",
            sku: "sku03",
            unit_amount: {
                value: "0.04",
                currency_code: "USD"
            },
            quantity: "1"
        },
        {
            name: "Fitness Watch",
            sku: "sku04",
            unit_amount: {
                value: "0.04",
                currency_code: "USD"
            },
            quantity: "1"
        }
    ]

参数参考官方链接

       onShippingChange: (data, actions) => {
            console.log("onShippingChange", data, actions);
        },
        // 按钮第一次呈现时调用
        onInit: () => {
            console.log("onInit");
        },
        // 点击付款按钮时调用 通常用于表单验证
        onClick: () => {
            console.log("onClick");
            return true;
        },
        createOrder: function (data, actions) {
            console.log(data);
            // This function sets up the details of the transaction, including the amount and line item details.
            return actions.order.create({
                purchase_units: [{
                    amount: purchase_units_amount,  // 金额
                    items: purchase_units_item_list, // 商品
                    description: '剁手',  // 说明
                }],

                //商品的配置
                // application_context: {
                //     brand_name: "LilySilk",  // 品牌名
                //     shipping_preference: "SET_PROVIDED_ADDRESS", // GET_FROM_FILE / NO_SHIPPING / SET_PROVIDED_ADDRESS
                //     user_action: "PAY_NOW"
                // }
            });
        },


        onApprove: function (data, actions) {
            console.log(data);
            // This function captures the funds from the transaction.
            return actions.order.capture().then(function (details) {
                console.log(details);
                // This function shows a transaction success message to your buyer.
                alert('Transaction completed by ' + details.payer.name.given_name);
            });
        },


        onError: (err) => {
            // 参考资料:https://developer.paypal.com/docs/api/orders/v2/#orders_patch
            console.log("onError", err);
        }

调用api

  • 拿到token (client_id和secret创建账号获取)
curl -v https://api-m.sandbox.paypal.com/v1/oauth2/token \
  -H "Accept: application/json" \
  -H "Accept-Language: en_US" \
  -u "client_id:secret" \
  -d "grant_type=client_credentials"
  • 发请求时带上
    axios.interceptors.request.use((config) => {
        config.headers.authorization = 'Bearer xxxxxxxxxxx'
        return config;
    });

请求方式按这样来,需要什么调对应的接口即可

        createOrder: function (data, actions) {
            console.log(data)
            return axios({
                url: `${origin}/v2/checkout/orders`,
                headers: {
                    'Content-type': 'application/json',
                },
                method: 'post',
                data: {
                    'purchase_units': [{
                        'amount': {
                            'currency_code': 'USD',
                            'value': '0.06',
                        },
                    }],
                    'intent': 'CAPTURE'
                }
            });
        },
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Java开发PayPal支付,您需要使用PayPal Java SDK。以下是一些基本步骤: 1. 首先,您需要创建一个PayPal账户并获取API凭据。 2. 下载并安装PayPal Java SDK。您可以从这里下载:https://github.com/paypal/PayPal-Java-SDK/releases 3. 创建一个Java项目并将PayPal Java SDK添加到项目中。 4. 在代码中实现PayPal支付逻辑。以下是一个示例代码片段: ``` // 设置API凭据 APIContext context = new APIContext(clientId, clientSecret, mode); // 创建支付对象 Payment payment = new Payment(); payment.setIntent("sale"); // 设置付款人信息 Payer payer = new Payer(); payer.setPaymentMethod("paypal"); payment.setPayer(payer); // 设置交易信息 Transaction transaction = new Transaction(); transaction.setAmount(new Amount(currency, total)); transaction.setDescription(description); List<Transaction> transactions = new ArrayList<Transaction>(); transactions.add(transaction); payment.setTransactions(transactions); // 设置重定向URL RedirectUrls redirectUrls = new RedirectUrls(); redirectUrls.setCancelUrl(cancelUrl); redirectUrls.setReturnUrl(returnUrl); payment.setRedirectUrls(redirectUrls); // 创建支付并获取支付链接 payment.create(context); String redirectUrl = payment.getLinks().stream() .filter(link -> "REDIRECT".equals(link.getRel())) .findFirst() .orElseThrow(() -> new RuntimeException("No redirect URL")).getHref(); ``` 5. 在您的应用程序中使用获取到的支付链接进行重定向到PayPal网站以完成支付。 请注意,这只是一个基本示例。您还需要处理支付结果和退款等其他事项。您可以在PayPal Java SDK文档中找到更多信息:https://developer.paypal.com/docs/api/overview/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值