3

I have managed to get Stripe Checkout to work using PHP. But I wanted to get rid of the initial Stripe Button where it usually says "proceed to payment" or "pay by card". I just wanted to link the button on my site to go directly to the Checkout pop-up. I was wondering if this is possible? I've included the php file's and the relevant html code below.

index.php

<?php require_once('config.php'); ?>

<form action="charge.php" method="post">
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="<?php echo $stripe['publishable_key']; ?>"
data-name="The Boffins"
data-amount="25000" 
data-currency="GBP"
data-description="Social Package"
data-image="images/Gentleman.gif"
data-label="Proceed to Payment"
data-panel-label="Only">
</script>
</form>

charge.php

<?php
require_once('config.php');

$token  = $_POST['stripeToken'];

$customer = \Stripe\Customer::create(array(
  'email' => '[email protected]',
  'card'  => $token
));

$charge = \Stripe\Charge::create(array(
  'customer' => $customer->id,
  'amount'   => 25000, //amount in pennies
  'currency' => 'gbp'
));

echo 'Successfully charged £250! We will be in touch shortly.';

config.php

require_once('vendor/stripe-php-3.1.0/init.php');

$stripe = array(
 "secret_key"      => "sk_live_XXXXXXXXXXXX",
 "publishable_key" => "pk_live_YYYYYYYYYYYY"
);

\Stripe\Stripe::setApiKey($stripe['secret_key']);

html:

<a class="button price-button one-off-m" href="index.php">£250 /<span class="one-off"></a>

1 Answer 1

2

Per stripe's documentation:

<script src="https://checkout.stripe.com/checkout.js"></script>

<button id="customButton">Purchase</button>

<script>
    var handler = StripeCheckout.configure({
    key: 'pk_test_4asasasasasasa',
    image: '/img/documentation/checkout/marketplace.png',
    token: function(token) {
       // Use the token to create the charge with a server-side script.
       // You can access the token ID with `token.id`
      }
    });

  $('#customButton').on('click', function(e) {
    // Open Checkout with further options
       handler.open({
       name: 'name',
       description: '2 widgets',
       amount: 2000
        });
   e.preventDefault();
  });

 // Close Checkout on page navigation
 $(window).on('popstate', function() {
     handler.close();
   });
 </script>
1
  • Thank you where did you find this in the documentation? :)
    – Sharan
    Commented Aug 12, 2015 at 13:06

Not the answer you're looking for? Browse other questions tagged or ask your own question.