PRODUCT 1 NAME
PRODUCT 1 DESCRIPTION
120,000 VND
PRODUCT 2 NAME
PRODUCT 2 DESCRIPTION
130,000 VND
PRODUCT 3 NAME
PRODUCT 3 DESCRIPTION
140,000 VND
PRODUCT 4 NAME
PRODUCT 4 DESCRIPTION
150,000 VND
PRODUCT 5 NAME
PRODUCT 5 DESCRIPTION
160,000 VND
PRODUCT 6 NAME
PRODUCT 6 DESCRIPTION
170,000 VND
PRODUCT 7 NAME
PRODUCT 7 DESCRIPTION
180,000 VND
PRODUCT 8 NAME
PRODUCT 8 DESCRIPTION
190,000 VND
PRODUCT 9 NAME
PRODUCT 9 DESCRIPTION
200,000 VND
PRODUCT 10 NAME
PRODUCT 10 DESCRIPTION
210,000 VND
TOTAL
0 VND
Checkout
Customer Information
Your Order
Subtotal
0 VND
Shipping
0 VND
TOTAL
0 VND
Order Received
BANK QR CODE
Replace with bank API QR
Replace with bank API QR
Please transfer the exact amount shown above. Your order will be confirmed after payment is manually verified.
function doGet() {
return ContentService.createTextOutput("C2K Order API is running.");
}
function doPost(e) {
const lock = LockService.getScriptLock();
lock.tryLock(10000);
try {
const sheet = getOrdersSheet();
const data = JSON.parse(e.postData.contents);
// Optional: mark order as paid
if (data.action === "paid") {
return markOrderPaid(sheet, data.orderId);
}
// Normal order append
const row = [
data.orderId,
data.createdAt,
data.customer.name,
data.customer.phone,
data.customer.address,
data.customer.note || "",
data.items.map(i => `${i.productName} ${i.volumeLabel} x${i.quantity}`).join(", "),
data.subtotal,
data.shippingFee,
data.total,
data.status || "pending"
];
sheet.appendRow(row);
return ContentService
.createTextOutput(JSON.stringify({ ok: true, orderId: data.orderId }))
.setMimeType(ContentService.MimeType.JSON);
} catch (error) {
return ContentService
.createTextOutput(JSON.stringify({ ok: false, error: error.toString() }))
.setMimeType(ContentService.MimeType.JSON);
} finally {
lock.releaseLock();
}
}
function getOrdersSheet() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheetName = "Orders";
let sheet = ss.getSheetByName(sheetName);
if (!sheet) {
sheet = ss.insertSheet(sheetName);
sheet.appendRow([
"Order ID",
"Created At",
"Customer Name",
"Phone",
"Address",
"Note",
"Items",
"Subtotal",
"Shipping Fee",
"Total",
"Status"
]);
}
return sheet;
}
function markOrderPaid(sheet, orderId) {
const values = sheet.getDataRange().getValues();
for (let i = 1; i < values.length; i++) {
if (values[i][0] === orderId) {
// Status column is column 11 (index 10)
sheet.getRange(i + 1, 11).setValue("paid");
break;
}
}
return ContentService
.createTextOutput(JSON.stringify({ ok: true, orderId, status: "paid" }))
.setMimeType(ContentService.MimeType.JSON);
}
GIẢI PHÁP CHỐNG RỤNG & TẠO MẦM HOA SẦU RIÊNG
Điền thông tin bên dưới để nhận ưu đãi Giao Hàng Miễn Phí
✓
Đặt Hàng Thành Công!
Cảm ơn quý khách. Nhân viên CSKH sẽ gọi điện xác nhận đơn hàng trong vòng 10 phút.
Thông tin chuyển khoản (Nếu thanh toán trước):
Ngân hàng: MB Bank
Số tài khoản: 0987654321
Chủ tài khoản: CONG TY TNHH NONG NGHIEP
Nội dung: [Số điện thoại của bạn]