orders.create
POST/orders
Tạo đơn chuyển khoản (VietQR) cho tài khoản của key. Chuyển đúng amountVnd với nội dung là mã đơn; quyền đọc được cấp khi SePay báo tiền về. Đơn chưa trả hết hạn sau 24 giờ. Gọi lại cùng sku và discountCode khi đơn cũ còn chờ thì nhận lại đơn đó. Mã giảm đưa số tiền về 0 thì đơn trả về đã thanh toán.
Tham số
| Tham số | Vị trí | Mô tả |
|---|---|---|
sku | body | Bắt buộc. Mã món cần mua, lấy từ prices.list: plan-1m, plan-3m, plan-12m cho gói trả trước, hoặc slug của guide bán lẻ. |
discountCode | body | Không bắt buộc. Mã giảm giá, tối đa 32 ký tự. Mỗi người dùng một mã một lần. |
Yêu cầu
curl -X POST "https://api.modernengineer.dev/orders" \
-H "Authorization: Bearer $SE_KEY" \
-H "Content-Type: application/json" \
-d '{"sku":"plan-3m","discountCode":"WELCOME10"}'Phản hồi
{
"code": "ME48213906",
"sku": "plan-3m",
"kind": "subscription",
"label": "3 tháng",
"amountVnd": 242100,
"listAmountVnd": 269000,
"discountVnd": 26900,
"discountCode": "WELCOME10",
"periodMonths": 3,
"packSlug": null,
"status": "pending",
"expiresAt": "2026-11-02T03:15:00.000Z",
"paidAt": null,
"createdAt": "2026-11-01T03:15:00.000Z",
"payment": {
"accountName": "…",
"accountNumber": "…",
"bankCode": "…",
"qrUrl": "https://qr.sepay.vn/img?acc=…&bank=…&amount=242100&des=ME48213906"
},
"testMode": false
}Lỗi
| Mã | Lỗi | Khi nào |
|---|---|---|
| 401 | unauthenticated | Thiếu API key, hoặc key không hợp lệ. Có kèm header WWW-Authenticate. |
| 403 | forbidden | Email của tài khoản chưa xác minh. |
| 400 | invalid_input | Tham số thiếu hoặc sai, ví dụ locale khác vi và en. |
| 404 | not_found | Không có món nào đang bán với sku này. |
| 409 | conflict | Bạn đã mua guide bán lẻ này rồi. |
| 422 | unprocessable | Mã giảm giá không áp dụng được. details.reason cho biết lý do: unknown, inactive, not_started, expired, wrong_item, already_used hoặc exhausted. |
| 429 | too_many_requests | Quá 20 lần tạo đơn trong một giờ cho tài khoản này. |
| 503 | service_unavailable | Thanh toán chuyển khoản đang tạm đóng. |