📲 Deeplink App ngân hàng
Click vào đây sẽ mở được app Vietcombank
Đường link trên tạo bởi một đoạn mã html như sau:
<a href="https://dl.vietqr.io/pay?app=vcb">Mở App VCB</a>
Trong đó, vcb
là id của App Vietcombank cá nhân.
Bạn phải click link trên khi duyệt web này bằng điên thoại (Android hoặc iOS) và trên máy bạn phải cài sẵn app ngân hàng Vietcombank.
Để tạo link mở app khác, bạn có thể tra cứu mã 40 app ngân hàng khác bằng 1 trong 2 API sau:
- App ngân hàng trên Android https://api.vietqr.io/v2/android-app-deeplinks
- App ngân hàng trên iOS https://api.vietqr.io/v2/ios-app-deeplinks
Một case study tiêu biểu là Zalo.\n Zalo tự động phát hiện một tin nhắn hình ảnh có chứa mã VietQR và hiển thị một nút bấm để người dùng có thể chuyển ngay tới ứng dụng di động để thực hiện việc quét mã.
TL;DR
Deeplink (gọi đầy đủ là mobile deep link) là một công nghệ di động, hoạt động tương tự như đường dẫn website (URL). Để so sánh, URL giúp điều hướng (navigate) giữa các website, còn deeplink giúp điều hướng từ một ứng dụng di động (hoặc một website) tới một phần cụ thể trong một ứng dụng di động khác.
Ví dụ, một deeplink dẫn tới giao diện soạn thư trên các ứng dụng Email có dạng như sau:
<a href="mailto:someone@yoursite.com?subject=Mail from Our Site">Email Us</a>
Khi người dùng click vào một deeplink có dạngmailto:<EMAIL>
như ví dụ trên thì hệ điều hành di động sẽ tự mở ứng dụng email trên điện thoại, tự điều hướng tới giao diện để soạn mail và điền sẵn tiêu đề email.
Deeplink đã được ứng dụng rộng rãi trong lĩnh vực thanh toán qua app ngân hàng và ví điện tử ở Việt Nam cũng như trên thế giới. Ví dụ như:
- Momo App-to-App payment : Khi thanh toán đơn hàng Tiki trên điện thoại và chọn giải pháp Momo, một deeplink cho phép Tiki điều hướng người dùng qua App Momo và xác nhận thanh toán.
- VNPAYQR : Khi khách hàng thanh toán đơn hàng trên điện thoại bằng cổng VNPAYQR, khách hàng có thể click vào một app ngân hàng có hỗ trợ deeplink để tự động mở app và xác nhận thanh toán.
- UPI Payment : Hệ thống thanh toán của Ấn Độ dựa trên một tiêu chuẩn deeplink gọi là UPI. Hầu như tất cả các cổng thanh toán, ngân hàng, ví tại Ấn đều hỗ trợ tiêu chuẩn này.
Tại Việt Nam, ngày 15/06/2021, Napas công bố Tiêu chuẩn mã QR thanh toán VietQR. Tiêu chuẩn này thực sự mang lại lợi ích lớn, thúc đẩy xu thế không tiền mặt ở Việt Nam và nhờ đó nhanh chóng được hầu hết các ngân hàng Việt Nam hỗ trợ. Hơn 40 app ngân hàng tại Việt Nam đã hỗ trợ quét mã VietQR sau 1 năm ra mắt.
VietQR.io là một nỗ lực để truyền bá và phổ biến tiêu chuẩn này trong lĩnh vực thanh toán online. Tính đến T8/2022, VietQR đã tạo ra hơn 14 triệu mã QR thanh toán, và hơn 3 triệu mã QR thanh toán trong tháng gần nhất.
Trong quá trình triển khai thanh toán VietQR cho các website/app, chúng tôi nhận thấy thanh toán VietQR vẫn còn một nhược điểm lớn, đó là khi người dùng mua hàng trên các ứng dụng / web bán hàng bằng điện thoại, các thao tác vẫn rất phức tạp. Từ shop app, người dụng được yêu cầu quét mã QR để thanh toán, người dùng phải (1) tải mã QR này xuống,(2) mở ứng dụng ngân hàng lên, (3) mở tính năng Scan mã QR, (4) duyệt tới file hình ảnh mã QR đang lưu trên điện thoạt để hệ thống quét mã và (5) xác nhận thanh toán. Rất nhiều thao tác người dùng phải thực hiện gây không ít khó khăn cho đa số người dùng.
Deeplink là công nghệ có thể giải quyết vấn đề này.
Đặc tả Deeplink (Kì vọng)
Dựa trên nghiên cứu về hệ thống thanh toán UPI của Ấn Độ. Chúng tôi kì vọng tương lai gần, các ứng dụng ngân hàng tại Việt Nam sẽ hỗ trợ một deeplink như sau:
<a href="vietqr://pay?ba=113366668888@inc&am=790000">Thanh toán ngay</a>
Khi người dùng trên các shop app muốn thanh toán bằng hình thức chuyển khoản ngân hàng napas247, họ sẽ thao tác: (1) click vào 1 link tương tự như trên, (2) hệ điều hành di động sẽ hiện lên danh sách các app ngân hàng có hỗ trợ scheme vietqr
, (3) người dùng có thể lựa chọn app ngân hàng họ hỗ trợ sẽ tự động mở màn hình thanh toán, (4) app ngân hàng sẽ được mở ra, tự động điền số tài khoản và ngân hàng của shop, tự động điền số tiền và nội dung và (5) người dùng xác nhận thanh toán và cuối cùng (6) app ngân hàng sẽ tự động điều hướng ngược lại tới shop app.
Tất cả các thao tác đều liền mạch và tự động , người dùng thanh toán bằng 3 lần click, ko cần phải thủ công chuyển đổi qua lại giữa các app.
Deeplink với scheme vietqr sẽ cần tối thiểu các tham số sau:
Tham số | Ví dụ | Ý nghĩa |
---|---|---|
ba | 113366668888@vcb | Định tài khoản nhận tiền. Có dạng SO_TAI_KHOAN @ MA_NGAN_HANG, chứa thông tin số tài khoản và ngân hàng người nhận tiền |
am | 790000 | Số tiền chuyển |
tn | Thanh toan DH123 | Nội dung chuyển tiền |
app | ocb | App ngân hàng ưu tiên dùng để thanh toán |
VietQR Deeplink by VietQR.io
Chúng tôi tin rằng để một tiêu chuẩn deeplink như trên được đưa vào thực tế sẽ còn cần nhiều thời gian, cần sự nỗ lực của nhiều bên, đặc biệt là từ các ngân hàng.
Hiện tại, thông qua việc nghiên cứu hơn 44 app ngân hàng, chúng tôi ghi nhận khoảng 80% số app đã hỗ trợ deeplink với scheme riêng rẽ. Ví dụ, deeplink của mbbank là mbbank://
, deeplink của Cake by VPbank là cake.vn://
Với tình hình khả năng hiện tại, VietQR.io có thể xây dựng được một deeplink ở mức cơ bản là điều hướng người dùng mở app ngân hàng mà họ muốn dùng thanh toán, giảm được thao tác thủ công chuyển đổi giữa shop app qua bank app.
Deeplink hiện tại sẽ có dạng như sau:
<a href="https://dl.vietqr.io/pay?app=vcb&ba=CAS01@ocb">Thanh toán bằng VCB</a>
Khi click vào link này, người dùng sẽ được điều hướng tới ứng dụng Vietcombank, nhưng hiện tại sẽ chưa thể tự động điền các thông tin người nhận tiền và số tiền vào app Vietcombank được.
Bạn có thể sử dụng deeplink với đẩy đủ tham số, để trong tương lai, khi deeplink của chúng tôi hỗ trợ việc truyền các thông số này vào bank app thì bạn sẽ không phải thay đổi source code.
API danh sách deeplink App ngân hàng
Để lấy danh sách các deeplink của các app ngân hàng Việt Nam, bạn có thể sử dụng 2 API sau tương ứng với 2 hệ điều hành Android và iOS:
- Danh sách deeplink của app Android https://api.vietqr.io/v2/android-app-deeplinks
- Danh sách deeplink của app iOS https://api.vietqr.io/v2/ios-app-deeplinks
Cấu trúc dữ liệu trả về:
{
"apps": [{
"appId": "mb",
"appLogo": "https://is2-ssl.mzstatic.com/image/thumb/Purple122/v4/f4/0a/b6/f40ab6a2-e67d-e267-9c46-ae03dfa238a9/AppIcon-0-0-1x_U007emarketing-0-0-0-7-0-0-sRGB-0-0-0-GLES2_U002c0-512MB-85-220-0-0.png/1200x630wa.png",
"appName": "MB Bank",
"bankName": "Ngân hàng TMCP Quân đội",
"monthlyInstall": 400000,
"deeplink": "https://dl.vietqr.io/pay?app=mb"
},
...
}
Trong đó:
Trường | Dữ liệu mẫu | Ý nghĩa |
---|---|---|
appId | mb | Mã app |
appLogo | https://... | Đường dẫn logo app |
appName | MB Bank | Tên app trên chợ ứng dụng |
bankName | Ngân hàng TMCP Quân đội | Tên ngân hàng |
monthlyInstall | 400000 | Lượt tải ứng dụng ước tính hàng tháng. |
deeplink | https://dl.vietqr.io/pay?app=mb | deeplink app |