EnglishEN EspañolES FrançaisFR DeutschDE ItalianoIT PortuguêsPT 中文ZH 日本語JA 한국어KO РусскийRU NederlandsNL
← Back to all articles

Stripe Checkout toevoegen aan een aangepaste PHP-website (zonder plugins)

Stripe is de schoonste betaal-API die er is, en hem rechtstreeks in PHP inbouwen betekent geen maandelijkse SaaS-kosten, geen WooCommerce-ballast en geen transactiekosten van Shopify. Wat volgt is de exacte implementatie die draait in echte klantenwinkels van BuiltToWinWeb: pure PHP, de officiële Stripe-SDK, veilige webhooks en geautomatiseerde e-mailbevestigingen. Je ziet hoe de onderdelen in elkaar passen — checkout-sessie, redirect, webhook-verificatie, afhandeling — zodat je echte betalingen kunt aannemen zonder een deel af te staan aan een platform. Alles hier is productiecode, geen wegwerpdemo.

Waarom native PHP + Stripe elke paginabouwer overtreft

Shopify rekent 0,5–2% per transactie bovenop de eigen kosten van Stripe. WooCommerce voegt 14+ plugin-afhankelijkheden toe die de LCP van uw checkout-pagina vertragen naar 3,8 s.

  • Nul platformtransactiekosten – alleen Stripe's 2,9% + 30¢
  • Checkout-pagina Lighthouse-score: 98 vs. Shopify's typische 61
  • Volledige webhookcontrole – aangepaste afhandeling, voorraad, e-mail
  • Geen terugkerende abonnementskosten voor het e-commerceplatform
  • U bezit de code, host overal, migreer vrij

Stap 1 — Stripe PHP SDK installeren

Composer is de schoonste aanpak.

composer require stripe/stripe-php

Laad het bovenaan uw checkout-script:

require_once __DIR__ . '/vendor/autoload.php';
\Stripe\Stripe::setApiKey(getenv('STRIPE_SECRET_KEY'));

Stap 2 — Checkout-sessie aanmaken (server-side)

Zet uw geheime sleutel nooit in de browser. Maak een server-side endpoint aan waaraan de frontend POST't:

<?php
$session = \Stripe\Checkout\Session::create(['payment_method_types'=>['card'],'line_items'=>[['price_data'=>['currency'=>'usd','unit_amount'=>300000,'product_data'=>['name'=>'Business Pro Website']],'quantity'=>1]],'mode'=>'payment','success_url'=>'https://yoursite.com/success','cancel_url'=>'https://yoursite.com/pricing']);
echo json_encode(['url'=>$session->url]);

Stap 3 — Gebruiker doorsturen vanuit frontend

Een eenvoudige fetch-aanroep op de knop van uw prijspagina:

document.getElementById('buy-btn').addEventListener('click', async () => {
    const res = await fetch('/create-checkout-session.php', {method:'POST'});
    const data = await res.json();
    window.location.href = data.url;
});

Stap 4 — Webhooks verwerken (orderafhandeling)

Stripe stuurt een POST naar uw webhook-endpoint wanneer de betaling slaagt.

<?php
$event = \Stripe\Webhook::constructEvent(file_get_contents('php://input'), $_SERVER['HTTP_STRIPE_SIGNATURE'], getenv('STRIPE_WEBHOOK_SECRET'));
if ($event->type === 'checkout.session.completed') { fulfill_order($event->data->object); }
http_response_code(200);

Registreer uw webhook-URL in het Stripe-dashboard onder Ontwikkelaars → Webhooks.

Stap 5 — Bevestigingsmail sturen via PHPMailer

Haal in uw `fulfill_order()`-functie het klant-e-mailadres op uit de sessie:

function fulfill_order($session) {
    $email = $session->customer_details->email;
    $mail = new PHPMailer\PHPMailer\PHPMailer(true);
    $mail->setFrom('[email protected]', 'Uw Bedrijf');
    $mail->addAddress($email);
    $mail->Subject = 'Betaling ontvangen — Bedankt!';
    $mail->Body = 'Uw bestelling is bevestigd.';
    $mail->send();
}

Platformvergelijking — maatwerk-PHP vs Shopify vs WooCommerce

Maatstaf Aangepaste PHP + Stripe Shopify WooCommerce
Checkout LCP 0,6s 1,9s 2,8s
Lighthouse-score 98 61 55
Platformkosten/transactie 0% 0,5–2% 0%*
Maandelijkse platformkosten $0 $39–$399 $0*
Plugin-afhankelijkheden 0 n.v.t. 14+
Code-eigendom 100% 0% ~60%

Reale bedrijfsimpact

Op een winkel met $50.000/maand zijn Stripe's 2,9% + 30¢ onvermijdelijk. Maar Shopify's extra platformkosten van 0,5–2% kosten $250–$1.000 extra per maand.

  • Shopify Advanced ($399/mnd) + 0,5% op $50k = $649/mnd platformkosten
  • Aangepaste PHP + Stripe = $0/mnd platformkosten
  • Break-even op een build van $8.000: minder dan 9 maanden
  • Checkout-pagina's laden 3× sneller = meetbaar lager winkelwagenverlatingpercentage

De rekensom is simpel: als u meer dan $15.000/maand verwerkt, betaalt een aangepaste PHP-winkel zichzelf terug in minder dan een jaar.

Beveiligingschecklist

  • Bewaar sleutels in omgevingsvariabelen – nooit hardgecodeerd in PHP-bestanden
  • Verifieer altijd Stripe webhook-handtekeningen met `constructEvent()`
  • Gebruik overal HTTPS – Stripe vereist dit
  • Idempotentie: controleer of de bestelling al bestaat voordat u uitvoert
  • Rate-limit uw `/create-checkout-session.php` (10 verzoeken/uur per IP)

Veelgestelde vragen

Heb ik Composer nodig om Stripe met PHP te gebruiken?

Composer wordt aanbevolen maar is niet vereist. U kunt de SDK downloaden als ZIP en handmatig opnemen met require_once.

Is het veilig om betalingen te verwerken zonder een platform zoals Shopify?

Ja. Stripe is PCI-DSS Niveau 1 gecertificeerd. Uw server verwerkt nooit ruwe kaartnummers.

Hoe test ik Stripe zonder echte kaarten te belasten?

Gebruik de testmodus van Stripe met sleutelpre- fix sk_test_. Gebruik testkaart 4242 4242 4242 4242.

Kan ik abonnementen toevoegen met deze aanpak?

Ja. Wijzig de Checkout-sessiemodus van "payment" naar "subscription" en geef een terugkerend prijs-ID door.

Wilt u een aangepaste Stripe-winkel laten bouwen?

BuiltToWinWeb bouwt aangepaste PHP e-commerce winkels met native Stripe-integratie, Lighthouse 98+ scores en nul maandelijkse platformkosten.

Winkels worden doorgaans in 3–4 weken geleverd. Reactie binnen 24 uur gegarandeerd.

Gratis offerte aanvragen

Benchmarkgegevens uit gecontroleerde tests op identieke Hostinger VPS-hosting.