diff --git a/src/pages/Checkout.tsx b/src/pages/Checkout.tsx index 46bc3b9..869938c 100644 --- a/src/pages/Checkout.tsx +++ b/src/pages/Checkout.tsx @@ -15,7 +15,7 @@ import { QRCodeSVG } from "qrcode.react"; // Pakasir configuration const PAKASIR_PROJECT_SLUG = "dewengoding"; -const PAKASIR_API_KEY = "your-pakasir-api-key"; // TODO: Move to secrets +const PAKASIR_API_KEY = "iP13osgh7lAzWWIPsj7TbW5M3iGEAQMo"; type PaymentMethod = "qris" | "paypal"; type CheckoutStep = "cart" | "payment" | "waiting"; @@ -32,7 +32,7 @@ export default function Checkout() { const { user } = useAuth(); const navigate = useNavigate(); const [searchParams] = useSearchParams(); - + const [loading, setLoading] = useState(false); const [step, setStep] = useState("cart"); const [paymentMethod, setPaymentMethod] = useState("qris"); @@ -51,12 +51,8 @@ export default function Checkout() { const checkPaymentStatus = async (oid: string) => { setCheckingStatus(true); - const { data: order } = await supabase - .from("orders") - .select("payment_status") - .eq("id", oid) - .single(); - + const { data: order } = await supabase.from("orders").select("payment_status").eq("id", oid).single(); + if (order?.payment_status === "paid") { toast({ title: "Pembayaran berhasil!", description: "Akses produk sudah aktif" }); navigate("/access"); @@ -74,7 +70,11 @@ export default function Checkout() { } if (items.length === 0) { - toast({ title: "Keranjang kosong", description: "Tambahkan produk ke keranjang terlebih dahulu", variant: "destructive" }); + toast({ + title: "Keranjang kosong", + description: "Tambahkan produk ke keranjang terlebih dahulu", + variant: "destructive", + }); return; } @@ -132,7 +132,7 @@ export default function Checkout() { }); const result = await response.json(); - + if (result.qr_string || result.qr) { setPaymentData({ qr_string: result.qr_string || result.qr, @@ -174,13 +174,9 @@ export default function Checkout() { const refreshPaymentStatus = async () => { if (!orderId) return; setCheckingStatus(true); - - const { data: order } = await supabase - .from("orders") - .select("payment_status") - .eq("id", orderId) - .single(); - + + const { data: order } = await supabase.from("orders").select("payment_status").eq("id", orderId).single(); + if (order?.payment_status === "paid") { toast({ title: "Pembayaran berhasil!", description: "Akses produk sudah aktif" }); navigate("/access"); @@ -212,7 +208,12 @@ export default function Checkout() { )}
- @@ -271,14 +272,20 @@ export default function Checkout() { Metode Pembayaran - setPaymentMethod(v as PaymentMethod)} className="space-y-3"> + setPaymentMethod(v as PaymentMethod)} + className="space-y-3" + >
@@ -322,9 +329,7 @@ export default function Checkout() { "Login untuk Checkout" )} -

- Pembayaran diproses melalui Pakasir -

+

Pembayaran diproses melalui Pakasir