如何在使用托管字段时处理现有的客户付款方式?

时间:2016-02-11 04:18:48

标签: javascript php braintree

我正在使用Braintree托管字段来处理付款,但我在查找或查找如何为客户提交现有付款方式方面遇到问题。使用braintree_customer_id我可以检索客户信息,包括包含last4数字,cardType,令牌和其他信息的creditCards数组。由于我使用托管字段,我使用的javascript看起来像:

braintree.setup("<?= $clientToken ?>", 'custom', {
  id: 'my-form',
  hostedFields: {
    styles: {
      'input': {
        'font-family': '"Helvetica Neue", Helvetica, Arial, sans-serif',
        'font-size': '14px',
      },
      '::-moz-placeholder': { 'color': '#999' },
      ':-ms-input-placeholder': { 'color': '#999' },
      '::-webkit-input-placeholder': { 'color': '#999' },
    },
    number: {
      selector: '#hosted-fields-number',
      placeholder: 'Credit Card Number'
    },onFieldEvent: handleFieldEvent,
    cvv: {
      selector: '#hosted-fields-cvv',
      placeholder: 'CVV'
    },
    expirationDate: {
      selector: '#hosted-fields-expiration',
      placeholder: 'Expiration Date'
    }
  }, onPaymentMethodReceived: function (obj) {
        var nonce = obj.nonce;
        console.log(obj);
        if(nonce){
            final_checkout(nonce);
        }
    },
    onError: function (){
        alert('wrong details');
    }
});

如何获得能够执行付款流程所需的付款方式?以下示例使用托管字段,如何使用customer_id和令牌处理现有客户?

1 个答案:

答案 0 :(得分:-1)

完全披露:我在Braintree工作。如果您还有其他问题,请随时contact support

对特定客户的付款方式收取的所有费用均为paymentMethodToken。由于此信息不是PCI敏感数据,您可以将其直接传递到服务器并进行Braintree_Transaction::sale调用。这可以在托管字段流之外完成。您可以让客户指定特定的付款方式,也可以输入新付款方式的信息。