Advertisement
nate_ramanan

StripeConfirmPaymentCodeCheck

Mar 30th, 2020
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. @model GamePlay.Dal.Model.Contact
  2. @{
  3.     ViewData["Title"] = "SetupPayment";
  4.     Layout = "~/Views/Shared/_Layout.cshtml";
  5. }
  6.     <form id="setup-form" >
  7.         <input type="hidden" value="@ViewBag.ClientSecret" id="data-secret" />
  8.         <h1>SetupPayment</h1>
  9.         <div class="row">
  10.             <div class="col-md-6">
  11.                 <div class="form-group">
  12.                     <label for="name">Name</label>
  13.                     <input class="form-control" id="name" type="text" value="@Model.FullName" autocomplete="name">
  14.                 </div>
  15.                 <div class="form-group">
  16.                     <label for="email">Email</label>
  17.                     <input class="form-control" id="email" type="email" value="@Model.EmailAddress" autocomplete="email">
  18.                 </div>
  19.                 <div class="form-group">
  20.                     <label for="phone">Phone</label>
  21.                     <input class="form-control" id="phone" type="tel" value="@Model.MobilePhone"  autocomplete="tel">
  22.                 </div>
  23.                 <div class="form-group">
  24.                     <div class="form-control" id="card-element">
  25.  
  26.                     </div>
  27.                 </div>
  28.                 <div class="form-group">
  29.                     Country: USA
  30.                 </div>
  31.                 <div class="sr-field-error" id="card-errors" role="alert"></div>
  32.  
  33.            
  34.                 <div class="form-group">
  35.                     <button id="card-button" class="form-group">
  36.                         <div class="spinner hidden" id="spinner"></div>
  37.                         Save Card
  38.                     </button>
  39.  
  40.                 </div>
  41.             </div>
  42.         </div>
  43.  
  44.  
  45.     </form>
  46.     <link rel="stylesheet" href="~/css/stripe.css" />
  47. @section Scripts {  
  48.  
  49. <script src="https://js.stripe.com/v3/"></script>
  50. <script>
  51.     var stripe = Stripe('@ViewBag.StripePublishKey');
  52.     var elements = stripe.elements();
  53.    
  54.     // Element styles
  55.  
  56.   var style = {
  57.  
  58.     base: {
  59.  
  60.       fontSize: "16px",
  61.  
  62.       color: "#32325d",
  63.  
  64.       fontFamily:
  65.  
  66.         "-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif",
  67.  
  68.       fontSmoothing: "antialiased",
  69.  
  70.       "::placeholder": {
  71.  
  72.           color: "rgba(0,0,0,0.4)"
  73.       }
  74.  
  75.     }
  76.  
  77.   };
  78.  
  79.  
  80.  
  81.   var cardObj = elements.create("card");
  82.  
  83.  
  84.  
  85.   cardObj.mount("#card-element");
  86.  
  87.  
  88.  
  89.   // Element focus ring
  90.  
  91.   cardObj.on("focus", function() {
  92.  
  93.     var el = document.getElementById("card-element");
  94.  
  95.     el.classList.add("focused");
  96.  
  97.   });
  98.  
  99.  
  100.  
  101.   cardObj.on("blur", function() {
  102.  
  103.     var el = document.getElementById("card-element");
  104.  
  105.     el.classList.remove("focused");
  106.  
  107.   });
  108.  
  109.    var cardButton = document.getElementById('card-button');
  110.      
  111.  
  112.  
  113.     cardButton.addEventListener('click', function (ev) {
  114.         var cardholderName = document.getElementById("name").value;
  115.         var clientSecret = document.getElementById("data-secret").value;
  116.         var emailStr = document.getElementById("email").value;
  117.         var phoneStr = document.getElementById("phone").value;
  118.        // alert(clientSecret + " " + cardholderName);
  119.         console.log(cardObj);
  120.         stripe.confirmCardSetup(
  121.             clientSecret,
  122.             {
  123.               payment_method: {
  124.                 card: cardObj,
  125.                 billing_details: {
  126.                   name: cardholderName , email: emailStr
  127.                 }
  128.               }
  129.             }
  130.           ).then(function(result) {
  131.             if (result.error) {
  132.                 alert("result.error");
  133.             } else {
  134.                 alert("success");
  135.             }
  136.           });        
  137.        
  138.     });
  139.  
  140.      
  141.  
  142.    
  143. </script>
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement