代码之家  ›  专栏  ›  技术社区  ›  user687554

通过JavaScript接受信用卡付款

  •  1
  • user687554  · 技术社区  · 7 年前

    我有一个方形账户。我也有一个网页。在这个网页上,我正在收集信用卡的详细信息(姓名、号码、到期日期、cvv)。我想根据用户提供的信用卡详细信息向用户收取一笔费用。我认为Square有一个API允许这样做。然而,我没有看到。看起来一切都必须在服务器上完成。

    难道没有一种方法可以完全在客户端从JavaScript安全地实现这一点吗?仅仅为了将信息传递到Square,通过互联网将细节发送到服务器似乎风险更大。

    var creditCardNumber = '....';
    var credidCardHolderName = 'Joe Smith';
    var creditCardExpiration = '10/2020';
    var creditCardCvv = '...';
    
    var purchaseAmount = 50.50;
    

    有没有办法充电 purchaseAmount 通过Square在客户端使用JavaScript攻击用户的信用卡?如果是,如何?

    非常感谢。

    3 回复  |  直到 7 年前
        1
  •  4
  •   Quentin    7 年前

    你不能把自己的服务器完全排除在外。这意味着你永远不会知道订单。钱就会出现在你的账户上。

    不过你不应该收集信用卡信息。看看 the Square Documentation for online transactions

    作为过程的一部分,用户被重定向到Square的网站,在那里收集信用卡信息。您永远不需要将信用卡详细信息发送到服务器。

    1. 商户-创建POST请求:。将订单信息打包为JSON消息。注意:目前,平方检验无法计算 运输成本或税费必须在 POST请求作为订单中的行项目。
      1. 向标头添加授权令牌。
    2. 商户-将生成的POST请求发送到Square Checkout并处理响应:
      1. 自动将客户重定向到返回的签出页面URL。
    3. 客户-使用Square Checkout UI提供付款详细信息。
    4. 方形结账-处理交易并向商户和客户发送电子邮件确认。
    5. 商户-验证交易结果。

    enter image description here

        2
  •  0
  •   Oskar Laska    7 年前

    要处理付款,您可能需要发送一些API凭据,在前端显示这些凭据是不安全的。这就是为什么你可能需要一些后端。

    当然,你会允许客户更改付款金额,这通常是不好的。

    Square文档中很少有漂亮的图表和图像显示其API如何工作以及如何理解集成它,例如。

    Square API

    看看他们网站上的“入门”指南,尤其是 how it works .

        3
  •  0
  •   MplsAmigo    7 年前

    遗憾的是,我无法找到您执行此操作所需的具体文档。您似乎需要登录 developer portal 使用您的帐户凭据。如果您无法找到所需的文档,则应联系Square支持。尽管如此,我可以给你一些基本的指导。

    1. 不要在你的网站上存储任何信用卡信息。不要将变量存储在javascript中、发送到服务器或存储在任何数据库中。您将使用特定的code Square来确保数据安全,并确保数据只与Square共享。

    2. 试着在你试图使用的产品的文档中四处挖掘。您试图完成的内容应该在某种“设置”或“开始”类型的文档中找到,这些文档将突出显示。