-
-
Save bateller/154c6e5d1f6e0e53e527 to your computer and use it in GitHub Desktop.
| <?php | |
| // Edited boucher/gist:1750375 to work with stripe-php v2 | |
| require 'stripe-php/init.php'; | |
| if ($_POST) { | |
| \Stripe\Stripe::setApiKey("YOUR-API-KEY"); | |
| $error = ''; | |
| $success = ''; | |
| try { | |
| if (!isset($_POST['stripeToken'])) | |
| throw new Exception("The Stripe Token was not generated correctly"); | |
| $charge = \Stripe\Charge::create(array( | |
| "amount" => 1000, // amount in cents, again | |
| "currency" => "usd", | |
| "source" => $_POST['stripeToken'], | |
| "description" => "Example charge") | |
| ); | |
| if ($charge->status == 'succeeded') { | |
| $success = 'Your payment was sucessful.'; | |
| } else { | |
| $success = 'Your payment failed.'; | |
| } | |
| } catch(\Stripe\Error\Card $e) { | |
| // The card has been declined | |
| $error = $e->getMessage(); | |
| } | |
| } | |
| ?> | |
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> | |
| <title>Stripe Getting Started Form</title> | |
| <script type="text/javascript" src="https://js.stripe.com/v2/"></script> | |
| <!-- jQuery is used only for this example; it isn't required to use Stripe --> | |
| <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> | |
| <script type="text/javascript"> | |
| // this identifies your website in the createToken call below | |
| Stripe.setPublishableKey('YOUR-PUBLISHABLE-API-KEY'); | |
| function stripeResponseHandler(status, response) { | |
| if (response.error) { | |
| // re-enable the submit button | |
| $('.submit-button').removeAttr("disabled"); | |
| // show the errors on the form | |
| $(".payment-errors").html(response.error.message); | |
| } else { | |
| var form$ = $("#payment-form"); | |
| // token contains id, last4, and card type | |
| var token = response['id']; | |
| // insert the token into the form so it gets submitted to the server | |
| form$.append("<input type='hidden' name='stripeToken' value='" + token + "' />"); | |
| // and submit | |
| form$.get(0).submit(); | |
| } | |
| } | |
| $(document).ready(function() { | |
| $("#payment-form").submit(function(event) { | |
| // disable the submit button to prevent repeated clicks | |
| $('.submit-button').attr("disabled", "disabled"); | |
| // createToken returns immediately - the supplied callback submits the form if there are no errors | |
| Stripe.createToken({ | |
| number: $('.card-number').val(), | |
| cvc: $('.card-cvc').val(), | |
| exp_month: $('.card-expiry-month').val(), | |
| exp_year: $('.card-expiry-year').val() | |
| }, stripeResponseHandler); | |
| return false; // submit from callback | |
| }); | |
| }); | |
| </script> | |
| </head> | |
| <body> | |
| <h1>Charge $10 with Stripe</h1> | |
| <!-- to display errors returned by createToken --> | |
| <span class="payment-errors"><?= $error ?></span> | |
| <span class="payment-success"><?= $success ?></span> | |
| <form action="" method="POST" id="payment-form"> | |
| <div class="form-row"> | |
| <label>Card Number</label> | |
| <input type="text" size="16" autocomplete="off" class="card-number" maxlength="16" /> | |
| </div> | |
| <div class="form-row"> | |
| <label>CVC</label> | |
| <input type="text" size="4" autocomplete="off" class="card-cvc" maxlength="4" /> | |
| </div> | |
| <div class="form-row"> | |
| <label>Expiration (MM/YYYY)</label> | |
| <input type="text" size="2" class="card-expiry-month" maxlength="2"/> | |
| <span> / </span> | |
| <input type="text" size="4" class="card-expiry-year" maxlength="4"/> | |
| </div> | |
| <button type="submit" class="submit-button">Submit Payment</button> | |
| </form> | |
| </body> | |
| </html> |
@kasoramaster You'll need to sign up for an account at Stripe.com. This will include providing them Tax info and banking info (Checking/Savings Account # + Routing #)
Once you've done that you'll need to sign into your account and get your 2 API Keys.
After that you can follow my example above, or go to this repo for more information (note my example and the Stripe-PHP SDK are PHP specific): https://github.com/stripe/stripe-php
If you're not sure how the handshaking works, or need more specific help getting started with Stripe, i'd recommend reading through these docs: https://stripe.com/docs/development
Thanks!
Hi @bateller,
Does this still work? I'm not seeing the payments on my Stripe account. If not, does anyone have a newer version of this?
TIA!
@beteller please can you work me through how to create bank charges in Stripe?