Symfony - curl возвращает неверный запрос - PullRequest
0 голосов
/ 04 октября 2018

Я использую документацию по денежным потокам с указанным URL, чтобы попытаться вернуть тестовый запрос, но dump () возвращает эту ошибку ..

"V | 99E5BB5DF59 | 000 | V226 | Недопустимый запрос \ n"

или

Контроллер должен вернуть ответ (V | 99E5BB5DFC6 | 000 | V226 | Задан неверный запрос).

Мой код..

  // jSON URL which should be requested
    $json_url = 'https://secure.cashflows.com/gateway/remote';

    $username = '5949138';  // authentication
    $password = 'Ad368w9XYw';  // authentication

    // jSON String for request
    $json_string ="auth_id=5949138&auth_pass=Ad368w9XYw&card_num=4000000000000002&card_cvv=123&card_ex
                    piry=0116&cust_name=Testing&cust_address=My%20house%0AMy%20street%0AMy%20Town&cust_post
                    code=CB22%205LD&cust_country=GB&cust_ip=123.45.67.89&cust_email=test@test.com&tran_ref=abc123
                    &tran_amount=9.99&tran_currency=GBP&tran_testmode=0&tran_type=sale&tran_class=ecom";

    // Initializing curl
    $ch = curl_init( $json_url );

    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json_string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_USERPWD,$username . ':' . $password);  // authentication
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($json_string));
    curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');

    // Getting results
    $result = curl_exec($ch); // Getting jSON result string

    return new JsonResponse($result);

Я не могу понять, в чем причина проблемы.

1 Ответ

0 голосов
/ 04 октября 2018

Вы передаете массив в POSTFIELDS

json_encode его:

CURLOPT_POSTFIELDS => json_encode($json_string),

Также проверяйте Content-Type (прописные буквы T)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...