Trong môi trường kinh doanh trực tuyến ngày nay, việc tích hợp một hệ thống thanh toán tiện lợi và bảo mật là điều vô cùng quan trọng. Stripe là một trong những lựa chọn phổ biến nhờ khả năng dễ sử dụng và tính bảo mật cao. Bài viết này sẽ hướng dẫn bạn cách tích hợp hệ thống thanh toán Stripe với PHP để xử lý giao dịch một cách hiệu quả.
Bước 1: Đăng ký tài khoản Stripe
Trước tiên, hãy tạo một tài khoản trên Stripe. Việc này rất đơn giản và chỉ mất vài phút. Sau khi hoàn tất, bạn sẽ được cung cấp các khóa API (API Keys) để sử dụng trong quá trình tích hợp.
Bước 2: Cài đặt thư viện Stripe-PHP
Khi đã có tài khoản và các khóa API, bước tiếp theo là cài đặt thư viện Stripe-PHP. Bạn có thể sử dụng Composer, một công cụ quản lý gói phổ biến cho PHP, để cài đặt thư viện này.
Mở terminal và chạy lệnh sau:
composer require stripe/stripe-php
Bước 3: Cấu hình API Keys
Giờ thì bạn cần cấu hình các khóa API trong script PHP của mình. Stripe cung cấp hai khóa: Secret Key và Publishable Key. Secret Key được dùng cho các yêu cầu từ phía máy chủ và Publishable Key dùng để xác thực các yêu cầu từ phía khách hàng.
require 'vendor/autoload.php';
\Stripe\Stripe::setApiKey('sk_test_your_secret_key');
Bước 4: Tạo Form Thanh Toán
Tiếp theo, bạn cần tạo một biểu mẫu HTML (form) để khách hàng nhập thông tin thanh toán. Sử dụng Stripe Elements để dễ dàng tạo form này.
<!DOCTYPE html>
<html>
<head>
<title>Stripe Payment Form</title>
<script src="https://js.stripe.com/v3/"></script>
</head>
<body>
<form id="payment-form">
<div id="card-element">
<!-- A Stripe Element will be inserted here. -->
</div>
<!-- Used to display Element errors. -->
<div id="card-errors" role="alert"></div>
<button type="submit">Submit Payment</button>
</form>
<script type="text/javascript">
var stripe = Stripe('pk_test_your_publishable_key');
var elements = stripe.elements();
var card = elements.create('card');
card.mount('#card-element');
var form = document.getElementById('payment-form');
form.addEventListener('submit', function(event) {
event.preventDefault();
stripe.createToken(card).then(function(result) {
if (result.error) {
// Inform the user if there was an error.
var errorElement = document.getElementById('card-errors');
errorElement.textContent = result.error.message;
} else {
// Send the token to your server.
stripeTokenHandler(result.token);
}
});
});
function stripeTokenHandler(token) {
var form = document.getElementById('payment-form');
var hiddenInput = document.createElement('input');
hiddenInput.setAttribute('type', 'hidden');
hiddenInput.setAttribute('name', 'stripeToken');
hiddenInput.setAttribute('value', token.id);
form.appendChild(hiddenInput);
form.submit();
}
</script>
</body>
</html>
Bước 5: Xử lý Thanh Toán trên Server
Sau khi form được submit, một token thanh toán sẽ được gửi đến server của bạn. Sử dụng token này để thực hiện giao dịch.
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
require 'vendor/autoload.php';
\Stripe\Stripe::setApiKey('sk_test_your_secret_key');
$token = $_POST['stripeToken'];
$charge = \Stripe\Charge::create([
'amount' => 5000, // Số tiền tính bằng cent
'currency' => 'usd',
'description' => 'Example charge',
'source' => $token,
]);
echo 'Success! Charge ID: ' . $charge->id;
}
Kết luận
Qua hướng dẫn này, bạn đã biết cách tích hợp hệ thống thanh toán Stripe vào dự án PHP của mình. Chỉ cần vài bước cài đặt và cấu hình cơ bản, bạn đã có thể xử lý thanh toán trực tuyến một cách an toàn và tiện lợi. Stripe không chỉ cung cấp một API linh hoạt mà còn hỗ trợ đa ngôn ngữ và nhiều loại tiền tệ, giúp bạn dễ dàng mở rộng mô hình kinh doanh.
Comments