You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅禁用PayPal常规按钮,启用PayLater按钮并获取Payin3金额拆分

仅启用PayPal PayLater按钮并禁用其他支付方式

要实现仅显示PayPal PayLater按钮、禁用所有其他支付选项,需要调整SDK加载参数和按钮配置:

  1. 更新SDK加载链接
    在SDK URL中,通过disable-funding参数禁用除paylater外的所有支付方式(包括默认的PayPal余额/关联卡支付、独立信用卡支付):

    <script src="https://www.paypal.com/sdk/js?client-id=xxxxxxxx&currency=GBP&components=buttons,messages&buyer-country=GB&enable-funding=paylater&disable-funding=paypal,card"></script>
    <div data-pp-message data-pp-style-layout="text" data-pp-style-logo-type="inline" data-pp-style-text-color="black" data-pp-amount="170"></div>
    <div id="paypal-button-container"></div>
    
  2. 配置按钮强制显示PayLater
    在按钮初始化时添加style.fundingSource配置,确保仅渲染PayLater按钮:

    paypal.Buttons({
      createOrder: function(data, actions) {
        return actions.order.create({
          purchase_units: [{
            amount: {
              value: '170'
            }
          }]
        });
      },
      // 强制指定按钮为PayLater样式
      style: {
        fundingSource: 'paylater'
      }
    }).render('#paypal-button-container');
    

获取Payin3金额拆分数据并存储为数组

你可以通过两种方式获取Payin3的分期拆分数据,以下是具体实现:

方法1:通过Messages组件回调获取

利用PayPal Messages组件的加载回调,直接提取分期详情:

<!-- 替换原message容器,添加ID方便绑定 -->
<div id="paylater-message" data-pp-message data-pp-style-layout="text" data-pp-style-logo-type="inline" data-pp-style-text-color="black" data-pp-amount="170"></div>
paypal.Messages({
  amount: '170',
  currency: 'GBP',
  buyerCountry: 'GB'
}).render('#paylater-message').then(function(messageInstance) {
  const payIn3Details = messageInstance.installmentDetails?.payIn3;
  if (payIn3Details) {
    // 按需求组装拆分数据数组,示例包含总金额、首期金额、后续每期金额、期数
    const payIn3SplitArray = [
      payIn3Details.totalAmount.value,
      payIn3Details.firstInstallmentAmount.value,
      payIn3Details.subsequentInstallmentAmount.value,
      payIn3Details.numberOfInstallments
    ];
    // 存储数组用于后续操作(示例:存入本地存储)
    localStorage.setItem('payIn3SplitData', JSON.stringify(payIn3SplitArray));
    console.log('Payin3拆分数据已存储:', payIn3SplitArray);
  }
});

方法2:通过订单详情API获取

创建订单后,调用PayPal内置的订单查询接口提取分期信息:

paypal.Buttons({
  createOrder: function(data, actions) {
    return actions.order.create({
      purchase_units: [{
        amount: {
          value: '170'
        }
      }]
    }).then(function(orderId) {
      // 查询订单完整详情
      return actions.order.get(orderId).then(function(orderDetails) {
        const paylaterInstallments = orderDetails.payment_source?.paylater?.installment_details?.installments;
        if (paylaterInstallments) {
          // 提取每期金额为数组
          const payIn3SplitArray = paylaterInstallments.map(item => item.amount.value);
          // 存储数组
          console.log('Payin3每期金额数组:', payIn3SplitArray);
        }
        return orderId; // 返回订单ID,不影响后续支付流程
      });
    });
  },
  style: {
    fundingSource: 'paylater'
  }
}).render('#paypal-button-container');

注意事项

  • 确保你的PayPal商家账户已开通Payin3服务,且支持GBP币种与英国地区
  • 字段名称可能随SDK版本略有调整,若出现字段缺失,可通过console.log打印返回对象确认结构
  • 存储数组时建议用JSON.stringify转为字符串,取出时用JSON.parse还原

内容的提问来源于stack exchange,提问作者Jameel Ahmed Ansari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 08:30:58