Any caller can query payment status and associated user with a known session ID
Source references: 2getStripeSessionStatus has no login, ownership, or administrator check. Its return type may contain the Stripe response body and userPrincipal, and the lookup requires only a sessionId.
Someone who obtains or guesses a valid session ID may receive payment status, transaction details present in the raw response, and the associated user identifier. The exact disclosure depends on which fields the Stripe module places in response.
The status type can return the Stripe response body and userPrincipal. Its public wrapper accepts only a sessionId and shows no authentication, session-ownership, or administrator check. Someone who obtains or guesses a valid ID could potentially read another customer's payment state and associated identifier. Exposure depends on the dependency's response contents and ID entropy; users should require caller-bound ownership checks and minimal returned fields.
public type StripeSessionStatus = { #failed : { error : Text }; #completed : { response : Text; userPrincipal : ?Text }; }; /// Check payment status. public func getSessionStatus(configuration : StripeConfiguration, sessionId : Text, transform : OutCall.Transform) : async StripeSessionStatus;};Show 1 other places
public func getStripeSessionStatus(sessionId : Text) : async Stripe.StripeSessionStatus { await Stripe.getSessionStatus(getStripeConfiguration(), sessionId, transform); };