/** * Copyright (C) 2014-2020 ServMask Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ */ if ( ! defined( 'ABSPATH' ) ) { die( 'Kangaroos cannot jump here' ); } class Ai1wm_Export_Content { public static function execute( $params ) { // Set archive bytes offset if ( isset( $params['archive_bytes_offset'] ) ) { $archive_bytes_offset = (int) $params['archive_bytes_offset']; } else { $archive_bytes_offset = ai1wm_archive_bytes( $params ); } // Set file bytes offset if ( isset( $params['file_bytes_offset'] ) ) { $file_bytes_offset = (int) $params['file_bytes_offset']; } else { $file_bytes_offset = 0; } // Set content bytes offset if ( isset( $params['content_bytes_offset'] ) ) { $content_bytes_offset = (int) $params['content_bytes_offset']; } else { $content_bytes_offset = 0; } // Get processed files size if ( isset( $params['processed_files_size'] ) ) { $processed_files_size = (int) $params['processed_files_size']; } else { $processed_files_size = 0; } // Get total content files size if ( isset( $params['total_content_files_size'] ) ) { $total_content_files_size = (int) $params['total_content_files_size']; } else { $total_content_files_size = 1; } // Get total content files count if ( isset( $params['total_content_files_count'] ) ) { $total_content_files_count = (int) $params['total_content_files_count']; } else { $total_content_files_count = 1; } // What percent of files have we processed? $progress = (int) min( ( $processed_files_size / $total_content_files_size ) * 100, 100 ); // Set progress Ai1wm_Status::info( sprintf( __( 'Archiving %d content files...
%d%% complete', AI1WM_PLUGIN_NAME ), $total_content_files_count, $progress ) ); // Flag to hold if file data has been processed $completed = true; // Start time $start = microtime( true ); // Get content list file $content_list = ai1wm_open( ai1wm_content_list_path( $params ), 'r' ); // Set the file pointer at the current index if ( fseek( $content_list, $content_bytes_offset ) !== -1 ) { // Open the archive file for writing $archive = new Ai1wm_Compressor( ai1wm_archive_path( $params ) ); // Set the file pointer to the one that we have saved $archive->set_file_pointer( $archive_bytes_offset ); // Loop over files while ( list( $file_abspath, $file_relpath, $file_size, $file_mtime ) = fgetcsv( $content_list ) ) { $file_bytes_written = 0; // Add file to archive if ( ( $completed = $archive->add_file( $file_abspath, $file_relpath, $file_bytes_written, $file_bytes_offset ) ) ) { $file_bytes_offset = 0; // Get content bytes offset $content_bytes_offset = ftell( $content_list ); } // Increment processed files size $processed_files_size += $file_bytes_written; // What percent of files have we processed? $progress = (int) min( ( $processed_files_size / $total_content_files_size ) * 100, 100 ); // Set progress Ai1wm_Status::info( sprintf( __( 'Archiving %d content files...
%d%% complete', AI1WM_PLUGIN_NAME ), $total_content_files_count, $progress ) ); // More than 10 seconds have passed, break and do another request if ( ( $timeout = apply_filters( 'ai1wm_completed_timeout', 10 ) ) ) { if ( ( microtime( true ) - $start ) > $timeout ) { $completed = false; break; } } } // Get archive bytes offset $archive_bytes_offset = $archive->get_file_pointer(); // Truncate the archive file $archive->truncate(); // Close the archive file $archive->close(); } // End of the content list? if ( feof( $content_list ) ) { // Unset archive bytes offset unset( $params['archive_bytes_offset'] ); // Unset file bytes offset unset( $params['file_bytes_offset'] ); // Unset content bytes offset unset( $params['content_bytes_offset'] ); // Unset processed files size unset( $params['processed_files_size'] ); // Unset total content files size unset( $params['total_content_files_size'] ); // Unset total content files count unset( $params['total_content_files_count'] ); // Unset completed flag unset( $params['completed'] ); } else { // Set archive bytes offset $params['archive_bytes_offset'] = $archive_bytes_offset; // Set file bytes offset $params['file_bytes_offset'] = $file_bytes_offset; // Set content bytes offset $params['content_bytes_offset'] = $content_bytes_offset; // Set processed files size $params['processed_files_size'] = $processed_files_size; // Set total content files size $params['total_content_files_size'] = $total_content_files_size; // Set total content files count $params['total_content_files_count'] = $total_content_files_count; // Set completed flag $params['completed'] = $completed; } // Close the content list file ai1wm_close( $content_list ); return $params; } } Giúp bạn bỏ túi thông tin về các loại thẻ ngân hàng - Vay Tài Chính 247

Giúp bạn bỏ túi thông tin về các loại thẻ ngân hàng

Có thể nói, thẻ ngân hàng giúp cho những giao dịch thường ngày của chúng ta trở nên dễ dàng và thuận tiện hơn. Vậy qua bài viết này, hãy cùng điểm qua một số loại thẻ ngân hàng hiện nay.

Giúp bạn bỏ túi thông tin về các loại thẻ ngân hàng
Thẻ ngân hàng

Khái niệm về thẻ ngân hàng

Có lẽ hầu hết tất cả người dùng đều có thể tự định nghĩa cho bản thân khái niệm của thẻ ngân hàng. Thẻ ngân hàng được coi như một công cụ thanh toán được các ngân hàng hoặc một số tổ chức tín dụng cấp cho khách hàng nhằm mục đích sử dụng trong các giao dịch mua bán hàng hóa, dịch vụ,…

Tuy nhiên thì việc thực hiện các giao dịch này cũng như việc rút tiền mặt ra khỏi tài khoản đều phải nằm trong phạm vi số dư tài khoản thẻ của bạn. Bên cạnh đó, tất cả những giao dịch diễn ra đều liên quan trực tiếp đến ngân hàng đã cấp thẻ cho bạn. Vì thế mà nó được gọi là thẻ ngân hàng.

Đọc thêm: Chia sẻ 3 cách kích hoạt thẻ ACB nhanh và tiện lợi nhất

Một số các loại thẻ phổ biến hiện nay 

Thẻ tín dụng

Thẻ tín dụng là một loại thẻ được sử dụng trong thanh toán cho phép người dùng được chi cho tiêu dùng trước và trả tiền vào thời gian sau đó. Cụ thể, khi cấp cho bạn loại thẻ này thì ngân hàng cũng đồng thời cho bạn một khoản hạn mức chi tiêu.

Trong phạm vi hạn mức này, bạn có thể toàn quyền sử dụng để phục vụ cho các nhu cầu cá nhân của mình. Trên thực tế thì đây không khác gì một khoản vay và bạn sẽ phải trả nợ theo thời gian quy định.

Vì thế mà không phải ai cũng đủ điều kiện được ngân hàng cấp cho loại thẻ này. Nếu muốn sở hữu loại thẻ này, bạn cần phải chứng minh được thu nhập cũng như khả năng trả nợ của mình.

Không giống như những thẻ ngân hàng thanh toán thông thường, bạn sẽ không thực hiện được chức năng chuyển tiền thông qua thẻ tín dụng. Bên cạnh đó, thẻ tín dụng thường có tính chất toàn cầu. Nghĩa là bạn có thể sử dụng thẻ này không chỉ trong khu vực nội địa mà còn có hiệu lực tại nước ngoài.

Thẻ tín dụng cũng có những các loại dành riêng cho từng nhóm khách hàng, ví dụ như thẻ bạch kim, thẻ hạng vàng và thẻ hạng chuẩn. Bạn sẽ thấy rõ điều này hơn nếu như bạn đã từng tới ngân hàng và thực hiện việc mở thẻ.

Tham khảo: Thẻ đen là gì? Tìm hiểu về thẻ đen ngân hàng

Một trong những ưu điểm của loại thẻ này chính là việc các ngân hàng có xu hướng khuyến khích khách hàng của mình bằng cách thường xuyên cung cấp rất nhiều ưu đãi, quà tặng hấp dẫn.

Giúp bạn bỏ túi thông tin về các loại thẻ ngân hàng

Đọc thêm: Chia sẻ cách tính lãi suất thẻ tín dụng

Thẻ ghi nợ

Có thể nói, bên cạnh thẻ tín dụng thì thẻ ghi nợ cũng được coi là một trong những loại thẻ phổ biến trong tiêu dùng hiện nay. Ngoài ra, thẻ ghi nợ có thể khắc phục được yếu điểm của thẻ tín dụng.

Nghĩa là, đối với những khách hàng sử dụng thẻ ghi nợ thì họ sẽ có quyền được thanh toán, chuyển tiền hoặc rút tiền mặt tại các cây ATM, miễn là số tiền của những lần giao dịch này nằm trong hạn mức cho phép của ngân hàng.

Việc người dùng có thể sử dụng loại thẻ này để thực hiện chuyển tiền bởi vì đặc điểm liên kết với tài khoản ngân hàng của nó. Loại thẻ này được liên kết trực tiếp với thẻ ngân hàng mà bạn đang sử dụng.

Vì thế mà bạn chỉ có thể tiêu dùng trong phạm vi số tiền có ở tài khoản ngân hàng. Đối với loại thẻ này, bạn không được phép chi tiêu trước rồi mới trả nợ giống như thẻ tín dụng.

Nói một cách ngắn gọn lại thì đối với thẻ tín dụng, người dùng sẽ được tiêu dùng trước rồi trả nợ sau, còn đối với thẻ ghi nợ thì người sử dụng sẽ đưa tiền vào tài khoản trước rồi tiêu dùng sau. Người sử dụng đều không được phép chi tiêu vượt quá số dư cho phép đối với cả hai loại thẻ này.

Thẻ trả trước

Đây là một loại thẻ ngân hàng mà khách hàng có thể sử dụng để rút tiền, chuyển tiền hoặc thanh toán hàng hóa, dịch vụ dựa trên số tiền sẵn có trong thẻ. Thay vì phải đưa tiền vào trong tài khoản trước rồi mới được phép chi tiêu như thẻ ghi nợ thì đối với thẻ trả trước, bạn không cần làm như vậy.

Những khách hàng có độ tuổi từ 15 tuổi trở lên hoàn toàn có thể sử dụng loại thẻ này. Trên thực tế thì thẻ trả trước không yêu cầu bạn phải mở tài khoản ngân hàng để thực hiện hoạt động mở thẻ.

Loại thẻ này cũng có đầy đủ các tính năng cơ bản, tương tự của thẻ tín dụng và thẻ ghi nợ như là khả năng thanh toán, chuyển khoản hoặc thanh toán các giao dịch trực tuyến.

Đọc thêm: Làm thẻ ngân hàng cần những giấy tờ gì?