Stripe – популярная платформа обработки платежей, предлагающая широкий спектр функций и инструментов для обработки онлайн-платежей. В этой статье мы рассмотрим различные методы интеграции Stripe в приложение Laravel, чтобы обеспечить бесперебойную обработку платежей. Независимо от того, создаете ли вы веб-сайт электронной коммерции или любое другое веб-приложение, требующее функции оплаты, эти методы помогут вам начать работу с интеграцией Stripe в Laravel.
- Stripe Checkout:
Stripe Checkout предоставляет предварительно созданную форму оплаты, которую вы можете с минимальными усилиями встроить в свое приложение Laravel. Он обрабатывает весь поток платежей, включая сбор информации о клиентах и безопасную обработку платежей. Вот пример использования Stripe Checkout в Laravel:
use Stripe\Stripe;
use Stripe\Checkout\Session;
public function createCheckoutSession()
{
Stripe::setApiKey('YOUR_STRIPE_SECRET_KEY');
$session = Session::create([
'payment_method_types' => ['card'],
'line_items' => [
[
'price_data' => [
'currency' => 'usd',
'unit_amount' => 2000,
'product_data' => [
'name' => 'Example Product',
'description' => 'Lorem ipsum dolor sit amet',
'images' => ['https://example.com/images/product.jpg'],
],
],
'quantity' => 1,
],
],
'mode' => 'payment',
'success_url' => 'https://example.com/success',
'cancel_url' => 'https://example.com/cancel',
]);
return view('checkout', ['sessionId' => $session->id]);
}
- Интеграция настраиваемых платежей.
Если вам требуется больший контроль над процессом оплаты, вы можете реализовать настраиваемый поток платежей с помощью API Stripe в Laravel. Этот метод позволяет выполнять задачи, связанные с платежами, такие как создание клиентов, оплата карт и управление подписками. Вот пример создания клиента и списания средств с карты с помощью Stripe API:
use Stripe\Stripe;
use Stripe\Customer;
use Stripe\Charge;
public function createCustomerAndCharge()
{
Stripe::setApiKey('YOUR_STRIPE_SECRET_KEY');
$customer = Customer::create([
'email' => 'customer@example.com',
'source' => 'tok_visa', // Replace with actual card token
]);
$charge = Charge::create([
'amount' => 2000,
'currency' => 'usd',
'customer' => $customer->id,
'description' => 'Charge for example@example.com',
]);
// Process the charge and handle success or failure
return view('payment-success');
}
- Вебхуки.
Вебхуки Stripe позволяют вам получать уведомления в режиме реального времени о событиях, связанных с вашей учетной записью Stripe, таких как успешные платежи или неудачные платежи. Вы можете использовать веб-перехватчики в Laravel для автоматизации задач или обновления приложения на основе этих событий. Вот пример обработки вебхука в Laravel:
use Illuminate\Http\Request;
public function handleWebhook(Request $request)
{
$payload = $request->all();
// Verify the webhook signature
if ($payload['type'] === 'payment_intent.succeeded') {
// Handle successful payment
} elseif ($payload['type'] === 'payment_intent.payment_failed') {
// Handle failed payment
}
return response('Webhook Handled');
}
Интеграция Stripe в Laravel открывает мир возможностей для приема платежей в ваших веб-приложениях. В этой статье мы рассмотрели три метода: использование Stripe Checkout для простой формы оплаты, реализацию пользовательских потоков платежей с помощью Stripe API и обработку веб-перехватчиков для уведомлений в реальном времени. В зависимости от ваших конкретных требований вы можете выбрать метод, который лучше всего соответствует вашим потребностям, и создать надежную систему обработки платежей в своем приложении Laravel.
Не забудьте обратиться к официальной документации Stripe для получения подробных инструкций и возможностей настройки для каждого метода. Приятного кодирования!