При публикации модуля, разработчик должен указать:
1. урл для активации
2. пароль для проверки подлинности
3. возможна ли активация на тестовый домен
При этом разработчику система сообщается id дополнения.
-----------------------------------------
При покупке клиент вводит свой домен и, если разрешено, тестовый домен.
-----------------------------------------
После оплаты, идет POST на сервер активации разработчика, содержащий:
0. id запроса (генерирует каталог, уникален, чтобы соотносить между собой запросы и ответы каталога и сервера активации)
1. id дополнения
2. md5(пароль)
3. ник покупателя
4. email покупателя
5. datetime покупки
6. домен для активации
7. тест домен (если разрешено)
Сервер активации сравнивает хеши паролей и при совпадении, идет активация. Тут уж как у кого сделано, либо ключ автоматом уходит на емаил покупателя, либо добавляется соотв.запись в базу, но не принципиально и не важно.
На POST, сервер активации выдает простой ответ, не надо xml и других усложнений, достаточно просто $this->response->setOutput($otvet), содержащий:
0. id запроса (берется из запроса каталога)
1. id дополнения (не обязательно, но для облегчения поиска проблем не помешает)
2. статус активации (1 - все хорошо, 2 - не хорошо, пароли не совпали и т.д. и т.п.)
$otvet = '0|1|2';