Braintree:在沙盒模式下使用 CVV 验证创建或更新客户时出现授权错误

Braintree: Authorization Error when creating or updating a customer with a CVV verification in Sandbox mode

我正在使用 Braintree 作为我的 iOS 应用程序的支付网关。
我创建了一个 Node.js 服务器来处理付款。
我想用用户管理系统中使用的用户id的customer id创建客户。

BraintreeGateway.customer.update(req.uid, {
  paymentMethodNonce,
  verifyCard: process.env.NODE_ENV === 'production'
}, (err, result) => {
  if (err) {
    next(err);
  } else {
    if (result.success) {
      req.customer = result.customer
      console.info('Payment Method:', result.customer.paymentMethods[0])
      res.send({
        status: HttpStatus.OK,
        message: 'Successfully updated!'
      })
    } else {
      next({
        error: 'Failed to update a payment method!',
        result
      })
    }
  }
})

这里req.uid是用户的唯一标识。
它在没有在 Braintree 控制面板中启用 CVV 验证设置的情况下运行良好。 Here
但是启用 CVV 验证设置后,我得到 authorizationError: Authorization Error,这意味着 API 密钥无效。Here
我正在使用 DropIn UI 输入信用卡并将 paymentMethodNonce 正确传递给服务器。
当前测试信用卡号为 Number: 4242 4242 4242 4242 Exp: 12/2019 CVV: 123.

这里有什么错误?它会在生产模式下工作吗? (Braintree 会在生产模式下接受有效的信用卡号吗?)

我在布伦特里工作。如果您有任何其他问题,请随时联系 support.

您用来执行更新 API 调用的用户可能没有执行卡验证的正确权限。我建议检查用户的角色并确保它具有所有必要的权限:https://articles.braintreepayments.com/control-panel/basics/users-roles#creating-and-editing-roles

如果执行此操作后您仍然收到授权错误,我建议联系 Braintree support.