条纹元素和3D安全

时间:2018-06-25 13:32:10

标签: php stripe-payments

我最近开始使用条纹元素。 现在,我需要使它具有完整的3d安全性,然后将客户保存为带区并将客户令牌保存到我的数据库中。 我知道如何吸引客户,但以前从未使用过3d安全和资源。

所以我的问题是: 我如何检查信号源是否可以与3D Secure一起使用? 在我的脚本中使用API​​ v3。

这是先前设置我的api密钥后即时通讯所使用的脚本。

<script>
    // Custom styling can be passed to options when creating an Element.
    var style = {
      base: {
        color: '#32325d',
        lineHeight: '18px',
        fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
        fontSmoothing: 'antialiased',
        fontSize: '16px',
        '::placeholder': {
          color: '#aab7c4'
        }
      },
      invalid: {
        color: '#fa755a',
        iconColor: '#fa755a'
      }
    };

    // Create an instance of the card Element.
    var card = elements.create('card', {style: style});

    // Add an instance of the card Element into the `card-element` <div>.
    card.mount('#card-element');
    card.addEventListener('change', function(event) {
        var displayError = document.getElementById('card-errors');
        if (event.error) {
          displayError.textContent = event.error.message;
        } else {
          displayError.textContent = '';
        }
     });

  // Create a source or display an error when the form is submitted.
  var form = document.getElementById('payment-form');
  form.addEventListener('submit', function(event) {
    event.preventDefault();

    stripe.createSource(card).then(function(result) {
      if (result.error) {
        // Inform the user if there was an error
        var errorElement = document.getElementById('card-errors');
        errorElement.textContent = result.error.message;
      } else {
        // Send the source to your server
        stripeSourceHandler(result.source);
      }
    });
  });
  function stripeSourceHandler(source) {

      // Insert the source ID into the form so it gets submitted to the server
      var form = document.getElementById('payment-form');
      var hiddenInput = document.createElement('input');
      hiddenInput.setAttribute('type', 'hidden');
      hiddenInput.setAttribute('name', 'stripeSource');
      hiddenInput.setAttribute('value', source.id);
      form.appendChild(hiddenInput);

      // Submit the form
      form.submit();
    }
</script>

我非常了解PHP,并且希望在可能的情况下使用它。

谢谢!

1 个答案:

答案 0 :(得分:1)

此处提供了有关将3DS与Stripe集成的完整文档:https://stripe.com/docs/sources/three-d-secure

对于您的直接问题,要检查某源是否支持3DS,您需要检查该源的card.three_d_secure属性的值:https://stripe.com/docs/sources/three-d-secure#check-requirement