Accounts.User resource that is normally sent to actions as the actor (this is also the resource used in AshAuthentication, etc).Payments and inside of it, it has a resource Payments.Customer.Accounts.User and Payments.User uses the same table, the just have some unique fields to it (mostly Accounts.User has info about authentication like password, email, etc, and Payments.User info about Stripe customer id, payments methods, etc).Payments, for example, Payments.Subscription.Payments.Subscription is called, it will be called with the Accounts.User as its resource.Accounts.User (ex. if the user email is confirmed), these actions from the Payments API also need to check some things related to info only contained in the Payments.Customer resource (ex. if the user already have an Stripe's customer id set).Accounts.User as the actor and have policies that checks its fields (again, checking if the email is confirmed, etc), and then, inside the action, having, as the first change, a change that will get the current actor, fetch the Payments.Customer from it, and storing it as the new actor, and then doing the rest of checks (like if the user has a customer id) in subsequent changes.