Fix: Use logged-in user's email in request

Use the logged-in user's email instead of a hardcoded one in the Mercado Pago subscription request.
This commit is contained in:
gpt-engineer-app[bot] 2025-06-15 21:05:52 +00:00
parent 10d79f0f4e
commit ac6b5208ca

View File

@ -29,6 +29,7 @@ const Configuracoes = () => {
const handleSubscribe = async () => { const handleSubscribe = async () => {
setIsSubscribing(true); setIsSubscribing(true);
try { try {
// Puxa os dados mais atuais do usuário logado NO MOMENTO do click!
const { data: { user } } = await supabase.auth.getUser(); const { data: { user } } = await supabase.auth.getUser();
if (!user || !user.id || !user.email) { if (!user || !user.id || !user.email) {
@ -37,17 +38,18 @@ const Configuracoes = () => {
return; return;
} }
// log para debug - remova depois de testar!
console.log("Assinatura MercadoPago - email enviado:", user.email, "id:", user.id);
const { data, error } = await supabase.functions.invoke('mercado-pago-subscribe', { const { data, error } = await supabase.functions.invoke('mercado-pago-subscribe', {
body: { email: user.email, userId: user.id }, body: { email: user.email, userId: user.id },
}); });
if (error) { if (error) {
// Lida com erros de rede ou falhas na invocação da função.
throw new Error(`Erro de comunicação: ${error.message}`); throw new Error(`Erro de comunicação: ${error.message}`);
} }
if (data.error) { if (data.error) {
// Lida com erros retornados pela lógica da função.
throw new Error(data.error); throw new Error(data.error);
} }