Разобрался ...
// корневой сертификат банка
$caFile = dirname(__FILE__) . '/bank.crt';
// сертификат торговца
$certFile = dirname(__FILE__) . '/user.crt';
// ключ сертификата
$keyFile = dirname(__FILE__) . '/user.key';
// пароль ключа (если есть)
$privateCertPass = 'password';
$serverURI = 'https://192.168.0.0:5555/Exec';
// исходящее xml_сообщение
$xml = '<?xml version="1.0" encoding="UTF-8"?>';
$xml .= '<TKKPG>';
$xml .= '<Request>';
$xml .= '<Operation>CreateOrder</Operation>';
$xml .= '<Language>RU</Language>';
$xml .= '<Order>';
$xml .= '<OrderType>Purchase</OrderType>';
$xml .= '<Merchant>2000001</Merchant>';
$xml .= '<Amount>15000</Amount>';
$xml .= '<Currency>810</Currency>';
$xml .= '<Description>Test</Description>';
$xml .= '<ApproveURL>http://192.168.0.1:81/test_stores/test/get_result_post.php</ApproveURL>';
$xml .= '<CancelURL>http://192.168.0.1:81/test_stores/test/get_result_post.php</CancelURL>';
$xml .= '<DeclineURL>http://192.168.0.1:81/test_stores/test/get_result_post.php</DeclineURL>';
$xml .= '</Order>';
$xml .= '</Request>';
$xml .= '</TKKPG>';
$ch = curl_init($serverURI);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSLCERT, $certFile);
curl_setopt($ch, CURLOPT_CAINFO, $caFile);
curl_setopt($ch, CURLOPT_SSLKEY, $keyFile);
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, $privateCertPass);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
// ответ TWPG
$xmlResponse = curl_exec($ch);
// 0 - успешное выполнение запроса
echo 'CURL status: ' . curl_errno($ch) . '<br>';
echo 'CURL status description: ' . curl_error($ch);