Can anyone help me brain storm off-site signup/cancellation work flow?

Can the ghost api add a new member with name, email address, membership tier, stripe ID, and expiration/next billing date?

I need to move my signup flow OFF SITE but then I need to be able to update the ghost member database with new people who sign up. My thought is that I would have a new member signup on stripe trigger an API Admin script that would create a new user with all the relevant info. This way their subscription exists in ghost - they can cancel, upgrade, etc. Even though the signup flow didn’t happen on the ghost platform.

Is this possible? Anything I should watchout for as I work my way through it?