php 如何从后端使用Square API获取卡的Nonce

xe55xuns  于 2023-06-04  发布在  PHP
关注(0)|答案(5)|浏览(477)

在我的应用程序中,我需要从后端处理卡,我已经在使用其他支付网关进行此操作,但对于Square Connect,我找不到任何内容。
我的问题是如何从后台生成Square Card Nonce?我应该调用什么API?
看了他们的全部文件。

kiz8lqtg

kiz8lqtg1#

我们有同样的问题。Square似乎是为简单的ecom网站量身定制的。不符合PCI标准的站点。
我们是PCI Level 1。我们有一个自定义的付款方式。
Square要求你必须使用他们的付款表单来获取他们的nonce(代币等价物)。这显然意味着您不能重用现有的付款字段。
此外,他们的API文档很差。
1他们说你可以使用Checkout API和使用他们的表单。在这种情况下,您不需要符合pci标准。
这里没有抱怨
1.他们还说,如果你想控制你的UIUX,你可以使用他们的Transactions API。
但在这种情况下,他们没有提到如何获得NONCE。
搜索一下,你会发现获得随机数的唯一方法是使用付款形式。
显然,这意味着您必须使用他们的支付表单字段作为iframe
这不是自定义UI/UX。
支付开发人员希望基于API的卡号令牌化。显然,这需要符合pCI。Square不支持这一点。
我建议你使用另一个支付处理层为先进的网站。

4xy9mtcn

4xy9mtcn2#

为了通过Square生成卡片随机数,您必须使用SqPaymentForm。https://docs.connect.squareup.com/payments/sqpaymentform/sqpaymentform-overview
然后,您可以将卡随机数传递给Transactions API中的Charge端点:https://docs.connect.squareup.com/payments/transactions/overview
但是,您也可以使用Checkout API进行付款(可定制性较低,但更容易设置):https://docs.connect.squareup.com/payments/checkout/overview

9cbw7uwe

9cbw7uwe3#

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

xwmevbvl

xwmevbvl4#

应该可以通过phantom.js模拟虚拟终端

uqxowvwt

uqxowvwt5#

你没有得到一个随机数,你创造了一个随机数。它可以是任何字符串,但必须与使用的所有其他随机数字符串唯一。我使用我的客户ID与日期连接,因为在我的情况下,我知道客户每月只收到一次发票。

相关问题