首页 > 解决方案 > 如何使用 Accept.js 获取两个单独的随机数?

问题描述

我将Authorize.Net Accept.js用于使用ARBCreateSubscriptionRequestAPI进行订阅的自定义购物车,我们将付款随机数作为不透明的数据元素传递给它。

虽然这可行,但它有以下 3 个故障发生在ARBCreateSubscriptionRequest(订阅)上,但不会发生在CreateTransactionRequest(单次付款)上:

他们与 Authorize.Net 技术支持合作,确认正确的程序是:

  1. 用于CreateTransactionRequest创建订阅的初始付款,从而立即响应并解决上面列出的问题。
  2. 然后,他们说要遵循这一点,ARBCreateSubscriptionRequest其中开始日期是他们订阅的下一个期限。

当然,是的,即使没有CreateTransactionRequest,但仅ARBCreateSubscriptionRequest在 24 小时后订阅初始付款开始时使用,卡将失败,并且可以将 webhook 消息发送到我的购物车,让我知道禁用我启用的任何内容。但是,立即响应会更合适,并且肯定会减轻潜在的客户挫败感和商家的挫败感。另外,如果一个人在购买时运送了一些东西,那么商家知道购买是否有效是至关重要的。

例如,假设我每月收取 9 美元的订阅费。当月的第一笔付款是CreateTransactionRequest9 美元。然后,ARBCreateSubscriptionRequest延迟创建在下个月的第一天开始,每个月的间隔。因此,客户在购买后立即以最初的 9 美元获得处理(通过/失败)。然后,当下个月开始时,他们的订阅费用为 9 美元/月。

好的,我明白这一点 100%。但是在这里我没有在文档或支持票中得到明确的答案。和CreateTransactionRequest两者ARBCreateSubscriptionRequest 都需要自己独特的支付随机数

关键问题:如果使用 Accept.js 生成单个 nonce,我如何获得两个 nonce?如果我使用 Accept.js 生成第二个随机数,它会使前一个无效吗?我很困惑,文档没有解释。

标签: javascripte-commercesubscriptionauthorize.netaccept.js

解决方案


如果您想验证来自 Accept.js 随机数的卡信息,处理初始交易,然后创建订阅,您可以尝试以下顺序:

  1. createTransactionRequest与 nonce 一起使用并设置 createProfile=true。网关将处理您的交易,包括验证卡号、到期时间和 CCV。如果成功,则创建客户档案。
  2. 使用客户资料创建您的订阅。

推荐阅读