Tích hợp Stripe Checkout trong PHP

Thu tiền thanh toán bằng thẻ tín dụng là khó khăn đối với các công ty và doanh nghiệp mới trên web. PHP Stripe API biến nhiệm vụ khó khăn là thu thập các khoản thanh toán bằng thẻ tín dụng thành vấn đề sao chép và dán. Về cơ bản, đây là một thư viện JavaScript giao diện trang web của bạn với các máy chủ web của Stripe. Thông tin không bao giờ được gửi đến máy chủ của bạn khiến nó trở nên hiệu quả. Bạn không cần phải lo lắng về cài đặt phía máy chủ của ứng dụng của mình

Thư viện Stripe PHP cấp quyền truy cập vào API Stripe từ các ứng dụng được tạo bằng ngôn ngữ PHP. Nó kết hợp một tập hợp các lớp được xác định trước cho API tự khởi tạo từ API, giúp nó tương thích với nhiều phiên bản của Stripe API

Bạn sẽ có thể tạo biểu mẫu thanh toán Stripe bằng thẻ tín dụng chuyên nghiệp trong vài phút. Sử dụng tích hợp Stripe, bạn có thể thực hiện các hình thức thanh toán một lần. Bạn có thể nghĩ rằng điều này nghe có vẻ giống như Paypal. Để làm rõ sự khác biệt, chúng tôi sẽ có một so sánh ngắn gọn về cả hai nền tảng để kết thúc phần này

Sọc là gì?

Stripe PHP là một nền tảng chuẩn bị phương thức thanh toán trực tuyến và thẻ tín dụng cho các doanh nghiệp. Khi khách hàng mua sản phẩm trực tuyến, tiền phải được chuyển đến người bán. Stripe API cho phép xử lý tiền an toàn và hiệu quả thông qua thẻ tín dụng hoặc ngân hàng và chuyển số tiền đó vào tài khoản của người bán

Stripe PHP API cho phép các nhà phát triển tiếp cận chức năng của Stripe. Stripe là một lợi ích cho phép khách hàng xác nhận thanh toán trực tuyến. Với ứng dụng Stripe, người dùng có thể theo dõi các khoản thanh toán, xem các khoản thanh toán trong quá khứ, thực hiện thanh toán định kỳ và theo dõi khách hàng của họ một cách dễ dàng

PHP Stripe hoạt động như thế nào?

Thanh toán tích hợp Stripe PHP cung cấp một cách đơn giản và hiệu quả để chấp nhận thẻ tín dụng trực tiếp trên ứng dụng web của bạn. Bạn sẽ có thể phối hợp dễ dàng với khung thanh toán trong trang web dựa trên PHP của mình, cho phép khách hàng thanh toán qua thẻ tín dụng hoặc thẻ tính phí mà không cần xóa trang web của bạn

Stripe phát hành định kỳ các bản cập nhật cho Stripe Terminal JavaScript SDK, Stripe Terminal iOS SDK và Stripe Terminal Android SDK, có thể kết hợp các bản nâng cấp bảo mật, chức năng và sửa lỗi mới

Cải thiện tốc độ ứng dụng PHP của bạn lên 300%

Cloudways cung cấp cho bạn các máy chủ chuyên dụng với bộ lưu trữ SSD, hiệu suất tùy chỉnh, ngăn xếp được tối ưu hóa và hơn thế nữa để có thời gian tải nhanh hơn 300%

Stripe tích hợp với PHP như thế nào?

Trước tiên, hãy đăng nhập vào tài khoản Cloudways của bạn. Nếu bạn chưa có, hãy đăng ký ngay bây giờ miễn phí

Chọn một máy chủ

Chọn máy chủ của bạn và ứng dụng Ngăn xếp PHP tùy chỉnh. Chọn kích thước máy chủ PHP theo lưu lượng truy cập trang web của bạn và vị trí theo khu vực ưa thích của bạn

Tích hợp Stripe Checkout trong PHP

Nhận khóa API để tích hợp Stripe

Để bắt đầu, bạn phải có tài khoản Stripe. Để tích hợp cổng Stripe trong ứng dụng của bạn, bạn cần lấy khóa có thể xuất bản và khóa bí mật của Stripe

Đăng nhập vào bảng điều khiển Stripe của bạn và điều hướng đến trang Nhà phát triển » Khóa API

Tích hợp Stripe Checkout trong PHP

Bạn sẽ thấy các khóa API Khóa có thể xuất bản và Khóa bí mật được liệt kê trong phần Khóa tiêu chuẩn. Để hiển thị Khóa bí mật, hãy nhấp vào nút Hiển thị mã thông báo khóa kiểm tra

Tích hợp Stripe Checkout trong PHP

Biểu mẫu thanh toán sọc

Chúng tôi phải lưu trữ chi tiết giao dịch trong cơ sở dữ liệu tại điểm chúng tôi tích hợp cổng thanh toán trên trang web. Vì vậy, hãy tạo một bảng trả góp bằng cách sử dụng truy vấn SQL sau

CREATE TABLE `payments` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `payment_id` varchar(255) NOT NULL,
 `amount` float(10,2) NOT NULL,
 `currency` varchar(255) NOT NULL,
 `payment_status` varchar(255) NOT NULL,
 `captured_at` datetime NOT NULL DEFAULT current_timestamp(),
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Tiếp theo, tạo một hình thức thanh toán. Như tôi đã đề cập trước đó, Stripe tạo các yếu tố thẻ cho bạn. Chúng tôi sẽ tạo các yếu tố này vào biểu mẫu thanh toán bằng cách làm theo tài liệu của Stripe

Tạo tệp

.StripeElement {
    box-sizing: border-box;
    
    padding: 12px 14px;
    
    height: 50px;
    
    border: 1px solid transparent;
    background-color: white;
    border-radius: 4px;
    
    
    box-shadow: 0 2px 6px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 160ms;
}
  
.StripeElement--focus {
    box-shadow: 0 2px 4px 0 #cff7df;
}
  
.StripeElement--invalid {
    border-color: #fa755a;
}
  
.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}
2 và đặt mã bên dưới vào đó

Thêm một số kiểu dáng vào biểu mẫu bằng cách sử dụng mã bên dưới trong tệp

.StripeElement {
    box-sizing: border-box;
    
    padding: 12px 14px;
    
    height: 50px;
    
    border: 1px solid transparent;
    background-color: white;
    border-radius: 4px;
    
    
    box-shadow: 0 2px 6px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 160ms;
}
  
.StripeElement--focus {
    box-shadow: 0 2px 4px 0 #cff7df;
}
  
.StripeElement--invalid {
    border-color: #fa755a;
}
  
.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}
3 hoặc trong cùng một tệp

.StripeElement {
    box-sizing: border-box;
    
    padding: 12px 14px;
    
    height: 50px;
    
    border: 1px solid transparent;
    background-color: white;
    border-radius: 4px;
    
    
    box-shadow: 0 2px 6px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 160ms;
}
  
.StripeElement--focus {
    box-shadow: 0 2px 4px 0 #cff7df;
}
  
.StripeElement--invalid {
    border-color: #fa755a;
}
  
.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}

Sau này, để tạo phần tử thẻ và sọcToken, bạn cần thêm mã JavaScript sau vào tệp

.StripeElement {
    box-sizing: border-box;
    
    padding: 12px 14px;
    
    height: 50px;
    
    border: 1px solid transparent;
    background-color: white;
    border-radius: 4px;
    
    
    box-shadow: 0 2px 6px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 160ms;
}
  
.StripeElement--focus {
    box-shadow: 0 2px 4px 0 #cff7df;
}
  
.StripeElement--invalid {
    border-color: #fa755a;
}
  
.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}
0. Mã JavaScript này cũng xác thực các chi tiết thẻ

Bây giờ bạn cần tạo ứng dụng khách Stripe

StripeClient thực thi các yêu cầu đối với API Stripe và cho phép khách hàng thu lại cả nội dung và trả về cuộc gọi cũng như đối tượng phản hồi chứa dữ liệu trên cuộc gọi HTTP

// Create a Stripe client.
var stripe = Stripe('PUBLISHABLE_KEY');
  
// Create an instance of Elements.
var elements = stripe.elements();
  
// Custom styling can be passed to options when creating an Element.
// (Note that this demo uses a wider set of styles than the guide below.)
var style = {
    base: {
        color: '#32325d',
        fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
        fontSmoothing: 'antialiased',
        fontSize: '16px',
        '::placeholder': {
            color: '#aab7c4'
        }
    },
    invalid: {
        color: '#fa755a',
        iconColor: '#fa755a'
    }
};

  
// Create an instance of the card Element.
var card = elements.create('card', {style: style});

  
// Add an instance of the card Element into the `card-element` 

. card.mount('#card-element'); // Handle real-time validation errors from the card Element. card.addEventListener('change', function(event) { var displayError = document.getElementById('card-errors'); if (event.error) { displayError.textContent = event.error.message; } else { displayError.textContent = ''; } }); // Handle form submission. 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); } }); }); // Submit the form with the token ID. function stripeTokenHandler(token) { // Insert the token ID into the form so it gets submitted to the server 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); // Submit the form form.submit(); }

Bạn muốn thay thế trình giữ chỗ PUBLISHABLE_KEY cùng với khóa thực của bạn trong đoạn mã đã nói ở trên xuất hiện với bạn lúc đầu

Stripe cung cấp các gói linh kiện thẻ đa dạng. Đọc thêm xung quanh tài liệu

Khi khách hàng gửi biểu mẫu có chi tiết thẻ, Stripe sẽ tạo mã thông báo trong nền có thể đặt 'mã thông báo' làm trường ẩn. Mã thông báo này sẽ được sử dụng để tính phí thanh toán bằng thẻ sử dụng Stripe SDK

Tích hợp Stripe với Omnipay trong PHP

Tất cả chúng ta đã thiết lập với thiết lập cơ bản. Bây giờ, để xác minh thanh toán bằng thẻ, hãy cài đặt thư viện Omnipay Stripe. Mở terminal trong thư mục gốc mở rộng của bạn và chạy lệnh

composer require league/omnipay omnipay/stripe

Tích hợp Stripe Checkout trong PHP

Sau khi thư viện được cài đặt, hãy tạo tệp

.StripeElement {
    box-sizing: border-box;
    
    padding: 12px 14px;
    
    height: 50px;
    
    border: 1px solid transparent;
    background-color: white;
    border-radius: 4px;
    
    
    box-shadow: 0 2px 6px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 160ms;
}
  
.StripeElement--focus {
    box-shadow: 0 2px 4px 0 #cff7df;
}
  
.StripeElement--invalid {
    border-color: #fa755a;
}
  
.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}
1 và khởi tạo đối tượng thanh toán và kết nối cơ sở dữ liệu

Cấu hình cơ sở dữ liệu và Stripe API và

.StripeElement {
    box-sizing: border-box;
    
    padding: 12px 14px;
    
    height: 50px;
    
    border: 1px solid transparent;
    background-color: white;
    border-radius: 4px;
    
    
    box-shadow: 0 2px 6px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 160ms;
}
  
.StripeElement--focus {
    box-shadow: 0 2px 4px 0 #cff7df;
}
  
.StripeElement--invalid {
    border-color: #fa755a;
}
  
.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}
2

Trong bản ghi

.StripeElement {
    box-sizing: border-box;
    
    padding: 12px 14px;
    
    height: 50px;
    
    border: 1px solid transparent;
    background-color: white;
    border-radius: 4px;
    
    
    box-shadow: 0 2px 6px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 160ms;
}
  
.StripeElement--focus {
    box-shadow: 0 2px 4px 0 #cff7df;
}
  
.StripeElement--invalid {
    border-color: #fa755a;
}
  
.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}
1, các biến cố định của API Stripe và cài đặt cơ sở dữ liệu được xác định trước

Hằng số DB sọc

________số 8

Hằng số API sọc

STRIPE_API_KEY - Specify the API Secret key.
STRIPE_PUBLISHABLE_KEY - Specify the API Publishable key.
.StripeElement {
    box-sizing: border-box;
    
    padding: 12px 14px;
    
    height: 50px;
    
    border: 1px solid transparent;
    background-color: white;
    border-radius: 4px;
    
    
    box-shadow: 0 2px 6px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 160ms;
}
  
.StripeElement--focus {
    box-shadow: 0 2px 4px 0 #cff7df;
}
  
.StripeElement--invalid {
    border-color: #fa755a;
}
  
.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}
0

Thay thế tất cả các phần giữ chỗ bằng các chi tiết thực tế. Sau khi hoàn thành, hãy viết mã như sau

.StripeElement {
    box-sizing: border-box;
    
    padding: 12px 14px;
    
    height: 50px;
    
    border: 1px solid transparent;
    background-color: white;
    border-radius: 4px;
    
    
    box-shadow: 0 2px 6px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 160ms;
}
  
.StripeElement--focus {
    box-shadow: 0 2px 4px 0 #cff7df;
}
  
.StripeElement--invalid {
    border-color: #fa755a;
}
  
.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}
1

Bây giờ chúng ta đã hoàn thành với mã. Stripe cung cấp chi tiết thẻ giả để kiểm tra thanh toán sandbox

Tạo cổng thanh toán Stripe trực tiếp

Khi quá trình tích hợp của bạn hoàn tất, quy trình thanh toán đang hoạt động và bạn chọn đưa vào hoạt động, bạn cần thay thế khóa bí mật và có thể xuất bản của mình bằng thông tin đăng nhập trực tiếp. Thực hiện theo các bước đã cho để đưa cổng trả góp Stripe vào hoạt động

  • Đăng nhập vào tài khoản Personal Stripe của bạn và điều hướng đến trang Nhà phát triển » Khóa API
  • Thu thập các khóa API (Khóa bí mật và Khóa có thể xuất bản) từ Dữ liệu trực tiếp
  • Thay thế các khóa API thử nghiệm (Khóa bí mật và Khóa có thể xuất bản) bằng các khóa API trực tiếp (Khóa bí mật và Khóa có thể xuất bản), trong cấu hình. tập tin php

Sọc so với Paypal

Dưới đây là so sánh ngắn gọn về các dịch vụ do Stripe và PayPal cung cấp và cách thức hoạt động của từng dịch vụ

Tích hợp Stripe Checkout trong PHP

Phần kết luận

PHP Stripe là bộ xử lý thẻ tín dụng chỉ trực tuyến tính phí xử lý hợp lý và có rất ít chi phí đi kèm. API Stripe cơ bản phù hợp với các doanh nghiệp có nhà thiết kế có thể xây dựng trải nghiệm thương mại điện tử trực tuyến tùy chỉnh

Stripe có các thư viện chính thức cho các ngôn ngữ lập trình và nền tảng di động khác nhau. Hơn nữa, có rất nhiều thư viện và plugin của bên thứ ba được tạo bởi cộng đồng Stripe

Q. sọc có phải là SDK không?

A. API Stripe cho phép các nhà thiết kế tiếp cận chức năng của Stripe. Stripe là dịch vụ cho phép khách hàng nhận thanh toán trực tuyến, đặc biệt là các nhà phát triển. Với ứng dụng Stripe, khách hàng có thể theo dõi các khoản thanh toán, phân tích các khoản thanh toán trong quá khứ, thực hiện các khoản thanh toán định kỳ và theo dõi khách hàng

Đánh giá của khách hàng tại

Tích hợp Stripe Checkout trong PHP

“Dịch vụ lưu trữ trên nền tảng đám mây có một trong những dịch vụ khách hàng tốt nhất và tốc độ lưu trữ”

Sanjit C [Nhà phát triển trang web]

Tích hợp Stripe Checkout trong PHP

Inshal Ali

Inshal là Nhà tiếp thị nội dung tại Cloudways. Với nền tảng về khoa học máy tính, kỹ năng nội dung và rất nhiều sáng tạo, anh ấy đã giúp doanh nghiệp vươn tới bầu trời và vượt xa thông qua nội dung nói ngôn ngữ của khách hàng của họ. Ngoài công việc, bạn sẽ thấy anh ấy chủ yếu trong một số trò chơi trực tuyến hoặc trên sân bóng

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 để tích hợp thanh toán trong PHP?

Cách tích hợp cổng thanh toán với cửa hàng trực tuyến của bạn bằng PHP .
Bước 1. Tạo biểu mẫu HTML để thu thập thông tin nguồn thanh toán của khách hàng. .
Bước 2. Tạo mã thông báo để truyền dữ liệu được mã hóa một cách an toàn. .
Bước 3. Cho phép gửi biểu mẫu cùng với thông tin thanh toán. .
Bước 4. Xác minh và xác thực các khoản phí

Làm cách nào để tạo khách hàng trong Stripe bằng PHP?

Thiết bị đầu cuối .
Mã thông báo kết nối
Bàn giao ý định thanh toán cho người đọc. Chuyển giao SetupIntent cho Reader. Đặt hiển thị đầu đọc. Hủy hành động người đọc hiện tại. Mô phỏng trình bày một phương thức thanh toán
cấu hình. đối tượng Cấu hình. Tạo cấu hình. Truy xuất cấu hình. Cập nhật cấu hình. Xóa một cấu hình

Làm cách nào để nhận mã thông báo Stripe trong PHP?

Tạo mã thông báo thẻ .
Thẻ. yêu cầu exp_tháng. Số có hai chữ số thể hiện tháng hết hạn của thẻ
Thẻ. yêu cầu exp_year. .
Thẻ. số yêu cầu. .
Thẻ. tiền tệ tùy chọn. .
Thẻ. cvc thường bắt buộc. .
Thẻ. tên tùy chọn. Tên đầy đủ của chủ thẻ
Thẻ. address_line1 tùy chọn. .
Thẻ. address_line2 tùy chọn