通过JavaScript接受信用卡付款

时间:2017-10-10 13:52:10

标签: javascript square

我有一个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费用?如果是这样,怎么样?

谢谢

3 个答案:

答案 0 :(得分:2)

您无法完全切断自己的服务器。这意味着你永远不会了解订单。资金只会出现在您的帐户中。

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

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

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

enter image description here

答案 1 :(得分:0)

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

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

Square文档提供了一些很好的图表和图片,展示了他们的API如何工作以及如何理解它的集成,例如。

Square API

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

答案 2 :(得分:0)

不幸的是,我无法找到您需要执行此操作所需的特定文档。您似乎需要使用您的帐户凭据登录developer portal。如果您无法找到所需的文档,那么您应该联系Square支持。话虽这么说,我可以给你一些基本的指导。

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

  2. 尝试在您尝试使用的产品的文档中进行挖掘。您想要实现的目标应该在某种类型的"设置"或"入门"键入将突出显示的文档。