javascript - Braintree - TokenizeCard 不起作用

标签 javascript php braintree

我正在尝试通过以下代码使用新值更新保存在 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 标记信用卡时,如何更新现有的帐单地址?

最佳答案

我在布伦特里工作。如果您需要任何其他帮助,请随时联系我们 [email protected] .

调用 tokenizeCard 时,调用中包含的银行卡和帐单地址信息不会添加到您的保管库中。因此,不应使用 updateExisting,并且在尝试对卡进行 token 化时会返回错误。

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

关于javascript - Braintree - TokenizeCard 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29969491/

相关文章:

javascript - 不止一次触发 JS 脚本

php - 如何包含文档根目录之外的文件?

paypal - Braintree 生产帐户请求被拒绝

javascript - 如何在 Visual Studio 2015 中进行捆绑和缩小

javascript - 亚马逊云端为不同的用户提供不同的 Assets ?

php - 使用 PHP 清理 HTML 以创建干净的字符串

jquery - 使用 Braintree 自定义表单以编程方式提交

javascript - Vaadin JavaScript API 集成

javascript - 过滤数组中 45,000 个条目的最快和最有效的方法是什么?

php - Laravel 将 2 个更新查询重写为 1 个