我正在尝试向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端点会返回错误。"
如果我尝试存储card_nonce
定期结算,我可以使用card_nonce
一次并重复使用它进行结算吗?
客户每次想要结账时都必须输入卡信息吗?
card_nonce
是代表卡的状态,还是代表特定卡交易的密钥?
答案 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通常是一次性身份验证令牌或一次性密钥。所以...
根据定义,nonce对任何重复出现的内容都没有用。
是的,客户每次都需要重新输入信息。
card_nonce可能代表该卡的单一身份验证。
当然,如果他们以不同的方式定义它,我的答案可能全部都是: - )