javascript - 如何使用nodejs在braintree沙箱账户中添加持卡人姓名

标签 javascript braintree

我必须使用 node js 应用程序动态添加信用卡持卡人姓名。我使用 Braintree 进行支付交易。我添加了信用卡号、有效期和 CVV。但不添加信用卡持卡人姓名。我该怎么做?

braintree.hostedFields.create({
    client: clientInstance,
    styles: {
        'input.invalid': {
            'color': 'red'
        },
        'input.valid': {
            'color': 'green'
        }
    },
    fields: {
        number: {
            selector: '#cardNumber'
        },
        cvv: {
            selector: '#cardCVC'
        },
        expirationDate: {
            selector: '#cardExpiry'
        }
    }

最佳答案

全面披露:我在 Braintree 工作。如果您还有任何问题,欢迎随时contact support .

Braintree Hosted Fields不支持对持卡人姓名使用 iFrame。列出了可用的 fieldOptions here .相反,您需要向 HTML form 元素添加额外的输入:

<form action="/" id="my-sample-form" method="post">
  <label for="card-number">Card Number</label>
  <div id="card-number"></div>

  <label for="cvv">CVV</label>
  <div id="cvv"></div>

  <label for="expiration-date">Expiration Date</label>
  <div id="expiration-date"></div>

  <label for="cardholder-name">Cardholder Name</label>
  <input id="cardholder-name" name="cardholderName" placeholder="Cardholder Name"/>

  <input type="submit" value="Pay" disabled />
</form>

您的 cardholderName 输入的值随后可以在您的 braintree.hostedFields.create 调用中作为 event.target.cardholderName.value 访问,并且可以包含在 options object of the tokenize call 中:

    braintree.hostedFields.create({
      client: clientInstance,
      styles: {
        'input.invalid': {
          'color': 'red'
        },
        'input.valid': {
          'color': 'green'
        }
      },
      fields: {
        number: {
          selector: '#card-number',
          placeholder: '4111 1111 1111 1111'
        },
        cvv: {
          selector: '#cvv',
          placeholder: '123'
        },
        expirationDate: {
          selector: '#expiration-date',
          placeholder: '10/2019'
        }
      }
    }, function (hostedFieldsErr, hostedFieldsInstance) {
      if (hostedFieldsErr) {
        console.error(hostedFieldsErr);
        return;
      }

      submit.removeAttribute('disabled');

      form.addEventListener('submit', function (event) {
        event.preventDefault();

        hostedFieldsInstance.tokenize({
          cardholderName: event.target.cardholderName.value
        }, function (tokenizeErr, payload) {
          if (tokenizeErr) {
            console.error(tokenizeErr);
            return;
          }

          // Submit nonce to your server here
          console.log(payload.nonce);

        });
      }, false);
    });

关于javascript - 如何使用nodejs在braintree沙箱账户中添加持卡人姓名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45808889/

相关文章:

javascript - Html5 音频 Jquery 不工作

Java Braintree 检查交易

ios - 如何使用braintree沙箱测试paypal支付

ios - 如何在签证结帐中使用文本字段数据作为货币金额

payment - 从 Braintree 账户汇款到客户账户

php - Laravel:将 Braintree 与 Cashier 集成

javascript - 如何在 Coldfusion 8 中生成确认弹出窗口

javascript - 基本构造函数对象帮助 - JS

javascript - jQuery:附加可移动的div

javascript - PayPal 开发人员关于逗号的问题