Cổng thanh toán

Cổng thanh toán

Cho phép khách chuyển khoản là hệ tự ghi nhận, không cần ai mở ứng dụng ngân hàng ra soi. Tiền chuyển thẳng vào tài khoản ngân hàng của công ty bạn, nhà cung cấp chỉ làm nhiệm vụ báo tin về.

Mỗi công ty tự mở tài khoản bên nhà cung cấp và khai khoá của riêng mình. Hệ thống không đứng giữa giữ tiền của ai.

Trước khi bắt đầu

Bạn cần ba thứ: một tài khoản bên nhà cung cấp, một tài khoản ngân hàng đã liên kết với họ, và tài khoản ấy đã khai ở màn Tài khoản nhận tiền.

Lưu ý quan trọng: không phải ngân hàng nào nhà cung cấp cũng đọc được giao dịch. Chọn tài khoản xong mà màn hiện lời cảnh báo màu đỏ thì nghĩa là ngân hàng ấy nằm ngoài danh sách họ hỗ trợ. Khi đó mã QR vẫn tạo ra và khách vẫn chuyển tiền được, nhưng sẽ không có báo tự động, bạn phải ghi phiếu thu tay như trước.

Khai một cổng

Vào Cổng thanh toán rồi thêm mới:

  1. Chọn Nhà cung cấp. Mỗi nhà có bộ ô khoá riêng, chọn xong màn tự hiện đúng ô của họ.
  2. Chọn Tài khoản nhận tiền.
  3. Điền khoá lấy từ trang của nhà cung cấp.
  4. Lưu lại. Màn sẽ hiện ra Địa chỉ nhận thư báo.
  5. Chép địa chỉ ấy dán vào phần webhook trong tài khoản nhà cung cấp, và đặt bên đó đúng khoá thư báo bạn vừa điền ở bước ba.

Không đổi được nhà cung cấp của một cổng đã tạo. Muốn đổi thì thêm cổng mới rồi tắt cổng cũ, làm vậy sổ tiền cũ vẫn còn nguyên để đối soát.

Mã chứng từ nằm trong nội dung chuyển khoản

Hệ nhận ra tiền này trả cho chứng từ nào nhờ đoạn mã trong nội dung chuyển khoản, dạng tiền tố cộng số, ví dụ HD013836. Khi khách quét mã QR thì nội dung đã điền sẵn, khách không sửa được, nên gần như không sai.

Sai chỉ xảy ra khi khách tự chuyển tay và gõ nội dung khác. Lúc ấy tiền vẫn về tài khoản của bạn và vẫn được ghi vào sổ, chỉ là chưa gắn được vào chứng từ nào.

Khai mẫu mã bên SePay cho khớp

Trong tài khoản SePay có mục Cấu trúc mã thanh toán. Bật Nhận diện mã thanh toán rồi khai mẫu mã: tiền tố là hai tới năm chữ cái, phần đứng sau là số nguyên, khai khoảng độ dài từ mấy ký tự tới mấy ký tự. Ví dụ tiền tố INV, hậu tố từ 6 tới 8 ký tự, ra mã INV013836.

Khai được nhiều mẫu cùng lúc, mỗi mẫu bật tắt riêng, nên mỗi loại chứng từ một mẫu.

Khoảng độ dài thì khai rộng. Số hiệu chứng từ cũ thường ngắn hơn số mới cấp, có nơi chênh nhau từ một tới mười chữ số ngay trong cùng một công ty, nên khai vừa khít số mới nhất là bỏ sót hết chứng từ cũ.

Đừng để hai mẫu trùng tiền tố nhau, kể cả trùng với mẫu mặc định. Trùng thì SePay có thể bóc ra mã sai, mà mã ấy được ưu tiên hơn nội dung chuyển khoản gốc.

Khai hụt khoảng độ dài không làm mất tiền: SePay không đọc được mã thì hệ tự đọc lại từ nội dung chuyển khoản, đường ấy không giới hạn độ dài. Khai hụt chỉ mất một lớp lưới đỡ.

Màn cấu hình cổng của bạn bày sẵn danh sách mẫu cần khai, cứ chép sang cho khớp. Khai lệch thì SePay không nhận diện được mã, thư báo về thiếu mã chứng từ, tiền vẫn vào sổ nhưng phải trông vào đường tự đọc nội dung chuyển khoản của hệ.

Mã chứng từ không bắt buộc phải toàn chữ số. Sản phẩm nào đánh mã lẫn chữ, ví dụ phiếu đặt phòng BK5NQV3S, thì khai khuôn mã của mình lúc đăng ký loại chứng từ:

DocumentCodeRegistry::register('DP', $resolver, __('Folio'), 'BK[A-Z0-9]{6}');

Khuôn nên đóng độ dài hoặc mở đầu bằng phần cố định. Nội dung chuyển khoản bị bóc sạch dấu cách trước khi dò mã, nên khuôn thả lỏng kiểu [A-Z0-9]+ sẽ ăn luôn chữ đứng ngay sau mã. Khai không kèm khuôn thì hệ chỉ nhận chữ số như trước.

Và nhớ truyền phần mã, đừng truyền số hiệu đã mang sẵn tiền tố: codeFor('HD', 'HD-0007') cho ra HDHD-0007, bóc không ra.

Khi khách bảo đã chuyển mà máy chưa thấy

Làm theo ba nấc:

Nấc một, vào màn Tiền vào rồi bấm Kiểm tra tiền mới về. Nút này hỏi thẳng nhà cung cấp ngay lúc đó, không phải chờ nhịp chạy nền.

Nấc hai, tìm khoản tiền ấy trong danh sách. Mọi đồng tiền vào đều được ghi lại kể cả khi không đọc được mã, nên bạn đối chiếu giờ, số tiền và nội dung với ảnh khách chụp, rồi bấm Gán vào chứng từ và gõ mã chứng từ. Hệ ghi phiếu thu và cộng dồn ngay.

Nấc ba, vẫn không thấy tiền đâu thì khả năng cao là tiền chưa về tài khoản, hoặc khách chuyển nhầm số tài khoản khác. Khi đó xử lý như trước đây.

Khoản tiền nào không phải khách trả, ví dụ bạn tự chuyển tiền vào, thì bấm Bỏ qua cho khỏi vướng mắt. Dòng ghi nhận vẫn nằm lại trong sổ.

Trả nhiều lần

Một chứng từ nhận được nhiều lần chuyển. Hệ cộng dồn và giữ bốn trạng thái tiền: chưa thanh toán, đã thanh toán một phần, đã thanh toán, và thu dư. Khách đặt cọc trước rồi trả nốt sau đều ghi nhận đủ, mỗi lần một dòng phiếu thu.

Khách chuyển quá tay thì trạng thái thành thu dư, phần dư hiện rõ để bạn biết mà trả lại.

Lưới đỡ khi thư báo trượt

Thư báo có thể trượt vì mạng hoặc vì máy chủ bận. Hệ tự kéo lại giao dịch từ nhà cung cấp theo nhịp, chỉ kéo cho cổng nào có dấu hiệu đang chờ tiền. Trên máy chủ có thể chạy tay bằng lệnh php artisan saas-payment-gateway:pull.

Mỗi lượt tiền chỉ được ghi một lần, dù thư báo về nhiều lần hay lệnh kéo gặp lại nó, vì hệ nhận diện theo mã giao dịch của chính nhà cung cấp.

Mục tài liệu
Hỏi trợ lý tài liệu
Câu trả lời dựa trên tài liệu và có thể chưa hoàn chỉnh. Vui lòng kiểm chứng thông tin quan trọng.