braintree - TokenizeCard 不工作

braintree - TokenizeCard not working

我正在尝试通过以下代码使用新值更新保存在 braintree 保险库中的信用卡:-

var data = {
        cardholderName: $('#cardholder_name').val(),
        expirationDate: $('#expiration_date').val(),
        cvv: $('#cvv').val(),
        billingAddress: {
            firstName: $('#firstName').val(),
            lastName: $('#lastName').val(),
            streetAddress: $('#streetAddress').val(),
            locality: $('#city').val(),
            region: $('#state').val(),
            postalCode: $('#postalCode').val(),
            countryName: $('input[name="country"]').val(),
        }
    };
    if($('#number').prop('disabled') == false) {
        data.number = $('#number').val();
    }
    data.billingAddress['options'] = { updateExisting: true };

var client = new braintree.api.Client({clientToken: "<?=$client_token?>"});
client.tokenizeCard(data, function (err, nonce) {
});

上面的代码在我删除

时工作正常
data.billingAddress['options'] = { updateExisting: true };

如果我包含以上行,我会收到无法标记卡的错误消息。当我通过 javascript 标记信用卡时,如何更新现有的账单地址?

我在布伦特里工作。如果您需要任何其他帮助,请随时通过 support@braintreepayments.com.

与我们联系

呼叫 tokenizeCard 时,呼叫中包含的银行卡和账单地址信息不会添加到您的保险库中。因此,不应使用 updateExisting,并且在尝试标记卡时会 return 出错。

要更新现有信用卡,您需要将收到的随机数传递给服务器,然后调用 Braintree_PaymentMethod::update() 来更新信息。进行此调用时,您需要确保拥有原始信用卡的令牌(当您首次调用 Braintree_PaymentMethod::create()Braintree_CreditCard::create()).

时 returned