【问题标题】:How to get Nonce for Card using Square API from Backend如何从后端使用 Square API 获取卡的 Nonce
【发布时间】:2018-09-18 10:17:40
【问题描述】:

在我的应用程序中,我需要处理来自后端的卡片,我已经在使用其他支付网关进行此操作,但对于 Square Connect,我找不到任何东西。

我的问题是如何从后端生成 Square Card Nonce?我应该调用什么 API?

浏览他们的全部文档。

【问题讨论】:

  • 就像其他答案一样,这似乎不可能。因此,我们不会使用方形,这是一个疯狂的限制。

标签: php square-connect


【解决方案1】:

为了通过 Square 生成卡 nonce,您必须使用 SqPaymentForm。 https://docs.connect.squareup.com/payments/sqpaymentform/sqpaymentform-overview

然后,您可以将卡 nonce 传递到 Transactions API 中的 Charge 端点:https://docs.connect.squareup.com/payments/transactions/overview

不过,您也可以使用 Checkout API 进行付款(可定制性较低,但更易于设置):https://docs.connect.squareup.com/payments/checkout/overview

【讨论】:

  • 感谢以上链接,但我需要在服务器端处理卡片,我想在服务器端(后端)生成卡片随机数。
  • 目前无法使用 Square。生成卡 nonce 的唯一方法是使用 SqPaymentForm,以便 Square 处理所有机密相关信息,开发人员无需担心。
  • 我很确定您可以通过将卡信息保存在客户下来实现您想要的。然后,您可以为卡充值,例如按月订阅。
【解决方案2】:

来自 Square 的 SLACK 的回应:

Square 是专门设计的,因此您不需要自己处理客户的信用卡详细信息(例如,不需要将其从客户端安全地传递回您的服务器),因此 SqPaymentForm 旨在仅在客户端工作,并且然后返回一个卡随机数,您可以安全地将其从客户端传递到服务器。不幸的是,您想要做的事情是无法通过设计实现的。

【讨论】:

  • 我怀疑这里问错了问题,因此给出了错误的答案。
【解决方案3】:

我们有同样的问题。 Square 似乎是为简单的电子商务网站量身定制的。不符合 PCI 的站点。

我们是 PCi 1 级。我们有一个自定义付款表格。

Square 要求您必须使用他们的付款表格才能获得他们的 nonce(令牌等价物)。这显然意味着您不能重复使用现有的付款字段。

此外,他们的 api 文档很差。

1 他们说您可以使用 Checkout api 并使用他们的表单。在这种情况下,您不需要符合 pci。

这里没有投诉

  1. 他们还说,如果您想控制 UIUX,可以使用他们的 Transactions API。
    但在这种情况下,他们没有提及如何获得随机数。
    到处寻找,您会发现获得 nonce 的唯一方法是使用付款表格。

显然,这意味着您必须将他们的付款表单字段用作 iframe

这不是自定义 ui/ux。

支付开发人员需要基于 API 的卡号标记化。显然,这需要 pCI 合规性。 Square 不支持这一点。

我建议您为高级网站使用另一个支付处理层。

【讨论】:

  • 这确实应该被标记为答案。为我节省了额外的时间。
  • 获取nonce的方法是使用方形支付表。要重复使用卡详细信息,您可以将 nonce 保存为客户卡,然后使用客户 nonce 进行充值(指回客户下保存的卡详细信息)。
【解决方案4】:

应该可以通过 phantom.js 使用虚拟终端进行模拟

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 2016-07-20
    • 2020-09-10
    • 1970-01-01
    相关资源
    最近更新 更多