Chuyển tới nội dung chính

Plugin WooCommerce

Ask AI

1. Tổng quan

Plugin GLODIPAY WooCommerce tích hợp cổng thanh toán GLODIPAY vào WooCommerce, cho phép merchant chấp nhận thanh toán bằng thẻ tín dụng/ghi nợ thông qua một nền tảng thống nhất.

Phương thức thanh toán được hỗ trợ:

  • Visa / Mastercard / JCB / Amex / Diners / Maestro / Discover

Tương thích checkout:

  • WooCommerce Classic Checkout
  • WooCommerce Block Checkout (Gutenberg)

2. Yêu cầu hệ thống

Yêu cầuPhiên bản tối thiểu
WordPress5.8+
WooCommerce7.0+
PHP7.4+
OpenSSLBắt buộc

OpenSSL là thư viện bảo mật được plugin sử dụng để ký yêu cầu thanh toán và xác thực tính xác thực của webhook. Thư viện này được cài đặt sẵn trên hầu hết các nhà cung cấp hosting (cPanel, WP Engine, Cloudways, SiteGround, v.v.) — không cần thao tác thêm. Để kiểm tra: WordPress Admin → Tools → Site Health → Info → Server và tìm mục OpenSSL.

Yêu cầu máy chủ để nhận webhook:

  • Website của merchant phải có thể truy cập công khai từ internet
  • Bắt buộc sử dụng HTTPS
  • Không chặn IP/địa lý trên endpoint webhook /?wc-api=glodipay_webhook

3. Cài đặt

Điều kiện tiên quyết

Luôn sao lưu website trước khi cài đặt hoặc cập nhật bất kỳ plugin nào.

Bước 1: Tải plugin

Liên hệ GLODIPAY để nhận file ZIP của plugin.

Bước 2: Đăng nhập vào WordPress Admin

Truy cập https://yoursite.com/wp-admin

Bước 3: Vào trang thêm plugin

Plugins → Add New Plugin

Bước 3: Vào Plugins → Add New Plugin

Bước 4: Tải lên plugin

Nhấp "Upload Plugin" ở đầu trang Add Plugins.

Bước 4: Nhấp "Upload Plugin"

Bước 5: Chọn file ZIP

Chọn file ZIP nhận được từ GLODIPAY.

Bước 5: Chọn file ZIP của plugin

Bước 6: Cài đặt

Sau khi chọn file ZIP, nhấp "Install Now" để tiến hành.

WordPress sẽ cài đặt plugin từ file ZIP vừa tải lên.

Bước 7: Kích hoạt

Nhấp "Activate Plugin" sau khi quá trình cài đặt hoàn tất.

Bước 7: Nhấp "Activate Plugin"

Hoặc kích hoạt từ Plugins → Installed Plugins → GLODIPAY Payment Gateway → Activate.

Bước 7: Kích hoạt từ danh sách Installed Plugins

Bước 8: Xác nhận

Truy cập trang checkout để xác nhận tùy chọn thanh toán GLODIPAY đã xuất hiện.


4. Cấu hình

Bước 1: Truy cập GLODIPAY Merchant

  1. Đăng nhập vào tài khoản Merchant tại GLODIPAY Merchant
  2. Đảm bảo đã xác minh email và hoàn tất KYB
  3. Vào API Keys từ menu bên trái

Bước 1: Mục API Keys trong GLODIPAY Merchant

Bước 2: Lấy API Keys

Từ mục API Keys, sao chép:

KhóaMô tả
Merchant IDMã định danh merchant duy nhất
Base EndpointURL API cơ sở (sandbox hoặc production)
RSA Public KeyDùng để xác thực chữ ký webhook
RSA Private KeyDùng để ký yêu cầu thanh toán
Expiration DateNgày hết hạn của khóa

Bước 3: Cấu hình plugin trong WordPress

Truy cập theo một trong hai cách:

  • Cách 1: Plugins → GLODIPAY Payment Gateway → Settings

Cách 1: Truy cập qua danh sách Plugins → Settings

  • Cách 2: WooCommerce → Settings → Payments → GLODIPAY Payment Gateway → Manage

Cách 2: Truy cập qua WooCommerce → Settings → Payments


4.1 Cài đặt cơ bản

Cài đặtMô tảMặc định
Enable/DisableKích hoạt cổng thanh toánEnabled
Sandbox ModeChuyển đổi giữa Sandbox (thử nghiệm) và Production (thực tế)Disabled
Thank You Page URLURL chuyển hướng tùy chỉnh sau thanh toán. Để trống để dùng mặc định của WooCommerce(trống)

Bảng cài đặt cơ bản 4.1

Quan trọng: Luôn kiểm thử trong Sandbox Mode trước khi chuyển sang Production.


4.2 API Keys

Cài đặt Sandbox

TrườngMô tả
Sandbox Merchant IDMerchant ID cho môi trường thử nghiệm
Sandbox RSA Public KeyPublic key cho sandbox
Sandbox RSA Private KeyPrivate key cho sandbox
Sandbox Base URLMặc định: https://checkout-sandbox.glodipayprocessing.com

Cài đặt Production

TrườngMô tả
Production Merchant IDMerchant ID cho môi trường thực tế
Production RSA Public KeyPublic key cho production
Production RSA Private KeyPrivate key cho production
Production Base URLDo GLODIPAY cung cấp

Bảng cài đặt API Keys 4.2


4.3 Nút thao tác trên Payment Iframe

Tùy chỉnh các nút hiển thị trên overlay thanh toán.

Nút Refresh

TrườngMô tảMặc định
Show Refresh ButtonHiển thị nút refresh trên iframeYes
Refresh Button TextVăn bản nhãn nútRefresh
Refresh Button ColorMàu nền nút (hex)#0073aa

Nút Cancel

TrườngMô tảMặc định
Show Cancel ButtonHiển thị nút hủy trên iframeYes
Cancel Button TextVăn bản nhãn nútCancel
Cancel Button ColorMàu nền nút (hex)#dc3232

4.4 Cài đặt Debug

Cài đặtMô tảMặc định
Enable Debug ModeGhi log thông tin thanh toán chi tiết vào WooCommerce LoggerNo
Block Checkout DebugGhi log bổ sung cho các sự cố Block CheckoutNo

Bảng cài đặt Debug 4.4

Lưu ý: Chỉ bật debug mode khi cần xử lý sự cố. Tắt trước khi chuyển sang môi trường production.

Khi debug mode được bật, log có thể xem tại: WooCommerce → Status → Logs


5. Luồng thanh toán

5.1 Luồng Classic Checkout

Khách hàng điền form checkout

Chọn GLODIPAY làm phương thức thanh toán

Nhấp "Place Order"

WooCommerce tạo đơn hàng (trạng thái: pending)

Plugin kết nối GLODIPAY Gateway để tạo thanh toán

Form thanh toán hiển thị trong overlay ở cuối trang

Khách hàng hoàn tất thanh toán trong overlay

GLODIPAY thông báo kết quả thanh toán cho plugin

Plugin cập nhật trạng thái đơn hàng

Khách hàng được chuyển hướng đến trang Xác nhận → trang Cảm ơn

5.2 Luồng Block Checkout (Gutenberg)

Áp dụng khi trang checkout được xây dựng bằng WooCommerce Blocks (Gutenberg editor):

Khách hàng điền form checkout

Chọn GLODIPAY làm phương thức thanh toán

Nhấp "Place Order"

Plugin kết nối GLODIPAY Gateway để tạo thanh toán

Form thanh toán hiển thị trong overlay ở cuối trang

(giống Classic Checkout từ đây)

5.3 Overlay Payment Iframe

Khi thanh toán được khởi tạo, một panel thanh toán trượt lên từ cuối màn hình, bao gồm:

  • Tiêu đề: "Complete Your Payment"
  • Nút Refresh — tải lại form thanh toán (có thể cấu hình)
  • Nút Cancel — hủy thanh toán và tải lại trang (có thể cấu hình)
  • Thông báo cảnh báo: "Transaction takes a few seconds to process. Don't close the page."
  • Form thanh toán — form thanh toán GLODIPAY được nhúng

Nếu khách hàng vô tình đóng hoặc làm mới trang, panel thanh toán sẽ tự động xuất hiện lại.

5.4 Thông tin gửi đến GLODIPAY

Khi thanh toán được khởi tạo, plugin tự động thu thập và gửi các thông tin sau từ đơn hàng WooCommerce đến GLODIPAY:

  • Thông tin đơn hàng (mã tham chiếu, số tiền, tiền tệ)
  • Thông tin thanh toán của khách hàng (tên, email, số điện thoại, địa chỉ)
  • Thông tin giao hàng (nếu khác địa chỉ thanh toán)
  • URL trả về và thông báo thanh toán
  • Logo website và địa chỉ IP của khách hàng

Không cần thao tác thủ công — plugin xử lý tự động.


6. Trang xác nhận

Sau khi hoàn tất thanh toán trong overlay, khách hàng được chuyển hướng đến trang xác nhận hiển thị kết quả giao dịch.

Nội dung trang xác nhận

  • Mã giao dịch
  • Phương thức thanh toán đã dùng
  • Trạng thái giao dịch

Polling trạng thái

Nếu kết quả thanh toán chưa có:

  • Trang tự động làm mới sau mỗi 5 giây
  • Tối đa 10 lần thử
  • Sau 10 lần thử không có kết quả → khách hàng được chuyển đến trang Cảm ơn

Nếu thanh toán thành công:

  • Nút "Continue" xuất hiện với đếm ngược 30 giây
  • Trang tự động chuyển hướng đến trang Cảm ơn sau khi hết đếm ngược

Trang Cảm ơn

Khách hàng được chuyển hướng đến:

  1. URL tùy chỉnh được đặt trong Thank You Page URL (cài đặt plugin), nếu đã cấu hình
  2. Nếu không, trang xác nhận đơn hàng mặc định của WooCommerce

Màu trạng thái

Trạng tháiMàu
successfulXanh lá
failedĐỏ
errorĐỏ
under_reviewCam

7. Tích hợp Webhook

Webhook là thông báo tự động mà GLODIPAY gửi đến website của bạn khi trạng thái thanh toán thay đổi. Plugin nhận thông báo này và cập nhật đơn hàng WooCommerce tương ứng.

7.1 URL Webhook

GLODIPAY gửi thông báo thanh toán đến:

https://yoursite.com/?wc-api=glodipay_webhook&order_id=123

URL này được plugin tự động cấu hình khi tạo thanh toán. Không cần thiết lập thủ công.

7.2 Xác thực chữ ký

Tất cả thông báo webhook được GLODIPAY ký số để xác nhận tính xác thực.

Plugin tự động xác thực chữ ký trên mỗi thông báo đến bằng RSA Public Key đã cấu hình trong cài đặt plugin. Không cần thao tác thủ công.

Nếu chữ ký không hợp lệ: Thông báo bị từ chối và trạng thái đơn hàng không được cập nhật. Nếu đơn hàng vẫn kẹt ở pending sau khi thanh toán thành công, hãy kiểm tra lại RSA Public Key trong cấu hình plugin.

7.3 Nội dung thông báo Webhook

Khi GLODIPAY gửi thông báo, nó bao gồm các thông tin sau. Plugin xử lý tự động — merchant không cần thao tác.

Thông tinMô tả
Mã tham chiếu đơn hàngLiên kết thông báo với đơn hàng WooCommerce đúng
Trạng thái giao dịchKết quả thanh toán (successful, failed, under review)
Transaction IDMã định danh giao dịch nội bộ của GLODIPAY
Mã giao dịchMã giao dịch dễ đọc
Số tiềnSố tiền thanh toán
Tiền tệLoại tiền tệ
Số tiền đã nhậnSố tiền thực tế nhận được
Số tiền quyết toánSố tiền sau khi trừ phí
Chi tiết phương thức thanh toánThông tin thẻ hoặc phương thức thanh toán
PhíChi tiết phí

7.4 Phản hồi Webhook

Plugin tự động gửi xác nhận lại cho GLODIPAY sau mỗi lần nhận thông báo. GLODIPAY dùng xác nhận này để đánh dấu thông báo đã gửi thành công.

7.5 Yêu cầu máy chủ Merchant

Quan trọng: Webhook sẽ không gửi được nếu GLODIPAY không thể kết nối đến website của bạn.

Nguyên nhân phổ biến gây lỗi webhook:

Nguyên nhânTriệu chứngGiải pháp
Website không thể truy cập công khaiĐơn hàng kẹt ở pending sau thanh toán; không có logĐảm bảo website có domain công khai và SSL hợp lệ
DNS chưa lan truyềnWebhook không đến ngay sau khi đổi domainChờ DNS lan truyền hoặc kiểm tra bằng công cụ DNS lookup
Chặn IP/địa lý trên website merchantWebhook từ GLODIPAY bị chặnWhitelist IP máy chủ GLODIPAY Gateway trong firewall hoặc plugin bảo mật
Firewall chặn kết nối đếnWebhook không bao giờ đếnCho phép kết nối vào từ tất cả IP ngoài trên URL webhook
Website yêu cầu VPN hoặc truy cập hạn chếGLODIPAY không thể kết nối đến websiteBỏ hạn chế truy cập trên /?wc-api=glodipay_webhook

Cách kiểm tra website có thể truy cập: Mở URL sau trong trình duyệt hoặc công cụ bên ngoài để xác nhận có phản hồi:

https://yoursite.com/?wc-api=glodipay_webhook

Cách whitelist IP GLODIPAY Gateway: Liên hệ GLODIPAY support để lấy danh sách IP máy chủ Gateway hiện tại, sau đó thêm vào allowlist trong Cloudflare, firewall, hoặc plugin bảo mật.


8. Ánh xạ trạng thái đơn hàng

Khi GLODIPAY gửi thông báo thanh toán, plugin tự động cập nhật đơn hàng WooCommerce sang trạng thái tương ứng:

Trạng thái GLODIPAYTrạng thái đơn hàng WooCommerceMô tả
successfulProcessingĐơn hàng xác nhận; giảm tồn kho; xóa giỏ hàng
failedFailedThanh toán thất bại; không thay đổi tồn kho
under_reviewOn HoldThanh toán đang xem xét; đơn hàng giữ chờ kiểm tra thủ công
refund_successfulKhông đổiGLODIPAY đã hoàn tiền — trạng thái WooCommerce không tự động cập nhật
refund_partially_successfulKhông đổiGLODIPAY đã hoàn tiền một phần — trạng thái WooCommerce không tự động cập nhật

Hoàn tiền: Khi hoàn tiền được thực hiện qua GLODIPAY Merchant, trạng thái đơn hàng WooCommerce không tự động thay đổi. Bạn cần cập nhật trạng thái đơn hàng thủ công và xử lý bản ghi hoàn tiền tại WooCommerce Admin → Orders.


9. Xác thực trường checkout

Plugin xác thực các trường thanh toán và giao hàng khi khách hàng đặt hàng. Việc xác thực này áp dụng cho tất cả phương thức thanh toán — không chỉ GLODIPAY.

Quan trọng: Nếu một trường bắt buộc bị xóa hoặc vô hiệu hóa khỏi trang checkout, khách hàng sẽ không thể hoàn tất bất kỳ đơn hàng nào bất kể phương thức thanh toán được chọn.


9.1 Trường thanh toán bắt buộc

Các trường sau phải có mặt và được kích hoạt trên trang checkout:

TrườngField IDĐộ dài tối đaGhi chú
Tênbilling_first_name255 ký tựBắt buộc
Họbilling_last_name255 ký tựBắt buộc
Emailbilling_email255 ký tựBắt buộc, phải đúng định dạng email
Số điện thoạibilling_phone5–20 ký tựBắt buộc, tối thiểu 5 ký tự
Địa chỉ dòng 1billing_address_1255 ký tựBắt buộc
Thành phốbilling_city255 ký tựBắt buộc
Quốc giabilling_countryBắt buộc

Số điện thoại: Trường số điện thoại yêu cầu tối thiểu 5 ký tự. Nếu khách hàng nhập số điện thoại ngắn hơn 5 ký tự, checkout sẽ thất bại. Đảm bảo form checkout không cho phép nhập số điện thoại quá ngắn.


9.2 Trường thanh toán tùy chọn

Các trường này có thể ẩn nếu không cần. Chúng được gửi đến GLODIPAY nếu được điền, nhưng không bắt buộc để hoàn tất đơn hàng.

TrườngField IDĐộ dài tối đa
Địa chỉ dòng 2billing_address_2255 ký tự
Tỉnh/Vùngbilling_state255 ký tự
Mã bưu chínhbilling_postcode25 ký tự

9.3 Giới hạn trường giao hàng

Trường giao hàng chỉ được xác thực khi khách hàng chọn "Ship to a different address". Bỏ qua nếu khách hàng dùng địa chỉ thanh toán để giao hàng.

TrườngField IDĐộ dài tối đa
Tênshipping_first_name250 ký tự
Họshipping_last_name250 ký tự
Địa chỉ dòng 1shipping_address_1250 ký tự
Địa chỉ dòng 2shipping_address_2250 ký tự
Thành phốshipping_city250 ký tự
Tỉnh/Vùngshipping_state20 ký tự
Mã bưu chínhshipping_postcode10 ký tự

9.4 Tương thích tùy chỉnh checkout

Dùng plugin Checkout Field Editor

Nếu bạn dùng plugin như Checkout Field Editor for WooCommerce để tùy chỉnh trường checkout:

Thao tácField IDẢnh hưởngKhuyến nghị
Ẩn/tắt Số điện thoạibilling_phoneChặn checkout với tất cả phương thức thanh toánGiữ hiển thị và bắt buộc
Ẩn/tắt Tênbilling_first_nameCheckout có thể thất bại; thiếu dữ liệu thanh toánGiữ kích hoạt
Ẩn/tắt Họbilling_last_nameCheckout có thể thất bại; thiếu dữ liệu thanh toánGiữ kích hoạt
Ẩn/tắt Emailbilling_emailCheckout có thể thất bại; thiếu dữ liệu thanh toánGiữ kích hoạt
Ẩn/tắt Địa chỉ dòng 1billing_address_1Checkout có thể thất bại; thiếu dữ liệu thanh toánGiữ kích hoạt
Ẩn/tắt Thành phốbilling_cityCheckout có thể thất bại; thiếu dữ liệu thanh toánGiữ kích hoạt
Ẩn Địa chỉ dòng 2billing_address_2Không lỗi — có thể ẩnCho phép
Ẩn Tỉnh/Vùngbilling_stateKhông lỗi — có thể ẩnCho phép
Ẩn Mã bưu chínhbilling_postcodeKhông lỗi — có thể ẩnCho phép
Sắp xếp lại trườngKhông ảnh hưởngCho phép
Đổi nhãn trườngKhông ảnh hưởngCho phép
Thêm trường tùy chỉnhKhông ảnh hưởng đến GLODIPAYCho phép

Lưu ý: Xác thực số điện thoại áp dụng cho tất cả phương thức thanh toán. Dù không chọn GLODIPAY, số điện thoại không hợp lệ vẫn chặn đơn hàng.

Dùng page builder (Elementor, Divi, v.v.)

Nếu trang checkout được xây dựng bằng page builder, đảm bảo tất cả trường thanh toán bắt buộc trong Mục 9.1 đều có mặt trong form checkout. Plugin GLODIPAY tương thích với mọi theme hoặc page builder tải WooCommerce đúng cách.

Thêm trường tùy chỉnh vào checkout

Thêm trường tùy chỉnh vào trang checkout không ảnh hưởng đến quá trình xử lý thanh toán GLODIPAY. Nếu cần trường tùy chỉnh, hãy liên hệ nhà phát triển web hoặc chuyên gia WooCommerce.


10. Xử lý sự cố

Đơn hàng kẹt ở Pending sau thanh toán

Triệu chứng: Khách hàng đã thanh toán nhưng đơn hàng vẫn hiển thị pending.

Các bước chẩn đoán:

  1. Bật Debug Mode: WooCommerce → Settings → Payments → GLODIPAY Payment Gateway → Manage → Enable Debug Mode
  2. Tái hiện sự cố và kiểm tra log: WooCommerce → Status → Logs

Màn hình WooCommerce Logs

  1. Kiểm tra website có thể truy cập công khai — mở URL này từ bên ngoài mạng của bạn hoặc dùng công cụ: https://yoursite.com/?wc-api=glodipay_webhook
  2. Kiểm tra xem website có plugin bảo mật, firewall, hoặc hạn chế địa lý có thể chặn kết nối từ máy chủ GLODIPAY không
  3. Liên hệ GLODIPAY support với Order ID — họ có thể kiểm tra thông báo đã được gửi chưa và lỗi xảy ra ở đâu

Nguyên nhân phổ biến:

Nguyên nhânCách nhận biếtGiải pháp
Website không thể truy cập công khaiURL webhook không tải được từ công cụ bên ngoàiĐảm bảo website có domain thực với SSL hợp lệ
Hạn chế IP hoặc địa lýWebsite chỉ tải được qua VPN hoặc từ một số quốc giaBỏ hạn chế truy cập trên URL webhook
Firewall chặn kết nối đếnKhông có log sau thanh toánMở quyền truy cập vào; thêm IP GLODIPAY vào allowlist (liên hệ support để lấy IP)
RSA Public Key không đúngLog hiển thị lỗi xác thực chữ kýSao chép lại RSA Public Key từ GLODIPAY Merchant → API Keys

Sửa thủ công đơn hàng kẹt: WooCommerce Admin → Orders → Chọn đơn hàng → Đổi trạng thái thành Processing → Save


Form thanh toán không xuất hiện

  • Kiểm tra plugin đang hoạt động: Plugins → Installed Plugins → GLODIPAY Payment Gateway
  • Kiểm tra API keys đã nhập: WooCommerce → Settings → Payments → GLODIPAY Payment Gateway → Manage
  • Thử trình duyệt khác hoặc tắt extension trình duyệt
  • Bật Debug Mode trong cài đặt plugin và kiểm tra log: WooCommerce → Status → Logs

Khách hàng quay lại trang checkout — Form thanh toán xuất hiện lại

Đây là hành vi bình thường. Nếu khách hàng điều hướng trở lại trang checkout sau khi đã khởi tạo thanh toán, plugin hiển thị lại form thanh toán hiện có thay vì tạo thanh toán mới. Điều này ngăn chặn việc thanh toán trùng lặp.

Bookmarks

No bookmarks yet.
Hover over a heading and click to save a section.