Demo tích hợp ZaloPay cho Golang
Demo tích hợp các API của ZaloPay cho golang
Cài đặt
- front-end
- ngrok
- go
- mysql
- Clone project này về và cài đặt các dependencies
git clone https://github.com/tiendung1510/zlp-demo-golang
cd zlp-demo-golang
go get
- Tạo một database mới (
utf8_unicode_ci
) trong mysql và thay đổi connection string trong config.json
{
"db": {
"connstring": "<username>:<password>@tcp(localhost:3306)/<dbname>?parseTime=true"
}
}
Chạy Project
- Chạy phần front-end
- Tạo ngrok public url cho localhost:1789
ngrok http 1789 # tạo ngrok public url
- Chạy project
go run main.go # port 1789
Thay đổi App Config
Khi muốn thay đổi app config (appid, key1, key2, publickey, privatekey), để nhận được callback ở localhost thì Merchant Server cần xử lý forward callback như sau:
- Khi nhận được callback từ ZaloPay Server, lấy ngrok public url trong
embeddata.forward_callback
của callback data:
{
"embeddata": {
"forward_callback": "<ngrok public url khi chạy lệnh `ngrok http 1789`>"
}
}
- Post callback data (
application/json
) cho ngrok public url vừa lấy
Các API tích hợp trong demo
- Xử lý callback
- Thanh toán QR
- Cổng ZaloPay
- QuickPay
- Mobile Web to App
- Hoàn tiền
- Lấy trạng thái hoàn tiền