Edit: /tmp/tsx-0/17887-6e4ec9807607c965a540f8ecc2ef156c4996b81d (8302B)
{"code":"__filename=\"/opt/canhelp/node_modules/better-auth/node_modules/@better-auth/core/dist/social-providers/paypal.mjs\";(()=>{\nvar __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,\"name\",{value,configurable:true});var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from===\"object\"||typeof from===\"function\"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:true}),mod);var paypal_exports={};__export(paypal_exports,{paypal:()=>paypal});module.exports=__toCommonJS(paypal_exports);var import_logger=require(\"../env/logger.mjs\");var import_env=require(\"../env/index.mjs\");var import_error=require(\"../error/index.mjs\");var import_create_authorization_url=require(\"../oauth2/create-authorization-url.mjs\");var import_oauth2=require(\"../oauth2/index.mjs\");var import_base64=require(\"@better-auth/utils/base64\");var import_fetch=require(\"@better-fetch/fetch\");var import_jose=require(\"jose\");const paypal=__name(options=>{const isSandbox=(options.environment||\"sandbox\")===\"sandbox\";const authorizationEndpoint=isSandbox?\"https://www.sandbox.paypal.com/signin/authorize\":\"https://www.paypal.com/signin/authorize\";const tokenEndpoint=isSandbox?\"https://api-m.sandbox.paypal.com/v1/oauth2/token\":\"https://api-m.paypal.com/v1/oauth2/token\";const userInfoEndpoint=isSandbox?\"https://api-m.sandbox.paypal.com/v1/identity/oauth2/userinfo\":\"https://api-m.paypal.com/v1/identity/oauth2/userinfo\";return{id:\"paypal\",name:\"PayPal\",async createAuthorizationURL({state,codeVerifier,redirectURI}){if(!options.clientId||!options.clientSecret){import_logger.logger.error(\"Client Id and Client Secret is required for PayPal. Make sure to provide them in the options.\");throw new import_error.BetterAuthError(\"CLIENT_ID_AND_SECRET_REQUIRED\")}return await(0,import_create_authorization_url.createAuthorizationURL)({id:\"paypal\",options,authorizationEndpoint,scopes:[],state,codeVerifier,redirectURI,prompt:options.prompt})},validateAuthorizationCode:__name(async({code,redirectURI})=>{const credentials=import_base64.base64.encode(`${options.clientId}:${options.clientSecret}`);try{const response=await(0,import_fetch.betterFetch)(tokenEndpoint,{method:\"POST\",headers:{Authorization:`Basic ${credentials}`,Accept:\"application/json\",\"Accept-Language\":\"en_US\",\"Content-Type\":\"application/x-www-form-urlencoded\"},body:new URLSearchParams({grant_type:\"authorization_code\",code,redirect_uri:redirectURI}).toString()});if(!response.data)throw new import_error.BetterAuthError(\"FAILED_TO_GET_ACCESS_TOKEN\");const data=response.data;return{accessToken:data.access_token,refreshToken:data.refresh_token,accessTokenExpiresAt:data.expires_in?new Date(Date.now()+data.expires_in*1e3):void 0,idToken:data.id_token}}catch(error){import_logger.logger.error(\"PayPal token exchange failed:\",error);throw new import_error.BetterAuthError(\"FAILED_TO_GET_ACCESS_TOKEN\")}},\"validateAuthorizationCode\"),refreshAccessToken:options.refreshAccessToken?options.refreshAccessToken:async refreshToken=>{const credentials=import_base64.base64.encode(`${options.clientId}:${options.clientSecret}`);try{const response=await(0,import_fetch.betterFetch)(tokenEndpoint,{method:\"POST\",headers:{Authorization:`Basic ${credentials}`,Accept:\"application/json\",\"Accept-Language\":\"en_US\",\"Content-Type\":\"application/x-www-form-urlencoded\"},body:new URLSearchParams({grant_type:\"refresh_token\",refresh_token:refreshToken}).toString()});if(!response.data)throw new import_error.BetterAuthError(\"FAILED_TO_REFRESH_ACCESS_TOKEN\");const data=response.data;return{accessToken:data.access_token,refreshToken:data.refresh_token,accessTokenExpiresAt:data.expires_in?new Date(Date.now()+data.expires_in*1e3):void 0}}catch(error){import_logger.logger.error(\"PayPal token refresh failed:\",error);throw new import_error.BetterAuthError(\"FAILED_TO_REFRESH_ACCESS_TOKEN\")}},async verifyIdToken(token,nonce){if(options.disableIdTokenSignIn)return false;if(options.verifyIdToken)return options.verifyIdToken(token,nonce);try{return!!(0,import_jose.decodeJwt)(token).sub}catch(error){import_logger.logger.error(\"Failed to verify PayPal ID token:\",error);return false}},async getUserInfo(token){if(options.getUserInfo)return options.getUserInfo(token);if(!token.accessToken){import_logger.logger.error(\"Access token is required to fetch PayPal user info\");return null}try{const response=await(0,import_fetch.betterFetch)(`${userInfoEndpoint}?schema=paypalv1.1`,{headers:{Authorization:`Bearer ${token.accessToken}`,Accept:\"application/json\"}});if(!response.data){import_logger.logger.error(\"Failed to fetch user info from PayPal\");return null}const userInfo=response.data;const userMap=await options.mapProfileToUser?.(userInfo);return{user:{id:userInfo.user_id,name:userInfo.name,email:userInfo.email,image:userInfo.picture,emailVerified:userInfo.email_verified,...userMap},data:userInfo}}catch(error){import_logger.logger.error(\"Failed to fetch user info from PayPal:\",error);return null}},options}},\"paypal\");0&&(module.exports={paypal});\n})()\n","warnings":[],"map":{"version":3,"mappings":"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","names":[],"ignoreList":[],"sources":["/opt/canhelp/node_modules/better-auth/node_modules/@better-auth/core/dist/social-providers/paypal.mjs"],"sourcesContent":[null]}}