Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Implementasi Stripe Payment Gateway pada Aplikasi E-Commerce Laravel

 

Stripe Payment Gateway

Dalam membangun platform e-commerce, pengalaman transaksi yang aman, cepat, dan tanpa hambatan adalah kunci utama untuk meningkatkan tingkat konversi penjualan. Stripe hadir sebagai salah satu payment gateway standar industri global yang memfasilitasi pemrosesan kartu kredit dan dompet digital dengan tingkat keamanan tinggi.

Bagi para pengembang yang menggunakan framework PHP Laravel, mengintegrasikan Stripe dapat dilakukan secara efisien. Artikel ini akan memandu Anda melalui tahapan teknis implementasi Stripe Checkout pada aplikasi e-commerce Laravel Anda.

Persiapan Pra-Integrasi

Sebelum mulai menulis kode, pastikan lingkungan pengembangan Anda telah memenuhi prasyarat berikut:

Kebutuhan SistemDeskripsi Fungsional
Akun StripeAkun aktif di dasbor Stripe (gunakan Test Mode selama pengembangan).
Kunci API (API Keys)Dapatkan Publishable Key dan Secret Key dari menu Developers > API keys di dasbor Stripe.
Instalasi LaravelProyek Laravel yang sudah berjalan (direkomendasikan versi 9.x ke atas).

Tahapan Implementasi Teknis

Cara paling aman dan modern untuk memproses pembayaran adalah menggunakan metode Stripe Checkout, di mana pengguna diarahkan ke halaman pembayaran aman yang di- hosting langsung oleh Stripe, sehingga server Anda tidak perlu menyimpan data kartu kredit sensitif secara langsung.

1.Instalasi Stripe PHP SDK:Menambahkan pustaka resmi Stripe.

Buka terminal di direktori proyek Laravel Anda dan jalankan perintah Composer berikut untuk mengunduh pustaka resmi Stripe untuk PHP.

2.Konfigurasi File Environment:Menyimpan kredensial dengan aman.
Buka <i>file</i> <code>.env</code> di direktori akar (<i>root</i>) proyek Anda dan tambahkan kunci API Stripe yang telah Anda dapatkan. Jangan pernah mempublikasikan kunci ini ke repositori publik seperti GitHub.
<pre>STRIPE_KEY=pk_test_xxxxxxxxxxxxxxxxx

STRIPE_SECRET=sk_test_xxxxxxxxxxxxxxxxx

3.Pembuatan Checkout Controller:Membangun logika pemrosesan keranjang belanja.
Buat sebuah <i>controller</i> baru, misalnya <code>CheckoutController.php</code>. Di dalam <i>controller</i> ini, kita akan membuat sebuah <i>Checkout Session</i>. Sesi ini akan mengkomunikasikan total harga belanjaan ke peladen Stripe.
<pre>

use Stripe\Stripe;

use Stripe\Checkout\Session;

public function checkout()

{

Stripe::setApiKey(env('STRIPE_SECRET'));

$session = Session::create([
    'payment_method_types' => ['card'],
    'line_items' => [[
        'price_data' => [
            'currency' => 'idr',
            'product_data' => [
                'name' => 'Produk E-Commerce',
            ],
            'unit_amount' => 15000000, // Nominal dalam sen (Rp 150.000)
        ],
        'quantity' => 1,
    ]],
    'mode' => 'payment',
    'success_url' => route('checkout.success'),
    'cancel_url' => route('checkout.cancel'),
]);

return redirect()->away($session->url);

}

4.Integrasi Tampilan Frontend (Blade):Menyediakan tombol pembayaran di sisi klien.
Pada <i>file</i> tampilan Blade (misalnya <code>cart.blade.php</code>), tambahkan tombol yang mengarah ke <i>route</i> <i>checkout</i> yang telah dibuat. Ketika pengguna mengklik tombol ini, fungsi <i>controller</i> akan berjalan dan mengalihkan mereka ke halaman Stripe.
<pre>

<form action="{{ route('checkout.process') }}" method="POST">

@csrf

<button type="submit" class="btn btn-primary">Bayar Sekarang</button>

</form>

5.Penanganan Webhook (Opsional namun Penting):Verifikasi transaksi di balik layar.

Setelah pembayaran berhasil di halaman Stripe, pengguna akan dikembalikan ke success_url. Namun, untuk memastikan bahwa sistem Anda secara andal memperbarui status pesanan menjadi "Lunas", Anda wajib mengatur Stripe Webhook. Webhook akan mengirimkan sinyal HTTP POST ke server Laravel Anda secara otomatis segera setelah dana berhasil ditarik, memastikan validasi data tidak bergantung pada koneksi internet pengguna.

Kesimpulan

Mengimplementasikan Stripe Payment Gateway pada aplikasi Laravel menawarkan kombinasi sempurna antara keamanan tingkat enterprise dan pengalaman pengguna (user experience) yang elegan. Dengan mendelegasikan pemrosesan kartu kredit sepenuhnya kepada sistem Stripe Checkout, pengembang meminimalkan beban kepatuhan keamanan data (PCI-DSS) pada server lokal. Infrastruktur ini memastikan proses transaksi e-commerce Anda berjalan secara otomatis, skalabel, dan siap melayani pelanggan dari seluruh dunia dengan mulus.

Posting Komentar untuk "Cara Implementasi Stripe Payment Gateway pada Aplikasi E-Commerce Laravel"