我正在使用Braintree
作为我的iOS应用程序的付款网关。
我创建了一个Node.js服务器来处理付款。
我想使用用户管理系统中使用的用户ID的客户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在生产模式下会接受有效的信用卡号吗?)
最佳答案
我在Braintree工作。如果您还有其他疑问,请随时与support联系。
您用来执行更新API调用的用户可能没有执行卡验证的正确权限。我建议检查用户角色,并确保它具有所有必需的权限:https://articles.braintreepayments.com/control-panel/basics/users-roles#creating-and-editing-roles
如果执行此操作后仍然收到授权错误,建议您与Braintree support.联系。
关于ios - Braintree:在沙盒模式下使用CVV验证创建或更新客户时出现授权错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42593955/