Square nonce代表什么?

时间:2017-05-10 20:58:10

标签: javascript square square-connect

我正在尝试向Square提交付款,但我不确定card_nonce代表什么。

在此处找到的完整API文档中:https://docs.connect.squareup.com/api/connect/v2/#endpoint-createcustomercard

它声明,"代表信用卡的卡片随机数链接到客户。"

但是,在此处找到的REST付款处理文档中:https://docs.connect.squareup.com/articles/processing-payment-rest

它表示,"卡片nonce 24小时后到期。如果您尝试对过期的现时充电,则Charge端点会返回错误。"

  1. 如果我尝试存储card_nonce定期结算,我可以使用card_nonce一次并重复使用它进行结算吗?

  2. 客户每次想要结账时都必须输入卡信息吗?

  3. card_nonce是代表卡的状态,还是代表特定卡交易的密钥?

3 个答案:

答案 0 :(得分:4)

卡片随机数是信用卡的标记形式。您只能使用一次,它们会过期。它“代表”一张信用卡,以及最终用户在您的付款表单中输入的所有详细信息。

如果您想将其用于重新付款,请阅读Square文档中的Processing reoccurring payments

您将卡附加到客户,然后使用客户的卡ID对付款终端进行付款,而最终用户无需再次输入其信用卡详细信息。

答案 1 :(得分:1)

根据Square文档(下面的链接),您可以使用以下任一值作为nonce。确保使用沙箱凭据进行测试。

fake-card-nonce-ok — returns a successful test transaction.
fake-card-nonce-declined — returns a "Card Declined" error.

e.g。 - 使用“fake-card-nonce-ok”或“fake-card-nonce-rejected”替换下面的nonce。

ChargeRequest body = new ChargeRequest(AmountMoney: amount, IdempotencyKey: uuid, CardNonce: nonce);

https://docs.connect.squareup.com/articles/using-sandbox

这将返回带有事务结果信息的JSON对象。

答案 2 :(得分:0)

也不是Square开发者,但使用术语“nonce”似乎意味着你的问题的答案。基本上,nonce通常是一次性身份验证令牌或一次性密钥。所以...

  1. 根据定义,nonce对任何重复出现的内容都没有用。

  2. 是的,客户每次都需要重新输入信息。

  3. card_nonce可能代表该卡的单一身份验证。

  4. 当然,如果他们以不同的方式定义它,我的答案可能全部都是: - )