【问题标题】:Accept Credit Card Payments via JavaScript通过 JavaScript 接受信用卡付款
【发布时间】:2017-10-10 13:52:10
【问题描述】:

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

难道没有一种方法可以完全在客户端从 JavaScript 安全地执行此操作吗?通过互联网将详细信息发送到服务器似乎风险更大,只是将该信息传递到 Square。

此时,我有以下几点:

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

var purchaseAmount = 50.50;

有没有办法通过 Square 在客户端使用 JavaScript 向用户的信用卡收取purchaseAmount 的费用?如果有,怎么做?

谢谢

【问题讨论】:

  • 这不允许最终用户编辑页面源并输入他们想要的任何值(如0,01 $)吗?
  • 这是非常不安全的。我什至无法想象有多少黑客对你的网页感到满意......你有我的网址,所以我也可以免费购物吗?
  • @MKR: "-ve"? “减号”?请输入您要说的内容。
  • 一般来说,代码由支付供应商 (square) 提供,在 iframe 中呈现信用卡支付表单。基本上是一个安全的迷你网页,可确保信用卡信息仅与 Square 共享。交易完成后,您会收到一个 ID 令牌,为您提供完成订单所需的详细信息。

标签: javascript square


【解决方案1】:

您不能完全排除您自己的服务器。这意味着你永远不会知道订单。钱只会出现在您的帐户中。

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

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

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

【讨论】:

  • 很好地找到了特定的文档。我想我没有足够努力地认为他们是开发者门户的幕后黑手。
【解决方案2】:

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

当然,您可以允许客户更改付款金额,这通常是不行的。

Square 文档很少有漂亮的图表和图像来展示他们的 API 是如何工作的以及如何理解集成它,例如

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

【讨论】:

    【解决方案3】:

    很遗憾,我找不到执行此操作所需的特定文档。看来您需要使用您的帐户凭据登录developer portal。如果您找不到所需的文档,则应联系 Square 支持。话虽如此,我可以给你一些基本的指导。

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

    2. 尝试在您尝试使用的产品的文档中进行挖掘。您尝试完成的内容应在某种“设置”或“入门”类型的文档中找到,这些文档将突出显示。

    【讨论】:

      猜你喜欢
      • 2012-07-11
      • 2012-11-27
      • 2013-07-31
      • 2019-09-10
      • 2013-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-15
      相关资源
      最近更新 更多