【问题标题】:Customize Stripe Checkout Form自定义条纹结帐表格
【发布时间】:2021-01-08 12:48:44
【问题描述】:

我目前正在我的 Angular 应用程序中开发一种条纹支付方式。默认情况下,条带表单具有“电子邮件”类型的“电子邮件”输入字段。我想将该输入字段更改为“名称”,类型为“文本”。我尝试了不同的方法,但没有一个真正有效有人可以在这方面帮助我吗?任何帮助将不胜感激。谢谢。

我正在附上一张条纹表格图片以获得进一步的帮助。

MY Stripe 方法实现

loadStripe() {
console.log('loadStripe');
if (!window.document.getElementById('stripe-script')) {
  let s = window.document.createElement('script');
  s.id = 'stripe-script';
  s.type = 'text/javascript';
  s.src = 'https://checkout.stripe.com/checkout.js';
  s.onload = () => {
    console.log('token');
    this.handler = (window as any).StripeCheckout.configure({
      key: this.stripKey,
      locale: 'auto',
      token(token: any) {
        // You can access the token ID with `token.id`.
        // Get the token ID to your server-side code for use.
        console.log('token', token);
        alert('Payment Success!!');
      }
    });
  };

  window.document.body.appendChild(s);
}

}

【问题讨论】:

    标签: javascript angular typescript stripe-payments payment-gateway


    【解决方案1】:

    不要这样做! Stripe Checkout 不应该以这种方式自定义,并且不会直接将数据发布到您的服务器,而是发布到 Stripe 的服务器。从您打开 Checkout 面板到他们使用令牌呼叫您时发生的任何事情都是 Stripe 的 Web 应用程序,而不是您的,并且可能随时更改。如果您尝试更改它们,不仅您的代码容易在没有警告的情况下从一天中断到另一天,Stripe 可能会检测到它并认为用户的浏览器正在运行恶意软件,因为您不应该这样做,并且机会正在尝试更改他们的 UI 也是违反合同的。

    如果您只想使用他们已经编写的电子邮件地址预先填充电子邮件地址,则可以将其作为键 email 传递给传递给 StripeCheckout.configure 的对象。但您需要使用自己的表单收集所有其他信息。

    如果您不想收集他们的电子邮件地址并且也不希望 Stripe Checkout 这样做,请停止使用 Stripe Checkout 并构建您自己的表单,包括带有Stripe Elements 的信用卡输入字段。

    【讨论】:

    • 除了上面的@Mashood,可能值得研究一下 Stripe 的新 Checkout 产品(您当前使用的是旧版本):stripe.com/docs/payments/checkout。较新的 Checkout 默认包含一个名称字段。
    猜你喜欢
    • 2019-01-18
    • 2017-12-31
    • 2017-07-03
    • 2018-03-31
    • 1970-01-01
    • 2014-04-28
    • 2016-04-29
    • 2016-07-11
    • 1970-01-01
    相关资源
    最近更新 更多