The registration of the merchant should be organized via program interfaces. See setMerchantData description for details.

If SOFI receives the payment data of a merchant which was not registered before then SOFI create merchant with name 'Unknown by payment outpayment_id=<outpayment_id>', where <outpayment_id> will be the payment ID that was received first time with this merchant ID.

SOFI will notify external system about this automatic merchant creation and it is good practice to update the merchant data using setMerchantData as a reaction on this notification. But the best practice is to register merchants before the sending the information about the merchant payments for checking in SOFI.