Dags för vår första betallösning! Vi går igenom hur Stripe fungerar och hur du kommer igång med det på ett enkelt sätt.
Ditt första betalformulär med Stripe
Ta emot din första betalning
Hämta din första betalning
Genomgång av abonnemang
Stripe är en förhållandevis ny spelare på betallösningsmarknaden. Många av de andra (Paypal, Klarna, DIBS) har funnits på marknaden länge men trots detta har Stripe lyckats slå igenom stort på bara några år.
Vad är Stripes hemliga vapen?
https://dashboard.stripe.com/register
Fyll i den blygsamma mängden uppgifter som Stripe kräver för att starta ett konto.
Gå sedan till:
https://dashboard.stripe.com/account/apikeys
Där finns din publishable key och din secret key som du behöver för att börja använda Stripe.
<form action="/your-server-side-code" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_wHgcBSkL5mb3Y1tq4B71hB1D"
data-amount="999"
data-name="Demo Site"
data-description="Widget"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto"
data-zip-code="true"
data-currency="sek">
</script>
</form>https://packagist.org/packages/stripe/stripe-php
Vi behöver inte skriva all kod själva utan kan använda oss av Stripes egna PHP-bibliotek.
<?php
Stripe::setApiKey("<din hemliga nyckel>");
$charge = Charge::create([
"amount" => 999,
"currency" => "sek",
"source" => $input['stripeToken'], // obtained with Stripe.js
"description" => "Charge for ".$input['stripeEmail']
]);
https://packagist.org/packages/stripe/stripe-php
När en betalning har gjorts så kan vi hämta information om den i efterhand. Detta görs med hjälp av id:t kopplat till din charge.
<?php
Stripe::setApiKey("<din hemliga nyckel>");
$charge = Charge::retrieve('<charge id>');
https://stripe.com/docs/subscriptions/quickstart
Stripe har även stöd för abonnemang. Dessa hanteras genom att skapa abonnemang via kod, registrera användare och sedan koppla dem till ett abonnemang.
<?php
$plan = Plan::create([
"name" => "Basic Plan",
"id" => "basic-monthly",
"interval" => "month",
"currency" => "sek",
"amount" => 5000,
]);
<?php
$customer = Customer::create([
"email" => "marcus@raket.co",
]);
<?php
Subscription::create([
"customer" => $customer->id,
"items" => [
[
"plan" => "basic-monthly",
],
],
]);