Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Untitled Document</title>
  6.  
  7. <style>
  8. /**
  9. * The CSS shown here will not be introduced in the Quickstart guide, but shows
  10. * how you can use CSS to style your Element's container.
  11. */
  12. .StripeElement {
  13. box-sizing: border-box;
  14.  
  15. height: 40px;
  16.  
  17. padding: 10px 12px;
  18.  
  19. border: 1px solid transparent;
  20. border-radius: 4px;
  21. background-color: white;
  22.  
  23. box-shadow: 0 1px 3px 0 #e6ebf1;
  24. -webkit-transition: box-shadow 150ms ease;
  25. transition: box-shadow 150ms ease;
  26. }
  27.  
  28. .StripeElement--focus {
  29. box-shadow: 0 1px 3px 0 #cfd7df;
  30. }
  31.  
  32. .StripeElement--invalid {
  33. border-color: #fa755a;
  34. }
  35.  
  36. .StripeElement--webkit-autofill {
  37. background-color: #fefde5 !important;
  38. }
  39. </style>
  40.  
  41. <script>
  42. // Create a Stripe client.
  43. var stripe = Stripe('pk_test_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
  44.  
  45. // Create an instance of Elements.
  46. var elements = stripe.elements();
  47.  
  48. // Custom styling can be passed to options when creating an Element.
  49. // (Note that this demo uses a wider set of styles than the guide below.)
  50. var style = {
  51. base: {
  52. color: '#32325d',
  53. fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
  54. fontSmoothing: 'antialiased',
  55. fontSize: '16px',
  56. '::placeholder': {
  57. color: '#aab7c4'
  58. }
  59. },
  60. invalid: {
  61. color: '#fa755a',
  62. iconColor: '#fa755a'
  63. }
  64. };
  65.  
  66. // Create an instance of the card Element.
  67. var card = elements.create('card', {style: style});
  68.  
  69. // Add an instance of the card Element into the `card-element` <div>.
  70. card.mount('#card-element');
  71.  
  72. // Handle real-time validation errors from the card Element.
  73. card.addEventListener('change', function(event) {
  74. var displayError = document.getElementById('card-errors');
  75. if (event.error) {
  76. displayError.textContent = event.error.message;
  77. } else {
  78. displayError.textContent = '';
  79. }
  80. });
  81.  
  82. // Handle form submission.
  83. var form = document.getElementById('payment-form');
  84. form.addEventListener('submit', function(event) {
  85. event.preventDefault();
  86.  
  87. stripe.createToken(card).then(function(result) {
  88. if (result.error) {
  89. // Inform the user if there was an error.
  90. var errorElement = document.getElementById('card-errors');
  91. errorElement.textContent = result.error.message;
  92. } else {
  93. // Send the token to your server.
  94. stripeTokenHandler(result.token);
  95. }
  96. });
  97. });
  98.  
  99. // Submit the form with the token ID.
  100. function stripeTokenHandler(token) {
  101. // Insert the token ID into the form so it gets submitted to the server
  102. var form = document.getElementById('payment-form');
  103. var hiddenInput = document.createElement('input');
  104. hiddenInput.setAttribute('type', 'hidden');
  105. hiddenInput.setAttribute('name', 'stripeToken');
  106. hiddenInput.setAttribute('value', token.id);
  107. form.appendChild(hiddenInput);
  108.  
  109. // Submit the form
  110. form.submit();
  111. }
  112. </script>
  113. </head>
  114.  
  115. <body>
  116.  
  117. <script src="https://js.stripe.com/v3/"></script>
  118.  
  119. <form action="/charge" method="post" id="payment-form">
  120. <div class="form-row">
  121. <label for="card-element">
  122. Credit or debit card
  123. </label>
  124. <div id="card-element">
  125. <!-- A Stripe Element will be inserted here. -->
  126. </div>
  127.  
  128. <!-- Used to display form errors. -->
  129. <div id="card-errors" role="alert"></div>
  130. </div>
  131.  
  132. <button>Submit Payment</button>
  133. </form>
  134.  
  135. </body>
  136. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement