Pay2S cho OpenCart 3

Nội dung Markdown đầy đủ của trang tài liệu.

# Pay2S cho OpenCart 3

Module thanh toán riêng cho OpenCart 3.x. Không tương thích cấu trúc extension của OpenCart 4.

::: warning Bản thử nghiệm 0.1.0
Đã kiểm tra chữ ký, callback và adapter bằng dữ liệu giả lập; chưa kiểm thử đầu cuối trên shop thật. Cài ở staging để nghiệm thu trước khi dùng cho khách. Chưa hỗ trợ tự động gia hạn, hoàn tiền tự động hoặc đa cửa hàng.
:::

## Tải module

[Tải Pay2S OpenCart 3 — 0.1.0 beta](/downloads/integrations/pay2s-opencart3-0.1.0-beta.ocmod.zip)

## Cài đặt

1. Shop HTTPS, PHP 7.4+, cURL. Cả tiền tệ mặc định và tiền tệ checkout phải là VND.
2. Extensions → Installer: upload file `.ocmod.zip`.
3. Extensions → Payments → Pay2S: Install rồi Edit.
4. Nhập access, partner, secret và bankAccounts JSON như `[{"bank_id":"ACB","account_number":"YOUR_ACCOUNT"}]`.
5. Pending phải là trạng thái chưa cấp quyền xử lý/hoàn thành. Paid phải thuộc **Complete Order Status** của shop. Bật gateway và lưu.

Secret để trống khi lưu để giữ khóa đang dùng. Nếu không thấy cấu hình Pay2S, kiểm tra quyền Access/Modify cho `extension/payment/pay2s` của nhóm quản trị.

## Luồng thanh toán

Checkout tạo liên kết Payment Page. IPN ở `index.php?route=extension/payment/pay2s/ipn` xác minh merchant, mã đơn, số tiền và chữ ký, sau đó cập nhật lịch sử trạng thái đơn. Trang quay lại có khóa truy cập riêng và chờ tối đa 2 phút khi IPN đến muộn.

Ngân hàng giữ thứ tự cấu hình. Callback trùng không gọi lại thao tác hoàn tất đơn. Đơn đã bị shop chuyển trạng thái ngoài pending/paid cần kiểm tra thủ công, không tự khôi phục đơn hủy.

## Kiểm thử trước khi dùng

Thử giỏ hàng có phí vận chuyển/thuế/voucher; order history, email, kho hàng và sản phẩm tải xuống. Theme checkout bên thứ ba cần thử riêng. Không cài cho OpenCart 4; bản này không có subscription/refund tự động hoặc đa cửa hàng.

[Hướng dẫn payment của OpenCart](https://docs.opencart.com/en-gb/extension/payment) · [Source gateway mẫu OpenCart 3](https://github.com/opencart/opencart/blob/3.0.x.x/upload/catalog/controller/extension/payment/bank_transfer.php).