We noticed there are many instant profiles and merged profiles in square dashboard, by reading square documents we understood they are created by square automatically, but is there anyway to prevent square from doing it automatically? which means, we would like to fully control the customer’s create/delete by our application through customer API.
If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.
Square automatically creates instant profiles when a customer makes a payment without signing in to their account. This process is asynchronous and might take some time before the customer_id is added to the payment. If Square cannot find a matching customer profile and cannot create an instant profile, the customer_id field of the payment remains unset.
However, some regions prevent the creation of instant profiles or allow sellers to disable this feature. If the customer_id isn’t set for a payment made using a non-payment-card payment method (such as gift card, ACH, or Cash App), Square doesn’t attempt to find or create a customer profile to populate the customer_id field.
As for merged profiles, when duplicate customer profiles are identified, either manually by the seller or using automated detection, the existing profiles are merged into a single profile that is assigned a new ID.
Unfortunately, there is no way to prevent Square from automatically creating instant profiles or merging duplicate profiles. These processes are built into Square’s system to help maintain accurate customer records and cannot be disabled or controlled via the API.
It will definitely help prevent duplicates if you add a customer_id to every payment and order however it won’t prevent merges if there are duplicate profiles in the directory. When duplicate customer profiles are identified and merged, either manually by the seller or using automated detection, the existing profiles are merged into a single profile that is assigned a new ID.