PayOS nạp credit (legacy)
Coming to Gommo platform
Recipe này gọi /vi/billing/* trên Gommo Developer self-host (localhost:3001) — không phải Gommo public API.
WARNING
Luồng cũ. Tích hợp mới nên dùng nạp credit Gommo (POST /billing/payment/create). Recipe này cần PAYOS_* và GOMMO_ACCESS_TOKEN trên server.
Billing nằm ở /vi/billing/* — tách khỏi API generation (jobs, chat, upload).
Cần env server: PayOS keys + GOMMO_ACCESS_TOKEN. Kiểm tra sẵn sàng trước.
1. Trạng thái server
Invoke-RestMethod "http://localhost:3001/billing/status"Cần payosConfigured: true và merchantReady: true trước khi tạo order.
2. List gói
$packages = Invoke-RestMethod "http://localhost:3001/billing/packages"
$packages.data | Format-Table id, name, amountVnd, credits, bonusPercentPackage id: basic-member, vip-member, ultra-member, …
3. Lấy username từ /vi/ai/me
username trong body create phải khớp chủ Bearer token.
$domain = $env:GOMMO_API_DOMAIN; if (-not $domain) { throw 'Set GOMMO_API_DOMAIN to the user registration domain (dealer)' }
$meBody = "access_token=$env:TOKEN&domain=$domain"
$me = Invoke-RestMethod -Method POST `
-Uri "https://api.gommo.net/ai/me" `
-ContentType "application/x-www-form-urlencoded" `
-Body $meBody
$username = $me.username ?? $me.data.username
Write-Host "username=$username"4. Tạo order topup
$h = @{ Authorization = "Bearer $env:TOKEN"; 'Content-Type' = 'application/json' }
$body = @{
username = $username
packageId = 'basic-member'
} | ConvertTo-Json
$order = Invoke-RestMethod -Method POST `
-Uri "http://localhost:3001/billing/topup/create" `
-Headers $h -Body $body
$checkoutUrl = $order.data.url
$orderCode = $order.data.orderCode
Write-Host "Pay: $checkoutUrl"
Write-Host "orderCode=$orderCode"Mở url trên trình duyệt (PayOS checkout / QR). User thanh toán trên PayOS.
5. Poll order (tùy chọn)
Webhook PAID → gateway gửi credit Gommo tự động. Poll khi webhook chưa reachable ở dev:
Invoke-RestMethod "http://localhost:3001/billing/topup/orders/$orderCode"Trạng thái: pending → paid → credited (hoặc failed).
Webhook (production)
Đăng ký trên my.payos.vn:
POST https://api.yourdomain.com/billing/webhook/payosSet PAYOS_WEBHOOK_URL trên server. Xem Billing reference.
