Sọc kiểm tra trạng thái đăng ký php
API đăng ký Stripe cung cấp một cách dễ dàng để tích hợp các khoản thanh toán định kỳ trên trang web. Nếu bạn muốn triển khai hệ thống đăng ký thành viên trên ứng dụng web, thì cần phải thanh toán đăng ký để thanh toán định kỳ. Cổng thanh toán Stripe giúp tích hợp thanh toán định kỳ với Gói và API đăng ký. Đăng ký sọc là một cách nhanh chóng và hiệu quả để cho phép các thành viên trang web của bạn mua tư cách thành viên trực tuyến bằng thẻ tín dụng của họ Show
Trong thanh toán đăng ký Stripe, người mua bị tính phí định kỳ dựa trên khoảng thời gian cụ thể. Thành viên của trang web của bạn có thể đăng ký gói và thanh toán bằng thẻ tín dụng/thẻ ghi nợ của họ mà không cần rời khỏi trang web. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách tích hợp thanh toán đăng ký Stripe bằng PHP Trong tập lệnh ví dụ, chúng tôi sẽ triển khai chức năng sau để chấp nhận thanh toán cho đăng ký qua Cổng thanh toán Stripe bằng PHP
Trước khi bắt đầu tích hợp API thanh toán đăng ký Stripe trong PHP, hãy xem cấu trúc tệp stripe_subscription_payment_php/ ├── config.php ├── dbConnect.php ├── index.php ├── payment_init.php ├── payment-status.php ├── stripe-php/ ├── js/ | └── checkout.js └── css/ └── style.css Khóa API kiểm tra sọcTrước khi làm cho cổng thanh toán đăng ký Stripe hoạt động, cần phải kiểm tra xem quy trình đăng ký có hoạt động bình thường không. Bạn cần dữ liệu khóa API thử nghiệm để kiểm tra quy trình thanh toán đăng ký
Thu thập khóa Có thể xuất bản và khóa Bí mật để sử dụng sau này trong tập lệnh Tạo bảng cơ sở dữ liệuĐể lưu trữ thông tin về gói, thành viên và đăng ký, cần có 3 bảng trong cơ sở dữ liệu 1. SQL sau đây tạo một bảng CREATE TABLE `plans` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `price` float(10,2) NOT NULL DEFAULT 0.00 COMMENT 'Minimum amount is $0.50 US', `interval` enum('week','month','year') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'month', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;3 để chứa thông tin gói thuê bao trong cơ sở dữ liệu MySQL CREATE TABLE `plans` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `price` float(10,2) NOT NULL DEFAULT 0.00 COMMENT 'Minimum amount is $0.50 US', `interval` enum('week','month','year') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'month', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 2. SQL sau đây tạo một bảng CREATE TABLE `plans` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `price` float(10,2) NOT NULL DEFAULT 0.00 COMMENT 'Minimum amount is $0.50 US', `interval` enum('week','month','year') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'month', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;4 để chứa thông tin của thành viên trong cơ sở dữ liệu MySQL CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `subscription_id` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key of "user_subscriptions" table', `first_name` varchar(25) COLLATE utf8_unicode_ci NOT NULL, `last_name` varchar(25) COLLATE utf8_unicode_ci NOT NULL, `email` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `password` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `phone` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, `created` datetime NOT NULL DEFAULT current_timestamp(), `modified` datetime NOT NULL DEFAULT current_timestamp(), `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1=Active | 0=Inactive', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 3. SQL sau đây tạo một bảng CREATE TABLE `plans` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `price` float(10,2) NOT NULL DEFAULT 0.00 COMMENT 'Minimum amount is $0.50 US', `interval` enum('week','month','year') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'month', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;5 để chứa thông tin đăng ký trong cơ sở dữ liệu MySQL CREATE TABLE `user_subscriptions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key of "users" table', `plan_id` int(5) DEFAULT NULL COMMENT 'foreign key of "plans" table', `payment_method` enum('stripe') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'stripe', `stripe_subscription_id` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `stripe_customer_id` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `stripe_payment_intent_id` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `paid_amount` float(10,2) NOT NULL, `paid_amount_currency` varchar(10) COLLATE utf8_unicode_ci NOT NULL, `plan_interval` varchar(10) COLLATE utf8_unicode_ci NOT NULL, `plan_interval_count` tinyint(2) NOT NULL DEFAULT 1, `customer_name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, `customer_email` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, `created` datetime NOT NULL, `plan_period_start` datetime DEFAULT NULL, `plan_period_end` datetime DEFAULT NULL, `status` varchar(50) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Trước khi tiếp tục, hãy thêm một số dữ liệu vào bảng CREATE TABLE `plans` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `price` float(10,2) NOT NULL DEFAULT 0.00 COMMENT 'Minimum amount is $0.50 US', `interval` enum('week','month','year') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'month', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;3 của cơ sở dữ liệu để người dùng có thể chọn gói đăng ký của họ________số 8_______ Stripe API và cấu hình cơ sở dữ liệu (config. php)Trong tệp CREATE TABLE `plans` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `price` float(10,2) NOT NULL DEFAULT 0.00 COMMENT 'Minimum amount is $0.50 US', `interval` enum('week','month','year') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'month', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;7, các biến cố định được xác định cho cài đặt cơ sở dữ liệu và API Stripe Hằng số API sọc
Hằng cơ sở dữ liệu
/* Stripe API configuration Lưu ý rằng. Khóa bí mật API Stripe và khóa có thể xuất bản sẽ được tìm thấy trong phần Dữ liệu khóa API trong tài khoản Stripe của bạn Kết nối cơ sở dữ liệu (dbConnect. php)File CREATE TABLE `plans` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `price` float(10,2) NOT NULL DEFAULT 0.00 COMMENT 'Minimum amount is $0.50 US', `interval` enum('week','month','year') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'month', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;8 dùng để kết nối cơ sở dữ liệu bằng PHP và MySQL // Connect with the database Biểu mẫu đăng ký sọc (chỉ mục. php)Bao gồm các tệp cấu hình và tìm nạp các gói đăng ký từ cơ sở dữ liệu // Include configuration file Thư viện Stripe JS Thanh toán tập lệnh JS CREATE TABLE `plans` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `price` float(10,2) NOT NULL DEFAULT 0.00 COMMENT 'Minimum amount is $0.50 US', `interval` enum('week','month','year') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'month', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;9) để xử lý đăng ký với Stripe API bằng JavaScript
Biểu mẫu đăng ký HTML
Tập lệnh xử lý thanh toán đăng ký (thanh toán. js)Mã JavaScript sau đây được sử dụng để xử lý quy trình đăng ký với thư viện Stripe JS v3
Thư viện sọc PHPThư viện Stripe PHP được sử dụng để truy cập API Stripe trong PHP. Nó giúp tạo khách hàng, kế hoạch và đăng ký với Stripe API. Tất cả các tệp thư viện cần thiết đều có trong mã nguồn của chúng tôi, bạn không cần tải xuống riêng Xử lý thanh toán đăng ký (payment_init. php)Tập lệnh phía máy chủ này được API tìm nạp phía máy khách truy cập trong mã JavaScript ( CREATE TABLE `user_subscriptions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key of "users" table', `plan_id` int(5) DEFAULT NULL COMMENT 'foreign key of "plans" table', `payment_method` enum('stripe') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'stripe', `stripe_subscription_id` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `stripe_customer_id` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `stripe_payment_intent_id` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `paid_amount` float(10,2) NOT NULL, `paid_amount_currency` varchar(10) COLLATE utf8_unicode_ci NOT NULL, `plan_interval` varchar(10) COLLATE utf8_unicode_ci NOT NULL, `plan_interval_count` tinyint(2) NOT NULL DEFAULT 1, `customer_name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, `customer_email` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, `created` datetime NOT NULL, `plan_period_start` datetime DEFAULT NULL, `plan_period_end` datetime DEFAULT NULL, `status` varchar(50) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;3) để tạo PaymentIntent, đăng ký và xử lý thanh toán bằng thẻ tín dụng bằng thư viện Stripe API PHP
Nếu yêu cầu CREATE TABLE `user_subscriptions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL DEFAULT 0 COMMENT 'foreign key of "users" table', `plan_id` int(5) DEFAULT NULL COMMENT 'foreign key of "plans" table', `payment_method` enum('stripe') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'stripe', `stripe_subscription_id` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `stripe_customer_id` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `stripe_payment_intent_id` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `paid_amount` float(10,2) NOT NULL, `paid_amount_currency` varchar(10) COLLATE utf8_unicode_ci NOT NULL, `plan_interval` varchar(10) COLLATE utf8_unicode_ci NOT NULL, `plan_interval_count` tinyint(2) NOT NULL DEFAULT 1, `customer_name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, `customer_email` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, `created` datetime NOT NULL, `plan_period_start` datetime DEFAULT NULL, `plan_period_end` datetime DEFAULT NULL, `status` varchar(50) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;6 được gửi
Nếu /* Stripe API configuration1 yêu cầu được gửi
CREATE TABLE `plans` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `price` float(10,2) NOT NULL DEFAULT 0.00 COMMENT 'Minimum amount is $0.50 US', `interval` enum('week','month','year') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'month', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;0 Trạng thái thanh toán (trạng thái thanh toán. php)Dựa trên ý định thanh toán. trạng thái và xác nhận thanh toán bằng xác thực 3D Secure, người dùng được chuyển hướng đến trang này
CREATE TABLE `plans` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `price` float(10,2) NOT NULL DEFAULT 0.00 COMMENT 'Minimum amount is $0.50 US', `interval` enum('week','month','year') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'month', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;1 Chi tiết thẻ kiểm traĐể kiểm tra tích hợp API thanh toán đăng ký Stripe, hãy sử dụng các số thẻ kiểm tra sau, ngày hết hạn hợp lệ trong tương lai và bất kỳ số CVC ngẫu nhiên nào
Kiểm tra số thẻ để xác thực an toàn 3D
Làm cho cổng thanh toán Stripe hoạt độngSau khi quá trình tích hợp API đăng ký hoàn tất và quy trình thanh toán hoạt động bình thường, hãy làm theo các bước bên dưới để làm cho cổng thanh toán Stripe hoạt động
Đăng ký PayPal Tích hợp cổng thanh toán trong PHP Phần kết luậnAPI thanh toán đăng ký sọc là tùy chọn dễ dàng nhất để chấp nhận thanh toán tín dụng trực tuyến cho đăng ký. Bạn có thể thêm tính năng thanh toán định kỳ vào ứng dụng web bằng API Stripe và PHP. Tập lệnh ví dụ của chúng tôi giúp bạn tính phí người dùng định kỳ trong một khoảng thời gian cụ thể thông qua Stripe. Ngoài ra, tính năng xác thực Bảo mật 3D được tích hợp để làm cho tập lệnh tích hợp Stripe này sẵn sàng cho SCA (Xác thực khách hàng mạnh mẽ). Chức năng của tập lệnh thanh toán đăng ký Stripe này có thể được nâng cao theo nhu cầu của bạn Bạn có muốn nhận trợ giúp triển khai hay sửa đổi hoặc nâng cao chức năng của tập lệnh này không? Trạng thái đăng ký trong Stripe là gì?đang hoạt động - đăng ký ở trạng thái tốt. past_due - hóa đơn gần đây nhất (không phải hóa đơn đầu tiên, tạo đăng ký) không thành công hoặc chưa được thử. Bạn có thể quản lý các quy tắc và lần thử lại thanh toán không thành công của mình trong bảng điều khiển Stripe Billing. bị hủy - đăng ký đã bị hủy
Stripe có hỗ trợ PHP không?Sọc PHP. Kể từ phiên bản 7. 105. 0, Stripe PHP hỗ trợ phiên bản PHP mới nhất, 8. 1 .
Làm cách nào để gọi Stripe API trong PHP?Các bước tích hợp cổng thanh toán Stripe
. Tạo biểu mẫu thanh toán và hiển thị phần tử Stripe để nhận thông tin chi tiết về thẻ của người dùng. Xử lý yêu cầu thanh toán Stripe trong PHP. Tạo và định cấu hình webhook để thông báo phản hồi. Create a Stripe account and log in to get the API keys. Create a payment form and render the Stripe element to get the user's card details. Process Stripe payment requests in PHP. Create and configure webhook to notify the response.
Làm cách nào để tích hợp Stripe Checkout PHP?Tích hợp thanh toán sọc trong PHP . Hiển thị chi tiết sản phẩm bằng nút Thanh toán ngay Tạo phiên thanh toán với Stripe API và chuyển hướng đến Stripe Checkout Chuyển hướng trở lại trang web với ID phiên Xác minh giao dịch và chèn dữ liệu thanh toán vào cơ sở dữ liệu |