Skip to content
Media

Media

  • Trang chủ
  • Download
    • Phần mềm đồ họa
    • Phần mềm lập trình
    • Phần mềm văn phòng
    • Windows
  • WordPress
    • Themes
    • Plugins
  • Thủ thuật
  • Audio Truyện
  • Chính sách
Media

Media

  • Home » 
  • Thủ thuật » 
  • Tích hợp mã QR Code thanh toán vào đơn hàng WooCommerce WordPress

Tích hợp mã QR Code thanh toán vào đơn hàng WooCommerce WordPress

By Lê Giang 10/10/2024 0 156 Views
Mục lục

Mã QR Code thanh toán

Quét mã QR Code chuyển khoản thanh toán, không sử dụng tiền mặt hiện nay đang trở nên rất phổ biến, từ việc đi siêu thị cho đến mua mớ rau ngoài chợ. Bán hàng online, đặc biệt là trên website thì không nên thiếu. Thay vì người chuyển phải nhập thủ công Số tài khoản – Ngân hàng – Số tiền – Nội dung, thì bây giờ hãy dùng QR Code để quét thông tin chuyển khoản được nhanh chóng và thuận tiện. Tăng tỷ lệ chuyển đổi và tỷ lệ thanh toán trước, cũng giúp website trở nên chuyên nghiệp và uy tín hơn.

Cấu hình chuyển khoản ngân hàng trong WooCommerce

Trong WooCommerce đã có sẵn phần cấu hình phương thức thanh toán bằng hình thức chuyển khoản ngân hàng, truy cập vào WooCommerce -> Cài đặt -> Thanh toán -> Chuyển khoản ngân hàng

Điền thông tin tài khoản vào các trường theo mẫu như trên

  • Tên tài khoản: Viết hoa toàn bộ, không dấu (viết thường, có dấu vẫn nhận)
  • Số tài khoản: Viết liền
  • Tên ngân hàng: Viết liền (chữ hoa, thường đều được)

Code hiển thị mã QR thanh toán

Tiếp theo, sao chép đoạn code sau và đưa vào file functions.php của theme đang dùng

/*
 * Change bank transfer display
 */
 
if(!function_exists('devvn_thankyou_page')) {
	add_filter('woocommerce_bacs_accounts', '__return_false');
	// code get bin ngan hang
	function get_bin($bank_name) {
		// Gọi API và lấy kết quả JSON
		$curl = curl_init();
		curl_setopt_array($curl, array(
		  CURLOPT_URL => "https://api.vietqr.io/v2/banks",
		  CURLOPT_RETURNTRANSFER => true,
		  CURLOPT_FOLLOWLOCATION => true,
		  CURLOPT_ENCODING => "",
		  CURLOPT_MAXREDIRS => 10,
		  CURLOPT_TIMEOUT => 30,
		  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
		  CURLOPT_CUSTOMREQUEST => "GET",
		));
		$response = curl_exec($curl);
		$err = curl_error($curl);
		curl_close($curl);
		if ($err) {
		  echo "CURL Error #:" . $err;
		} else {
		  // Phân tích kết quả JSON
		  $data = json_decode($response, true);
		  // Duyệt qua từng ngân hàng trong dữ liệu
		  foreach ($data['data'] as $bank) {
			  // Kiểm tra nếu shortName của ngân hàng trùng với $bank_name
			  if (strtoupper($bank['shortName']) == strtoupper($bank_name)) {
				  // Lấy giá trị bin và in ra
				  return $bank['bin'];
				  break; // thoát khỏi vòng lặp sau khi tìm thấy kết quả
			  }
		  }
		}
	}
	// them noi dung vao email
	add_action( 'woocommerce_email_before_order_table', 'devvn_email_instructions', 10, 3 );
	function devvn_email_instructions( $order, $sent_to_admin, $plain_text = false ) {
	 
		if ( ! $sent_to_admin && 'bacs' === $order->get_payment_method() && $order->has_status( 'on-hold' ) ) {
			devvn_bank_details( $order->get_id() );
		}
	 
	}
	// Hien thi noi dung trang thank you
	add_action( 'woocommerce_thankyou_bacs', 'devvn_thankyou_page' );
	function devvn_thankyou_page($order_id){
		devvn_bank_details($order_id);
	}
	// Noi dung hien thi
	function devvn_bank_details( $order_id = '' ) {
		$order = wc_get_order( $order_id );
		
		$bacs_accounts = get_option('woocommerce_bacs_accounts');
		if ( ! empty( $bacs_accounts ) ) {
			ob_start();
			echo '<h2>Thông tin chuyển khoản: </h2>';
			echo '<table style="border: 1px solid #ddd; border-collapse: collapse; width: 100%; margin-bottom: 15px;">';
			$bank_content = 'Thanh toan don hang '.$order->get_order_number();
			foreach ( $bacs_accounts as $bacs_account ) {
				$bacs_account = (object) $bacs_account;
				$account_name = $bacs_account->account_name;
				$bank_name = $bacs_account->bank_name;
				$stk = $bacs_account->account_number;	
				?>
				<tr>
					<td style="width: 150px;border: 1px solid #eaeaea;padding: 6px 10px;">
						<img src="https://api.bnix.one/tools/vietqr/vietqr.php?bankcode=<?php echo get_bin($bank_name); ?>&account=<?php echo $stk; ?>&amount=<?php echo $order->get_total(); ?>&noidung=<?php echo $bank_content; ?>" alt="QR code <?php echo $bank_name; ?>"/>
					</td>
					<td style="border: 1px solid #eaeaea;padding: 6px 10px;color: black;line-height: 1.5;">
						<strong>Ngân hàng: </strong><?php echo strtoupper($bank_name);?><br>
						<strong>STK: </strong><?php echo $stk;?><br>
						<strong>Chủ tài khoản: </strong><?php echo $account_name;?><br>
						<strong>Số tiền: </strong><?php echo number_format($order->get_total(),0,".",","); ?> VNĐ<br>
						<strong>Nội dung: </strong><?php echo $bank_content; ?>
					</td>
				</tr>
				<?php
			}
			echo '</table>';
			echo ob_get_clean();;
		}
	 
	}

}

* Code có sử dụng API từ vietqr.io và document qr của Napas

Hoàn tất và xem kết quả

Có thể thay nội dung chuyển khoản theo ý muốn ở trên. Giờ hãy thử đặt 1 đơn hàng và xem kết quả

Và đây là kết quả trên email, để khách quên thanh toán thì vài tiếng sau vào trong email có thể quét và thanh toán ngay cho thuận tiện.

Trong mã QR Code đã điền sẵn tất cả các thông tin, bao gồm:

  • Tên ngân hàng
  • Số tài khoản
  • Chủ tài khoản
  • Số tiền thanh toán bằng đúng giá trị đơn hàng
  • Nội dung chuyển khoản là mã đơn hàng (cái này có thể thay đổi tuỳ chỉnh đoạn code trên)

Như vậy chỉ cần cấu hình và code 1 vài bước đơn giản là đã có thể tích hợp mã QR Code thanh toán vào trong WooCommerce một cách dễ dàng. Chúc các bạn thành công.

Nội dung bài viết được tổng hợp từ 2 nguồn: vuduchong.com và levantoan.com. Cảm ơn 2 tác giả!

Đánh giá post
Tags : Tags bank qr   qr
Share
facebookShare on FacebooktwitterShare on TwitterpinterestShare on Pinterest
linkedinShare on LinkedinvkShare on VkredditShare on ReddittumblrShare on TumblrviadeoShare on ViadeobufferShare on BufferpocketShare on PocketwhatsappShare on WhatsappviberShare on ViberemailShare on EmailskypeShare on SkypediggShare on DiggmyspaceShare on MyspacebloggerShare on Blogger YahooMailShare on Yahoo mailtelegramShare on TelegramMessengerShare on Facebook Messenger gmailShare on GmailamazonShare on AmazonSMSShare on SMS
Post navigation
Previous post

Làm thế nào để sao chép trang hoặc bài đăng trên WordPress chỉ bằng một cú nhấp chuột?

Next post

Blocksy Theme

Có thể bạn quan tâm

Tích hợp mã QR Code thanh toán vào đơn hàng WooCommerce WordPress

Cài Đặt AdGuard Home

Tích hợp mã QR Code thanh toán vào đơn hàng WooCommerce WordPress

Làm thế nào để sao chép trang hoặc bài đăng trên WordPress chỉ bằng một cú nhấp chuột?

Cập nhật mới

BỊ GẢ BÁN CHO NHÀ TIỂU THƯ TRẢ NỢ | chàng trai ở rể bị coi khinh!

10/03/2025
Adguard

Cài Đặt AdGuard Home

11/10/2024
Blocksy Theme

Blocksy Theme

11/10/2024
Le Giang Web Image

Tích hợp mã QR Code thanh toán vào đơn hàng WooCommerce WordPress

10/10/2024
How to Duplicate a WordPress Page or Post with a Single Click

Làm thế nào để sao chép trang hoặc bài đăng trên WordPress chỉ bằng một cú nhấp chuột?

06/10/2024
Nvme Hosting Singapore
Nvme Hosting Singapore
Phụ trách nội dung: Đinh Lê Giang
  • Chính sách miễn trừ trách nhiệm
Menu
  • Trang chủ
  • Download
    • Phần mềm đồ họa
    • Phần mềm lập trình
    • Phần mềm văn phòng
    • Windows
  • WordPress
    • Themes
    • Plugins
  • Thủ thuật
  • Audio Truyện
  • Chính sách