@makaravich

Как сделать post запрос при использовании Authorize.Net?

На странице developer.authorize.net/api/reference/index.html описывается использование API системы приема платежей Authorize.Net. Насколько я понял, работать с этим можно отправляя POST запрос на один из URL,
приведенных на вкладке API Endpoints, в зависимости от того тестовый это запрос или рабочий (в частности для тестирования https://apitest.authorize.net/xml/v1/request.api).

Я так понимаю запрос должен представлять собой XML данные, примеры которых можно увидеть на вкладках Try It. А вот какому полю должны принадлежать эти XML данные непонятно. Перепробовал кучу вариантов - ничего не подходит.
Отсюда вопрос: может кто сталкивался с API Authorize.Net и знает как правильно отправлять этот запрос, либо может есть какие-то стандарты для подобных вещей о которых я не знаю?
  • Вопрос задан
  • 203 просмотра
Решения вопроса 1
@makaravich Автор вопроса
Все, разобрался. Действительно не нужно никаких полей. Пример работающего кода:
<?php
$ch = curl_init();
$request='<authenticateTestRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
    <merchantAuthentication>
        <name>хххххххххх</name>
        <transactionKey>ххххххххххххххх</transactionKey>
    </merchantAuthentication>
</authenticateTestRequest>';

curl_setopt($ch, CURLOPT_URL,            "https://apitest.authorize.net/xml/v1/request.api" );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_POST,           1 );
curl_setopt($ch, CURLOPT_POSTFIELDS,     $request ); 
curl_setopt($ch, CURLOPT_HTTPHEADER,     array('Content-Type: text/xml')); 

$result=curl_exec ($ch);
?>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы