Сейчас я работаю над проектом API с этой компанией. Я знаю, что, глядя на документацию, все выглядит немного устрашающе, однако вы можете сделать это так же просто, как маленький запрос cURL.
Я бы предложил начать с предоставленного примера «Новая транзакция условного депонирования» и составить ваш запрос, используя предоставленный ими XML-код, который дополнен вашими данными.
Присвойте XML переменной и передайте его через запрос curl, подобный приведенному ниже;
// Initialise your cUrl object
$ch = curl_init('https://xml.Escrow.com/Invoke/Partners/ProcessrequestXML.asp');
//set your cURL options
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "\$xmldata=".urlencode($xml));
//Start your cURL Transaction
ob_start();
//execute your cURL object with your parameters
$result = curl_exec($ch);
//set the returned info to a variable
$info = curl_getinfo($ch);
// close the transaction
curl_close ($ch);
//get the contents of the transaction
$data = ob_get_contents();
ob_end_clean();
//optional; Redirect to a specific place
header("Location:".$url);
Единственный совет, который я могу предложить, - внимательно прочитать документацию и всегда проверять значения, которые вы передаете.
Там, где это возможно, целесообразно разделить функции API на их собственный класс, это облегчит обслуживание и устранение неполадок, а также значительно упростит проверку функциональности.