【问题标题】:Custom PayPal button?自定义 PayPal 按钮?
【发布时间】:2026-01-08 06:35:01
【问题描述】:

从 PayPal 为 Express Checkout 提供的所有文档来看,他们似乎不希望开发人员为 PayPal 集成创建自定义按钮。

他们提供的唯一 JS 方法是 paypal.Button.render,这会自动将 PayPal 按钮呈现给您选择的元素。然后,他们提供有限的功能reference 来设置此按钮的样式(例如圆形或方形按钮,以及 3 种颜色可供选择)。

我正在查看的文档是here

我的问题是:

  • 是否可以以其他方式设置按钮样式?
  • PayPal 可以让我为按钮设置样式(是否有任何 T&C 阻止我)?

也许有一种方法可以让我将付费点击事件绑定到更自定义的按钮。

(请注意,我不想完全重写我的支付方式,我想保持快速支付方式)

【问题讨论】:

    标签: javascript paypal


    【解决方案1】:

    使用 CSS,我可以隐藏实际按钮并在顶部放置另一个按钮。我会做到这一点,所以这个较新的按钮实际上不能被点击。

    看演示here

    CSS:

    // Hide the actual button.
    .paypal-button-container > * {
        visibility: hidden;
    }
    
    // Place a button over the top of the actual button.
    #my-custom-button {
        pointer-events: none; // Not supported by IE10 and lower.
    }
    

    但是,IE10 及更低版本不支持此方法。如果这是我寻求的解决方案,我会在 IE10 及更低版本上显示实际的 PayPal 按钮。

    但是,如果 PayPal 更改了他们的 API,或者开始对此类事情进行检查,它很容易破坏我的实现。

    【讨论】:

    • 我建议不要这样做。正如您所提到的,这很可能会在将来中断,并且可能会错误地将您标记为针对 iframe 的尝试点击劫持。