T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/domains/lavocat.ca/private_html/.next/server/pages/api/webhooks/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/lavocat.ca/private_html/.next/server/pages/api/webhooks/stripe.js
"use strict";(()=>{var e={};e.id=5779,e.ids=[5779],e.modules={8667:(e,t)=>{Object.defineProperty(t,"A",{enumerable:!0,get:function(){return r}});var r=function(e){return e.PAGES="PAGES",e.PAGES_API="PAGES_API",e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE",e.IMAGE="IMAGE",e}({})},33480:(e,t,r)=>{e.exports=r(75600)},39767:e=>{e.exports=import("stripe")},59055:(e,t,r)=>{r.a(e,async(e,i)=>{try{r.d(t,{Vv:()=>o,_4:()=>u,uY:()=>a});var n=r(39767),s=e([n]);let u=new(n=(s.then?(await s)():s)[0]).default(process.env.STRIPE_SECRET_KEY||""),c=[{name:"Apprentice",minXp:0,minDegrees:0,platformFeeDiscount:0,discountedRate:.1,benefits:["Basic platform access","Standard support"]},{name:"Fellow",minXp:100,minDegrees:1,platformFeeDiscount:.05,discountedRate:.09,benefits:["5% platform fee discount","Priority support","Access to Fellow resources"]},{name:"Brother",minXp:500,minDegrees:2,platformFeeDiscount:.1,discountedRate:.08,benefits:["10% platform fee discount","Exclusive Brother resources","Mentorship opportunities"]},{name:"Master",minXp:1e3,minDegrees:3,platformFeeDiscount:.15,discountedRate:.07,benefits:["15% platform fee discount","Master-level resources","Leadership opportunities"]},{name:"Grand Master",minXp:2500,minDegrees:4,platformFeeDiscount:.2,discountedRate:.06,benefits:["20% platform fee discount","Grand Master privileges","System governance rights"]},{name:"Sovereign",minXp:5e3,minDegrees:5,platformFeeDiscount:.25,discountedRate:.05,benefits:["25% platform fee discount","Sovereign privileges","Full system access"]}];function o(e=[],t=0){let r=e.filter(e=>e.ceremonyCompleted).length;for(let e=c.length-1;e>=0;e--){let i=c[e];if(t>=i.minXp&&r>=i.minDegrees)return i}return null}function a(e,t){let r=e*parseFloat(process.env.DEFAULT_PLATFORM_FEE||"0.10");return t?r*t.platformFeeDiscount:0}i()}catch(e){i(e)}})},75600:e=>{e.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:(e,t,r)=>{r.d(t,{z:()=>n});var i=r(96330);let n=globalThis.prisma??new i.PrismaClient({log:["error"]})},77826:(e,t,r)=>{r.a(e,async(e,i)=>{try{r.r(t),r.d(t,{config:()=>p,default:()=>u});var n=r(85644),s=r(59055),o=r(76760),a=e([s]);s=(a.then?(await a)():a)[0];let p={api:{bodyParser:!1}};async function u(e,t){let r;if("POST"!==e.method)return t.status(405).json({message:"Method not allowed"});let i=await (0,n.buffer)(e),o=e.headers["stripe-signature"];try{r=s._4.webhooks.constructEvent(i,o,process.env.STRIPE_WEBHOOK_SECRET||"")}catch(e){return console.error("Webhook signature verification failed:",e.message),t.status(400).json({message:"Webhook signature verification failed"})}try{switch(r.type){case"checkout.session.completed":await c(r.data.object);break;case"customer.subscription.updated":await d(r.data.object);break;case"customer.subscription.deleted":await l(r.data.object);break;default:console.log(`Unhandled event type: ${r.type}`)}t.status(200).json({received:!0})}catch(e){console.error("Error processing webhook:",e),t.status(500).json({message:"Error processing webhook"})}}async function c(e){let{userId:t,planId:r,planName:i}=e.metadata,n=await o.z.subscriptionPlan.findUnique({where:{id:r}});if(!n)return void console.error("Plan not found:",r);let s=new Date,a=new Date(s);"MONTHLY"===n.billingCycle?a.setMonth(a.getMonth()+1):"YEARLY"===n.billingCycle&&a.setFullYear(a.getFullYear()+1),await o.z.userSubscription.create({data:{userId:t,planId:n.id,status:"ACTIVE",currentPeriodStart:s,currentPeriodEnd:a,stripeSubscriptionId:e.subscription,stripeCustomerId:e.customer,amount:n.price,currency:n.currency,billingCycle:n.billingCycle}}),await o.z.user.update({where:{id:t},data:{subscriptionTier:n.name}}),console.log(`Subscription created for user ${t}: ${i}`)}async function d(e){let t=await o.z.userSubscription.findFirst({where:{stripeSubscriptionId:e.id}});if(!t)return void console.error("User subscription not found for Stripe subscription:",e.id);await o.z.userSubscription.update({where:{id:t.id},data:{status:"active"===e.status?"ACTIVE":"INACTIVE",currentPeriodEnd:new Date(1e3*e.current_period_end)}}),console.log(`Subscription updated: ${e.id}`)}async function l(e){let t=await o.z.userSubscription.findFirst({where:{stripeSubscriptionId:e.id}});if(!t)return void console.error("User subscription not found for Stripe subscription:",e.id);await o.z.userSubscription.update({where:{id:t.id},data:{status:"CANCELLED",currentPeriodEnd:new Date}}),await o.z.user.update({where:{id:t.userId},data:{subscriptionTier:null}}),console.log(`Subscription cancelled: ${e.id}`)}i()}catch(e){i(e)}})},85644:e=>{e.exports=require("micro")},86435:(e,t)=>{Object.defineProperty(t,"M",{enumerable:!0,get:function(){return function e(t,r){return r in t?t[r]:"then"in t&&"function"==typeof t.then?t.then(t=>e(t,r)):"function"==typeof t&&"default"===r?t:void 0}}})},96330:e=>{e.exports=require("@prisma/client")},96920:(e,t,r)=>{r.a(e,async(e,i)=>{try{r.r(t),r.d(t,{config:()=>d,default:()=>c,routeModule:()=>l});var n=r(33480),s=r(8667),o=r(86435),a=r(77826),u=e([a]);a=(u.then?(await u)():u)[0];let c=(0,o.M)(a,"default"),d=(0,o.M)(a,"config"),l=new n.PagesAPIRouteModule({definition:{kind:s.A.PAGES_API,page:"/api/webhooks/stripe",pathname:"/api/webhooks/stripe",bundlePath:"",filename:""},userland:a});i()}catch(e){i(e)}})}};var t=require("../../../webpack-api-runtime.js");t.C(e);var r=t(t.s=96920);module.exports=r})();

CasperSecurity Mini