- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
[C#] Hướng dẫn tạo thanh toán đơn hàng qua mã vạch VietQR sử dụng API PayOS hoàn toàn miễn phí
Xin chào các bạn, bài viết hôm nay mình hướng dẫn các bạn cách tạo thanh toán hóa đơn trực tiếp qua mã vạch VietQR sử dụng payOS API.
[C#] Cách thanh toán qua mã vạch VietQR sử dụng payOS API
Các bạn có thể đăng ký api payOS hoàn toàn miễn phí tại website.
Các bạn, thường mua hàng ở các website, khi thanh toán các bạn thường gặp có thể thanh toán trực tiếp bằng cách quét mã vạch như: Momo, Zalopay, Viettel money...
Những Api này thường bạn đăng ký phải là tổ chức doanh nghiệp.
Với payOS, mình có thể đăng ký một tài khoản cá nhân bình thường, cách bước thực hiện các bạn đăng nhập vào website và tạo một tài khoản và liên kết ngân hàng như hướng dẫn.
Để viết bài này, mình đã đăng ký một tài khoản Ngân Hàng Phương Đông (OCB) để liên kết với payOS.
Khi các bạn đăng ký thành công, có bạn sẽ có các thông tin: clientID, apiKey, checkSumKey.
Để các bạn sử dụng gọi API.
Khi tạo một kênh thanh toán, sẽ có thông tin như hình bên dưới:
Và ở C# chúng ta sẽ cài đặt thư viện payOS từ nuget:
dotnet add package payOS --version 1.0.2
Các bạn khai báo thông tin cấu hình vào:
namespace DemoPayOS
{
public class Constants
{
public static string clientId = "";
public static string apiKey = "";
public static string checksumKey = "";
}
}
Dưới đây là source code ứng dụng demo, thường các bạn sẽ build trên Website, nhưng bài viết này mình demo ở Winform netCore 6
using Net.payOS;
using Net.payOS.Types;
using System.Diagnostics;
namespace DemoPayOS
{
public partial class Form1 : Form
{
PayOS payOS;
public Form1()
{
InitializeComponent();
payOS = new PayOS(Constants.clientId, Constants.apiKey, Constants.checksumKey);
}
private async void btnTaoLinkTT_ClickAsync(object sender, EventArgs e)
{
var name = txtSanPham.Text;
var soluong = Convert.ToInt32(txtSoluong.Text);
var thanhtien = Convert.ToInt32(txtThanhTien.Text);
ItemData item = new ItemData(name, soluong, thanhtien);
List<ItemData> items = new List<ItemData>();
items.Add(item);
var noidung = "Thanh toán tiền nhậu";
var orderID = 2005;
var tongGiaTien = 2000; // 2 ngàn vnđ
PaymentData paymentData = new PaymentData(orderID, tongGiaTien, noidung,
items, "https://localhost:3002", "https://localhost:3002");
CreatePaymentResult createPayment = await payOS.createPaymentLink(paymentData);
var linkCheckOut = createPayment.checkoutUrl;
Process.Start(new ProcessStartInfo
{
FileName = @"C:\Program Files\Google\Chrome\Application\chrome.exe",
Arguments = linkCheckOut
});
}
}
}
Khi tạo thành công, chúng ta sẽ được một đường link api website thanh toán, và chúng ta sẽ mở cho khách hàng thanh toán.
Giao diện thanh toán:
Các bạn có thể nhấn nút Hủy thanh toán, để hủy bỏ đơn hàng này.
payOS cũng cung cấp cho chúng ta http callback, để chúng ta có thể cập nhật tình trạng thông tin đơn hàng đã được thanh toán hay hủy bỏ vào cơ sở dữ liệu của mình.
Khi các bạn đăng ký thành công, payOS có tài liệu hướng dẫn các sử dụng cụ thể, chi tiết các bạn có thể tham khảo ở trên đó.
Video demo ứng dụng thanh toán VietQR via payOS api:
P/s: Bài viết chỉ mang tính hướng dẫn, không có tính quảng cáo cho payOS api hay vietQR gì, chi tiết các bạn đọc kỹ ở phần đăng ký payOS trên trang chủ.
Thanks for watching!