SHARE
TWEET

Untitled

_jose_martins_ Jun 12th, 2019 196 in 2 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <pre class="lang-rb prettyprint prettyprinted">
  2. <code>
  3.  
  4. <?php
  5. use \PhpPot\Service\StripePayment;
  6. $domain = "mmsecurity.pt";
  7.  
  8. if (!empty($_POST["token"])) {
  9.  
  10.  
  11.     $firstname = $_POST['firstname'];
  12.     $surname = $_POST['surname'];
  13.     $username = $_POST['username'];
  14.     $password = $_POST['password'];
  15.     $cPassword = $_POST['cPassword'];
  16.  
  17.     $email= "$username@$domain";
  18.  
  19.     //Check if the passwords match
  20.     if ($password != $cPassword){
  21.         $errorMessage = "Passwords didn't match. Please try again.";
  22.     }else{
  23.          //check if username is not already taken
  24.         $stmt = $conn->prepare("SELECT username FROM mailbox WHERE username = '$email'");
  25.         $stmt->execute();
  26.  
  27.         if($stmt->rowCount() > 0){
  28.             $errorMessage = "Username already exists.";
  29.         } else {
  30.              // insert into db and do the payment
  31.             require_once("vendor/autoload.php");
  32.             require_once("config.php");
  33.        
  34.         // my variables
  35.  
  36.         // Stripe Payments
  37.         \Stripe\Stripe::setApiKey($stripe['secret_key']);
  38.  
  39.         $token  = $_POST['stripeToken'];
  40.         $plan = "plan id";
  41.         //create customer
  42.         $customer = \Stripe\Customer::create([
  43.             'email' => $email,
  44.             'source'  => $token,
  45.         ]);
  46.       //subscribe customer to plan
  47.          $subscription = \Stripe\Subscription::create(array(
  48.             "customer" => $customer->id,
  49.             "items" => array(
  50.                 array(
  51.                     "plan" => $plan,
  52.                 ),
  53.             ),
  54.         ));
  55.         //insert into DB
  56.         $sql2 = $con->query("INSERT INTO mailbox (`username`,`password`,`name`,`quota`,`local_part`,`domain`,`attributes`,`active`)
  57.        VALUES ('$email','$hashedpassword','$name','$quota','$username','$domain','$attributes','1');
  58.        ");
  59.        
  60.          $sql3 = $con->query("INSERT INTO  alias (`address`,`goto`,`domain`,`active`)
  61.            VALUES ('$email','$email','$domain','1');
  62.        ");
  63.         $successMessage = "You have been registered and payment has been sent. Now you can login here</a>";
  64.         }
  65.         }
  66.     }
  67. ?>
  68.  
  69. <!DOCTYPE html>
  70. <html>
  71. <body>
  72.         <div class="field-row">
  73.                     <h6><span style='font-size:30px;'>&#10115;</span><b>Card Number</b></h6> <input
  74.                         type="text" id="card-number" name="card-number"
  75.                         class="demoInputBox">
  76.                 </div>
  77.                 <div class="field-row">
  78.                     <div class="contact-row column-right">
  79.                         <br><h6><span style='font-size:30px;'>&#10116;</span><b>Expiry Month / Year</b></h6>
  80.                         <select name="month" id="month"
  81.                             class="demoSelectBox">
  82.                             <option value="01">01</option>
  83.                             <option value="02">02</option>
  84.                             <option value="03">03</option>
  85.                             <option value="04">04</option>
  86.                             <option value="05">05</option>
  87.                             <option value="06">06</option>
  88.                             <option value="07">07</option>
  89.                             <option value="08">08</option>
  90.                             <option value="09">09</option>
  91.                             <option value="10">10</option>
  92.                             <option value="11">11</option>
  93.                             <option value="12">12</option>
  94.                         </select> <select name="year" id="year"
  95.                             class="demoSelectBox">
  96.                             <option value="19">2019</option>
  97.                             <option value="20">2020</option>
  98.                             <option value="21">2021</option>
  99.                             <option value="22">2022</option>
  100.                             <option value="23">2023</option>
  101.                             <option value="24">2024</option>
  102.                             <option value="25">2025</option>
  103.                             <option value="26">2026</option>
  104.                             <option value="27">2027</option>
  105.                             <option value="28">2028</option>
  106.                             <option value="29">2029</option>
  107.                             <option value="30">2030</option>
  108.                         </select>
  109.                     </div>
  110.                     <div class="contact-row cvv-box">
  111.                     <h6><span style='font-size:30px;'>&#10117;</span><b>CVC</b></h6> <span id="cvv-info"
  112.                             class="info"></span> <input type="text"
  113.                             name="cvc" id="cvc"
  114.                             class="demoInputBox cvv-input">
  115.                     </div>
  116.                 </div>
  117.  
  118.                
  119.         <div align="center">
  120.             <br>
  121.         <p> <span >By clicking Create Account, you agree with</span><br>
  122.         <a href="https://mmsecurity.pt/terms" target="_blank" >MM Security's Terms and Conditions</a>. </p>
  123.         <div>
  124.                     <input type="submit" name="pay_now" value="Pay and Register"
  125.                         id="submit-btn" class="btnAction"
  126.                         onClick="stripePay(event);">
  127.  
  128.                     <div id="loader">
  129.                         <img alt="loader" src="LoaderIcon.gif">
  130.                     </div>
  131.                 </div>
  132.          <script type="text/javascript" src="https://js.stripe.com/v2/"></script>
  133.     <script src="vendor/jquery/jquery-3.2.1.min.js"
  134.         type="text/javascript"></script>
  135.     <script>
  136. function cardValidation () {
  137.     var valid = true;
  138.     var firstname = $('#firstname').val();
  139.     var surname = $('#surname').val();
  140.     var username = $('#username').val();
  141.     var password = $('#password').val();
  142.     var cpassword = $('#cpassword').val();
  143.     var cardNumber = $('#card-number').val();
  144.     var month = $('#month').val();
  145.     var year = $('#year').val();
  146.     var cvc = $('#cvc').val();
  147.  
  148.     $("#error-message").html("").hide();
  149.  
  150.     if (firstname.trim() == "") {
  151.         valid = false;
  152.     }
  153.     if (surname.trim() == "") {
  154.         valid = false;
  155.     }
  156.     if (username.trim() == "") {
  157.            valid = false;
  158.     }
  159.     if (password.trim() == "") {
  160.            valid = false;
  161.     }
  162.     if (cpassword.trim() == "") {
  163.            valid = false;
  164.     }
  165.     if (cardNumber.trim() == "") {
  166.            valid = false;
  167.     }
  168.     if (month.trim() == "") {
  169.             valid = false;
  170.     }
  171.     if (year.trim() == "") {
  172.         valid = false;
  173.     }
  174.     if (cvc.trim() == "") {
  175.         valid = false;
  176.     }
  177.  
  178.     if(valid == false) {
  179.         $("#error-message").html("All Fields are required").show();
  180.     }
  181.  
  182.     return valid;
  183. }
  184. //set your publishable key
  185. Stripe.setPublishableKey("pk_test_D3LrDFbzlfVxxgc2KicX17d3007qIos6cF");
  186.  
  187. //callback to handle the response from stripe
  188. function stripeResponseHandler(status, response) {
  189.     if (response.error) {
  190.         //enable the submit button
  191.         $("#submit-btn").show();
  192.         $( "#loader" ).css("display", "none");
  193.         //display the errors on the form
  194.         $("#error-message").html(response.error.message).show();
  195.     } else {
  196.         //get token id
  197.         var token = response['id'];
  198.         //insert the token into the form
  199.         $("#create-account").append("<input type='hidden' name='token' value='" + token + "' />");
  200.         //submit form to the server
  201.         $("#create-account").submit();
  202.     }
  203. }
  204. function stripePay(e) {
  205.     e.preventDefault();
  206.     var valid = cardValidation();
  207.  
  208.     if(valid == true) {
  209.         $("#submit-btn").hide();
  210.         $( "#loader" ).css("display", "inline-block");
  211.         Stripe.createToken({
  212.             number: $('#card-number').val(),
  213.             cvc: $('#cvc').val(),
  214.             exp_month: $('#month').val(),
  215.             exp_year: $('#year').val()
  216.         }, stripeResponseHandler);
  217.  
  218.         //submit from callback
  219.         return false;
  220.     }
  221. }
  222. </script>
  223.        
  224.     </div>
  225. </body>
  226. </html>  `
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top