Download Stripe SDK

//Create & append stripe token in payment form

// Set your publishable key
Stripe.setPublishableKey('<?php echo STRIPE_PUBLISHABLE_KEY; ?>');

// Callback to handle the response from stripe
function stripeResponseHandler(status, response) {
   if (response.error) {
        // Enable the submit button
        $('#payBtn').removeAttr("disabled");
        // Display the errors on the form
        $(".payment-status").html('<p>'+response.error.message+'</p>');
     } else {
      var form$ = $("#paymentFrm");
        // Get token id
        var token = response.id;
        // Insert the token into the form
        const tokens = token;
        form$.append("<input type='hidden' name='stripeToken' value='" + token + "' />");
        // Submit form to the server
        //form$.get(0).submit();
     }
  }
  const tk = jQuery('input[name="stripeToken"]').val();

Setup API key

    define('STRIPE_API_KEY', 'sk_test_XXXXXXXXXXXXX'); 
    define('STRIPE_PUBLISHABLE_KEY', 'pk_test_XXXXXXXXXXXXX'); 

Include SDK File

//Including stripe sdk autoload file
require_once get_template_directory() . '/stripe/init.php';

Create Customer & Create Charge


//Get users details
if(is_user_logged_in()){
        $current_user = wp_get_current_user();
        $name = $current_user->user_login;
        $email = $current_user->user_email;
    } else {
        $name = 'guest user';
        $email = 'guestuser@tmp.com';
    }

//Set stripe API key
\Stripe\Stripe::setApiKey('sk_test_XXXXXXXXXXXXX');

//Adding customer
$customer = \Stripe\Customer::create(array(
        'name' =>  $name,
        'description' => 'Event Tickets',
        'email' => $email,
        'source' => $_POST['stripeToken'], //Stripe token
        "address" => ["city" => 'London', "country" => 'United Kingdom', "line1" => 'sadasda', "line2" => "asd", "postal_code" => 'E14 9FJ', "state" => 'WA']
    ));
    $orderID = '1000';

    $itemPrice =  ltrim('£1000', '£');
    $currency = "GBP";     
    $itemPrice = ($itemPrice*100); 


$charge = \Stripe\Charge::create(array( 
        'customer' => $customer->id, 
        'amount'   => $itemPrice, 
        'currency' => $currency, 
        'description' => $_POST['products'], 
        'metadata' => array( 
            'order_id' => $orderID 
        ) 
    ));