//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
)
));