Làm cách nào để tích hợp thanh toán trong PHP?

  • Tải về

    Ứng dụng mẫu Razorpay PHP

    .
  • Đảm bảo rằng bạn đang sử dụng 5. 6 hoặc phiên bản cao hơn của SDK

    Tải xuống

    phiên bản mới nhất của SDK từ GitHub

Xem video này để biết cách tích hợp Cổng thanh toán Razorpay trên ứng dụng PHP của bạn

  • Tạo một

    tài khoản dao cạo

    .
  • Đăng nhập vào Bảng điều khiển Razorpay và

    trong chế độ thử nghiệm

Thực hiện theo các bước tích hợp này

  1. Xây dựng tích hợp

  2. Tích hợp thử nghiệm

  3. Danh sách kiểm tra phát trực tiếp

Trong hướng dẫn này, tôi sẽ giải thích cách thực hiện Tích hợp thanh toán PayPal trong PHP. Tính đến thời điểm hiện tại, đây là hệ thống thanh toán trực tuyến phổ biến nhất của Mỹ giúp dễ dàng gửi và nhận tiền qua internet

PayPal cung cấp nhiều cách khác nhau để gửi và nhận tiền trực tuyến, bạn có thể gửi tiền trực tiếp cho bạn bè hoặc thành viên gia đình của mình và bạn cũng có thể thanh toán cho một số dịch vụ trên internet bằng cách sử dụng PayPal

Đây cũng là cổng thanh toán trực tuyến phổ biến nhất, được sử dụng để chấp nhận thanh toán qua web và ứng dụng di động

PayPal cung cấp một số cách để Tích hợp Cổng thanh toán PayPal vào trang web của bạn, một số cách được liệt kê bên dưới

  1. Tiêu chuẩn thanh toán PayPal
  2. Thủ tục thanh toán
  3. Đăng ký & Thanh toán định kỳ
  4. Lập hóa đơn PayPal
  5. xuất chi

Tôi sẽ tập trung vào Tiêu chuẩn thanh toán PayPal, vì đây là cách dễ dàng nhất để tích hợp thanh toán PayPal bằng PHP. Vì vậy, hãy bắt đầu tích hợp các tiêu chuẩn thanh toán PayPal trong PHP

Tôi sẽ sử dụng hướng dẫn trước PHP CRUD Operations để truy cập cơ sở dữ liệu và thực hiện tất cả các hoạt động liên quan đến cơ sở dữ liệu bằng cách sử dụng lớp dbclass. php

Tôi sẽ bỏ qua việc viết lại cùng một lớp để tránh trùng lặp mã. Tuy nhiên, tôi sẽ bao gồm cùng một lớp trong tệp tải xuống, vì vậy bạn không cần phải lo lắng về dbclass. lớp php

Các bước tích hợp Cổng thanh toán PayPal bằng PHP

Tôi sẽ làm theo các bước dưới đây để tích hợp cổng thanh toán PayPal trên trang web của mình bằng PHP

  1. Tạo cơ sở dữ liệu, bảng và kết xuất dữ liệu mẫu
  2. Tạo cấu hình. php và thực hiện các thay đổi cần thiết
  3. Tạo một chỉ mục. php và hiển thị một số sản phẩm cần mua
  4. Tạo thông báo. php, Xử lý IPN & Chèn Bản ghi Thanh toán vào DB
  5. Tạo hủy bỏ. tệp php
  6. Tạo một sự trở lại. tệp php
  7. Tạo một phong cách. tệp css

1. Tạo cơ sở dữ liệu, bảng và kết xuất dữ liệu mẫu

Để tạo cơ sở dữ liệu, hãy chạy truy vấn sau trong MySQL

CREATE DATABASE allphptricks;

Để tạo các bảng chạy các truy vấn sau

CREATE TABLE `products` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(250) NOT NULL,
  `code` varchar(100) NOT NULL,
  `price` double(9,2) NOT NULL,
  `image` varchar(250) NOT NULL,
   PRIMARY KEY (`id`),
   UNIQUE KEY `code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Ghi chú. Tôi đã đính kèm tệp SQL của bảng này với dữ liệu giả, chỉ cần tải xuống tệp zip hoàn chỉnh của hướng dẫn này

CREATE TABLE `payment_info` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `item_number` varchar(255) NOT NULL,
  `item_name` varchar(255) NOT NULL,
  `payment_status` varchar(255) NOT NULL,
  `amount` double(10,2) NOT NULL,
  `currency` varchar(255) NOT NULL,
  `txn_id` varchar(255) NOT NULL,
  `create_at` timestamp NOT NULL DEFAULT current_timestamp(),
   PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Kết xuất dữ liệu mẫu vào bảng `products`

INSERT INTO `products` (`id`, `name`, `code`, `price`, `image`) VALUES
(1, 'Laptop Core i5', 'Laptop01', 100.00, 'product-images/laptop.jpg'),
(2, 'Laptop Bag', 'Bag01', 10.00, 'product-images/laptop-bag.jpg'),
(3, 'iPhone X', 'iphone01', 50.00, 'product-images/iphone.jpg');

2. Tạo cấu hình. php và thực hiện các thay đổi cần thiết

Tạo cấu hình. php, sao chép, dán đoạn mã sau và thực hiện các thay đổi cần thiết như cập nhật thông tin đăng nhập cơ sở dữ liệu, tên cơ sở dữ liệu, tên người dùng, mật khẩu, đồng thời cập nhật email doanh nghiệp PayPal của bạn, trả lại, hủy, thông báo URL, v.v.

3. Tạo một chỉ mục. php và hiển thị một số sản phẩm cần mua

Tạo một chỉ mục. php, sao chép dán đoạn mã sau vào đó. Trang này sẽ hiển thị tất cả các sản phẩm từ bảng `products` để người dùng có thể dễ dàng mua bất kỳ sản phẩm nào

query("SELECT * FROM `products`");
$products = $db->resultSet();
$db->close();
?>


PayPal Payment Integration in PHP




PayPal Payment Integration in PHP

Làm cách nào để tích hợp thanh toán trong PHP?

4. Tạo thông báo. php, Xử lý IPN & Chèn Bản ghi Thanh toán vào DB

Tạo thông báo. php, sao chép dán đoạn mã sau vào đó. Trang này sẽ xử lý tất cả Thông báo thanh toán tức thì PayPal (IPN), xác thực dữ liệu và thêm bản ghi vào bảng `

CREATE TABLE `products` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(250) NOT NULL,
  `code` varchar(100) NOT NULL,
  `price` double(9,2) NOT NULL,
  `image` varchar(250) NOT NULL,
   PRIMARY KEY (`id`),
   UNIQUE KEY `code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
0`

 $value) {
	if($get_magic_quotes_exists == true && get_magic_quotes_gpc() == 1) {
		$value = urlencode(stripslashes($value));
	} else {
		$value = urlencode($value);
	}
	$req .= "&$key=$value";
}

/*
Post IPN data back to PayPal using curl to 
validate the IPN data is valid & genuine
Anyone can fake IPN data, if you skip it.
*/
$ch = curl_init(PAYPAL_URL);
if ($ch == FALSE) {
	return FALSE;
}
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_SSLVERSION, 6);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);

/*
This is often required if the server is missing a global cert
bundle, or is using an outdated one.
Please download the latest 'cacert.pem' from 
http://curl.haxx.se/docs/caextract.html
*/
if (LOCAL_CERTIFICATE == TRUE) {
	curl_setopt($ch, CURLOPT_CAINFO, __DIR__ . "/cert/cacert.pem");
}

// Set TCP timeout to 30 seconds
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	'Connection: Close',
	'User-Agent: PHP-IPN-Verification-Script'
));

$res = curl_exec($ch);

// cURL error
if (curl_errno($ch) != 0){
	curl_close($ch);
	exit;
} else {
	curl_close($ch);
}

/* 
 * Inspect IPN validation result and act accordingly 
 * Split response headers and payload, a better way for strcmp 
 */
$tokens = explode("\r\n\r\n", trim($res));
$res = trim(end($tokens));
if (strcmp($res, "VERIFIED") == 0 || strcasecmp($res, "VERIFIED") == 0) {
	// assign posted variables to local variables
	$item_number = $_POST['item_number'];
	$item_name = $_POST['item_name'];
	$payment_status = $_POST['payment_status'];
	$amount = $_POST['mc_gross'];
	$currency = $_POST['mc_currency'];
	$txn_id = $_POST['txn_id'];
	$receiver_email = $_POST['receiver_email'];
	// $payer_email = $_POST['payer_email'];

	// check that receiver_email is your PayPal business email
	if (strtolower($receiver_email) != strtolower(PAYPAL_EMAIL)) {
		error_log(date('[Y-m-d H:i e] ').
			"Invalid Business Email: $req" . PHP_EOL, 3, IPN_LOG_FILE);
		exit();
	}

	// check that payment currency is correct
	if (strtolower($currency) != strtolower(CURRENCY)) {
		error_log(date('[Y-m-d H:i e] '). 
			"Invalid Currency: $req" . PHP_EOL, 3, IPN_LOG_FILE);
		exit();
	}

	//Check Unique Transcation ID
	$db = new DB;
	$db->query("SELECT * FROM `payment_info` WHERE txn_id=:txn_id");
	$db->bind(':txn_id', $txn_id);
	$db->execute();
	$unique_txn_id = $db->rowCount();

	if(!empty($unique_txn_id)) {
		error_log(date('[Y-m-d H:i e] '). 
			"Invalid Transaction ID: $req" . PHP_EOL, 3, IPN_LOG_FILE);
		$db->close();
		exit();
	}else{
		$db->query("INSERT INTO `payment_info`
			(`item_number`, `item_name`, `payment_status`,
				 `amount`, `currency`, `txn_id`)
			VALUES
			(:item_number, :item_name, :payment_status, 
				:amount, :currency, :txn_id)");
		$db->bind(":item_number", $item_number);
		$db->bind(":item_name", $item_name);
		$db->bind(":payment_status", $payment_status);
		$db->bind(":amount", $amount);
		$db->bind(":currency", $currency);
		$db->bind(":txn_id", $txn_id);
		$db->execute();
		/* error_log(date('[Y-m-d H:i e] '). 
		"Verified IPN: $req ". PHP_EOL, 3, IPN_LOG_FILE);
		*/
	} 
	$db->close();
	
} else if (strcmp($res, "INVALID") == 0) {
	//Log invalid IPN messages for investigation
	error_log(date('[Y-m-d H:i e] '). 
		"Invalid IPN: $req" . PHP_EOL, 3, IPN_LOG_FILE);
}
?>

5. Tạo hủy bỏ. tệp php

Tạo hủy bỏ. php, sao chép dán đoạn mã sau vào đó. Khách hàng sẽ được chuyển hướng đến đây nếu hủy thanh toán từ trang thanh toán PayPal

________số 8

6. Tạo một sự trở lại. tệp php

Tạo một sự trở lại. php, sao chép dán đoạn mã sau vào đó. Khách hàng sẽ được chuyển đến đây khi thanh toán thành công



Payment Confirmed


    

Your paymeny has been received successfully.
Thank you!

7. Tạo một phong cách. tệp css

Tạo một phong cách. css, sao chép dán đoạn mã sau vào đó. Đây là biểu định kiểu của trang chỉ mục nơi tất cả các sản phẩm được hiển thị độc đáo

CREATE TABLE `products` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(250) NOT NULL,
  `code` varchar(100) NOT NULL,
  `price` double(9,2) NOT NULL,
  `image` varchar(250) NOT NULL,
   PRIMARY KEY (`id`),
   UNIQUE KEY `code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
0

Phần kết luận

Bằng cách làm theo hướng dẫn từng bước ở trên, bất kỳ ai cũng có thể dễ dàng tích hợp cổng thanh toán PayPal trong PHP. PayPal Payments Standard là tích hợp thanh toán dễ dàng nhất có thể cho phép thanh toán trực tuyến trên trang web của bạn trong vòng một ngày hoặc trong vài giờ

Tôi cố gắng giữ cho mã của mình dễ dàng và đơn giản nhất có thể, nhưng nếu bất kỳ ai trong số các bạn vẫn gặp khó khăn, hãy bình luận bên dưới, tôi sẽ cố gắng hết sức để trả lời tất cả các bình luận và câu hỏi của độc giả blog của tôi

Tải xuống bản trình diễn

Nếu bạn thấy hướng dẫn này hữu ích, hãy chia sẻ nó với bạn bè và nhóm nhà phát triển của bạn

Tôi đã dành vài giờ để tạo hướng dẫn này, nếu bạn muốn nói lời cảm ơn, hãy thích trang của tôi trên Facebook, Twitter và chia sẻ nó

Làm cách nào để tích hợp PayPal trong PHP?

Tích hợp cổng thanh toán bằng PHP – Danh sách kiểm tra nhanh .
Bắt đầu bằng cách nhận tài khoản nhà phát triển PayPal và nhận thông tin xác thực hộp cát. .
Tạo cấu trúc thư mục phù hợp để tích hợp
Bắt đầu bằng cách tạo Thanh toán. tập tin php
Tạo thanh toán_form. .
Kiểm tra tích hợp để xem mọi thứ có hoạt động bình thường không

Làm cách nào để tích hợp thanh toán Stripe trong PHP?

Các bước tích hợp cổng thanh toán Stripe .
Tạo tài khoản Stripe và đăng nhập để lấy khóa API
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
bao gồm Sọc. js để xác thực, tạo và xác nhận thanh toán bằng thẻ một cách an toàn
Xử lý yêu cầu thanh toán Stripe trong PHP

Làm cách nào để tích hợp cổng thanh toán Mastercard trong PHP?

Hướng dẫn 1. Tích hợp cổng thanh toán bằng PHP .
Chuẩn bị biểu mẫu HTML để thu thập thông tin thẻ tín dụng
Tạo mã thông báo Stripe để truyền thông tin thẻ một cách an toàn
Gửi biểu mẫu với chi tiết thẻ
Xác minh thẻ và xử lý các khoản phí
Chèn chi tiết thanh toán vào cơ sở dữ liệu để hiển thị trạng thái cho người dùng

Làm cách nào để tích hợp cổng thanh toán Paytm trong PHP?

Trước tiên, bạn phải tạo tài khoản với Cổng thanh toán Paytm . Trong khi tạo tài khoản của bạn, hãy nhớ chọn tùy chọn yêu cầu trang web hoặc ứng dụng để tích hợp Cổng thanh toán Paytm. Quá trình đăng ký cũng sẽ yêu cầu một URL mà bạn muốn khách hàng của mình được chuyển hướng sau khi thanh toán.