43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
// Helper para gerenciar confirmações de pagamento via localStorage
|
|
// Este arquivo será usado pelo webhook para notificar o frontend
|
|
|
|
export function confirmPayment(pixId: string) {
|
|
if (typeof window === "undefined") return;
|
|
|
|
try {
|
|
// Obter array de pixIds confirmados
|
|
const confirmedStorage = localStorage.getItem("confirmedPixIds");
|
|
const confirmed: string[] = confirmedStorage
|
|
? JSON.parse(confirmedStorage)
|
|
: [];
|
|
|
|
// Adicionar novo pixId se ainda não estiver na lista
|
|
if (!confirmed.includes(pixId)) {
|
|
confirmed.push(pixId);
|
|
localStorage.setItem("confirmedPixIds", JSON.stringify(confirmed));
|
|
console.log("✅ Pagamento confirmado via helper:", pixId);
|
|
}
|
|
} catch (error) {
|
|
console.error("Erro ao confirmar pagamento:", error);
|
|
}
|
|
}
|
|
|
|
export function isPaymentConfirmed(pixId: string): boolean {
|
|
if (typeof window === "undefined") return false;
|
|
|
|
try {
|
|
const confirmedStorage = localStorage.getItem("confirmedPixIds");
|
|
const confirmed: string[] = confirmedStorage
|
|
? JSON.parse(confirmedStorage)
|
|
: [];
|
|
return confirmed.includes(pixId);
|
|
} catch {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// Expor função global para o webhook (se necessário)
|
|
if (typeof window !== "undefined") {
|
|
(window as any).confirmPaymentPix = confirmPayment;
|
|
}
|