denawar: "Дело в том, что периодически скрипт срабатывает и транзакция проходит. но это происходит случайным образом среди кучи отказов" - в таком случае лучше напрямую в саппорт писать, т.к. если ответ всегда валидный а результат непредсказуем - значит скорее всего проблема не на вашей стороне (если исключается вариант высокой нагрузки вашего сервера, настолько высокой что запрос отваливается по таймауту).
Проверьте ответ скрипта за запрос об оплате (сформируйте урл оплаты и запросите его., с подписью запроса и существующим товаром, всё как в реальном окружении). Ответ должен соответствовать успешному (либо - отказному), как описано в документации. + здаголовки ответа, может быть такое что plain/text не принимает, ждёт именно text/xml или около того. Может просто передаёте неверный идентификатор товара в OK API а на стороне сервера нет проверки на существование товара и скрипт падает с ошибкой.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.