Store cards for later charges by third party?

I’m new to payments and trying to see if this use case is possible:

Could we collect user credit information from online/web users, store it in new Customer records, and somehow either associate these stored accounts with other Square accounts or allow these other accounts to create charges for these customers?

Specifically what we’d like to do is allow a user to make reservations on our site, perhaps doing a small authorization hold for verification. The reservation would be for a third party, and if at a later time the third party wanted to charge the user, ideally the third party could create a charge against that customer without our involvement from their Square account?

Info Capture flow:
User --cc—> Square form on our site —> Stored in Square Customer Record

Charge Flow:
Third Party Square Account → ??? <— Our Customer Record

I saw a somewhat related post here Payments through stored card information on database but that’s a slightly different use case, and didn’t see this exact question asked elsewhere.

Hi @bmxg welcome to the forums!

Currently, customers (and their cards) are scoped per merchant, not per application. That means, you would need to save a customer’s card for each merchant that uses your application if you intend to allow the customer to be able to be charged by any merchant. However, I will DM you to find out more information.

Thanks for the reply! Perhaps I was overcomplicating it - it’s fine if there’s a 1:1 mapping between a customer and a merchant.

So to clarify, if I create an application and allow merchants to connect to the app via Square Oauth, then could I create a customer X in merchant Y, and save X’s card? Then later, if merchant Y determined there should be a charge for user X, they can charge X’s card on their own outside my application?