PaygateDeveloper documentation
422merchants.invalid_profilemerchantsRule R2

display_name is required

UpdateMerchantProfile refuses a blank display_name. It is the name payers see on a QR and on their statement, so it cannot be empty.

Why the API refuses

WHEN UpdateProfile is executed, THE SYSTEM SHALL reject it if display_name is present and blank, and SHALL leave every member the patch does not name unchanged.

What to do

Send a non-blank display_name. Whitespace only counts as blank.