Вот пример работающего callback-скрипта на PHP для ОК (где-то у них на форумах взял). Наш серверный программер сделал на его основе и все работает нормально. После того, как пользователь выбрал платеж в штатной форме ОК, их сервер дергает ваш сервер и затем уже возникает их событие, которое нужно отловить и передать в свою флешку (если подключение как iframe).

Код:
<?php
header('Content-Type: application/xml; charset=utf-8');
error_reporting(E_ERROR);
//параметры приложения
$appKey="...";
$application_secret_key = "...";
//читаем переданные параметры
$method = $_REQUEST["method"];
$application_key = $_REQUEST["application_key"];
$call_id = $_REQUEST["call_id"];
$sig = $_REQUEST["sig"];
$uid = $_REQUEST["uid"];
$amount = $_REQUEST["amount"];
$transaction_time = $_REQUEST["transaction_time"];
$product_code = $_REQUEST["product_code"];
$transaction_id = $_REQUEST["transaction_id"];
//проверяем метод
if($method != "callbacks.payment") {
header('invocation-error: 3');
print('<?xml version="1.0" encoding="UTF-8"?>');
?>
<ns2:error_response xmlns:ns2='http://api.forticom.com/1.0/'>
<error_code>3</error_code>
<error_msg>Method does not exist.</error_msg>
</ns2:error_response>
<?php
die();
}
//проверяем appKey
if($appKey != $application_key) {
header('invocation-error: 101');
print('<?xml version="1.0" encoding="UTF-8"?>');
?>
<ns2:error_response xmlns:ns2='http://api.forticom.com/1.0/'>
<error_code>101</error_code>
<error_msg>Parameter application_key not specified or invalid</error_msg>
</ns2:error_response>
<?php
die();
}
//собираем переданные параметры без учета sig
$i = 0;
$params = array();
foreach ($_GET as $key => $value) {
if($key != "sig") {
$params[$i] = "$key=$value";
$i++;
}
}
sort($params);
$params = join('', $params);
$mySig = md5($params . $application_secret_key);
//проверяем подпись
if($sig != $mySig) {
header('invocation-error: 104');
print('<?xml version="1.0" encoding="UTF-8"?>');
?>
<ns2:error_response xmlns:ns2='http://api.forticom.com/1.0/'>
<error_code>104</error_code>
<error_msg>Invalid signature.</error_msg>
</ns2:error_response>
<?php
die();
}
//TODO: 1) Transaction ID is unique and Application/Game server must ignore transactions with duplicated ID.
//TODO: It must return positive result, if transaction was processed successfully earlier.
//TODO: 2) Cообщаем серверу о поступившем платеже
//TODO: 3) Cохраняем в БД успешную транзакцию
//отдаем успешный статус
print('<?xml version="1.0" encoding="UTF-8"?>');
?>
<callbacks_payment_response xmlns="http://api.forticom.com/1.0/">true</callbacks_payment_response>