我有一个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 :(得分:2)
您无法完全切断自己的服务器。这意味着你永远不会了解订单。资金只会出现在您的帐户中。
你不应该收集信用卡信息。请看the Square Documentation for online transactions。
作为该过程的一部分,用户被重定向到Square的网站,在那里收集信用卡信息。您永远不需要将信用卡详细信息发送到您的服务器。
- 商家 - 创建POST请求:。将订单信息打包为JSON消息。注意:目前,Square Checkout无法计算 动态运输成本或税收,必须提供这些总计 POST请求作为订单中的订单项。
- 向标题添加授权令牌。
- 商家 - 将生成的POST请求发送到Square Checkout并处理响应:
- 保存返回的结帐ID。
- 自动将客户重定向到返回的Checkout页面网址。
- 客户 - 使用Square Checkout UI提供付款详细信息。
- Square Checkout - 处理交易并向商家和客户发送电子邮件确认。
- 商家 - 验证交易结果。
醇>
答案 1 :(得分:0)
要处理付款,您可能需要发送一些在您的前端无法安全显示的API凭据。这就是为什么你可能需要一些后端。
当然,您可以允许客户更改付款金额,这通常不合适。
Square文档提供了一些很好的图表和图片,展示了他们的API如何工作以及如何理解它的集成,例如。
在他们的网站上查看“使用入门”指南,尤其是how it works。
答案 2 :(得分:0)
不幸的是,我无法找到您需要执行此操作所需的特定文档。您似乎需要使用您的帐户凭据登录developer portal。如果您无法找到所需的文档,那么您应该联系Square支持。话虽这么说,我可以给你一些基本的指导。
请勿在您的网站上存储任何信用卡信息。不要存储在javascript变量中,发送到您的服务器,或将它们存储在任何数据库中。您可以使用Square特定的代码来保证数据的安全,并确保它只与Square共享。
尝试在您尝试使用的产品的文档中进行挖掘。您想要实现的目标应该在某种类型的"设置"或"入门"键入将突出显示的文档。