Ваш подход действительно зависит от API / интерфейса, предоставляемого шлюзом.Если вы посмотрите на встроенный модуль Linkpoint, он просто использует cURL для связи с Linkpoint.Если вы посмотрите на Beanstream INTERAC (в дополнениях к свободному программному обеспечению), он использует cURL, но также ожидает, что будет предоставлено несколько URL-адресов обратного вызова.Есть и другие модели - лучше всего понять, чего хочет шлюз, а затем поискать существующий модуль, который также использует эту модель связи.