За последние 24 часа нас посетили 17504 программиста и 1725 роботов. Сейчас ищут 1525 программистов ...

JSON POST-запрос на php

Тема в разделе "PHP для новичков", создана пользователем adept77, 28 ноя 2022.

  1. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    419
    Симпатии:
    71
    Осталось поглядеть что получится:)
     
    adept77 нравится это.
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.858
    Симпатии:
    748
    Адрес:
    Татарстан
    Ставлю 10$ - что это не последний вопрос ТС.... ибо опять что-то не получится))))
     
  3. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    419
    Симпатии:
    71
    Я пас. Не хочу проиграть.;)
     
    adept77 нравится это.
  4. adept77

    adept77 Новичок

    С нами с:
    19 окт 2022
    Сообщения:
    61
    Симпатии:
    0
    --- Добавлено ---
    да ладно вам ))) как будто сами в новой теме так не сидели и не разбирались
     

    Вложения:

    • 1111.png
      1111.png
      Размер файла:
      73 КБ
      Просмотров:
      1
  5. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    419
    Симпатии:
    71
    Каков результат работы скрипта?
     
    adept77 нравится это.
  6. adept77

    adept77 Новичок

    С нами с:
    19 окт 2022
    Сообщения:
    61
    Симпатии:
    0
    значения так и не берет
    возвращает на предыдущую страницу
     

    Вложения:

    • 1112.png
      1112.png
      Размер файла:
      113,1 КБ
      Просмотров:
      1
  7. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    419
    Симпатии:
    71
    У тебя в пост попадают из формы переменные с другими именами

    'MERCHANT_ORDER_ID' => $_POST['order'],
    'DESCRIPTION' => $_POST['desc_order']
     
    adept77 нравится это.
  8. adept77

    adept77 Новичок

    С нами с:
    19 окт 2022
    Сообщения:
    61
    Симпатии:
    0
    т.е. 'MERCHANT_ORDER_ID' и 'order' - должны быть с одинаковыми именами ? так их нельзя присваивать ?
    'MERCHANT_ORDER_ID' => $_POST['MERCHANT_ORDER_ID'],
    так ?
     
  9. adept77

    adept77 Новичок

    С нами с:
    19 окт 2022
    Сообщения:
    61
    Симпатии:
    0
    с этим разобрался... я не думал, что это критично. Обычно что присвоил, то и будет. Хотя, скорее, я пока не понял, в чем разница
    --- Добавлено ---
    теперь вопрос - что это за NULL появился ? это от скрипта с curl остатки... что за ответ ?
     

    Вложения:

    • 113.png
      113.png
      Размер файла:
      11,1 КБ
      Просмотров:
      3
    • 113.png
      113.png
      Размер файла:
      40,4 КБ
      Просмотров:
      2
  10. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    419
    Симпатии:
    71
    Ты проверь все операторы echo или print в скрипте. Что выводится - то может быть null.
    Скорей всего var_dump($response); Убери или закомментируй
     
    adept77 нравится это.
  11. adept77

    adept77 Новичок

    С нами с:
    19 окт 2022
    Сообщения:
    61
    Симпатии:
    0
    спасибо

    теперь такой вопрос,насчет сертификата.
    когда его в курл вставляешь, он где должен находиться физически и как к нему указывать путь ?
    Код (Text):
    1. $ch_post= array(
    2.     CURLOPT_URL=>$url.'/ping',
    3.     CURLOPT_POST => TRUE,
    4.     CURLOPT_RETURNTRANSFER =>TRUE,
    5.     CURLOPT_TIMEOUT =>10,
    6.     CURLOPT_SSLCERT =>'umit_life.p12',
    7.     CURLOPT_SSLCERTTYPE => 'P12',
    8.     CURLOPT_SSLCERTPASSWD =>'W11111'
    9. );
    Как я понимаю, здесь нет никакого указания на него, кроме имени и пароля ?

    Код (Text):
    1. curl_setopt($ch,CURLOPT_HTTPAUTH,CURLAUTH_BASIC);
    2. curl_setopt($ch,CURLOPT_USERPWD,"umit_life:b1111111");
    и для чего этот кусок вообще ? что за пароль ?
    к сертификату же уже указан
     
  12. adept77

    adept77 Новичок

    С нами с:
    19 окт 2022
    Сообщения:
    61
    Симпатии:
    0
    да, и еще. Curl с сертификатом на авторизацию и curl с POST-запросом могут быть в одной куче или это нужно два curl`а прописывать? на каждый свой массив с данными ?
     
  13. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    419
    Симпатии:
    71
    Ты говорил про инструкцию. Что там говорится про сертификат?
     
    adept77 нравится это.
  14. adept77

    adept77 Новичок

    С нами с:
    19 окт 2022
    Сообщения:
    61
    Симпатии:
    0
    В том то и дело, что или я не вижу ничего про них, или мне знаний не хватает, чтобы понять
    Мне сертификаты админ прислал,сказал, что для авторизации нужно сертификат на сервер отправлять. Если есть возможность, инструкцию прикрепил.
    ;) просветите неграмотного :)

    Бцк, [28.11.2022 17:44]
    нет. этот сертификат вы должны отправлять нам
    Бцк, [28.11.2022 18:12]
    У вас есть доступ к тестовой среде. Можете делать все что угодно там
    Бцк, [28.11.2022 18:12]
    То есть там нереальные деньги
    Бцк, [28.11.2022 18:14]
    В php обычно через curl отправляют сертификат в запросе
    --- Добавлено ---
    это выводилось скорее всего результат работы curl, то что скрипт не отработал нифига
     

    Вложения:

  15. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    922
    Симпатии:
    143
    Не по Сеньке шапка...
     
  16. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    419
    Симпатии:
    71
    Судя по шпаргалке ты отправляешь тестовый запрос?
     
    adept77 нравится это.
  17. adept77

    adept77 Новичок

    С нами с:
    19 окт 2022
    Сообщения:
    61
    Симпатии:
    0
    да, это тестовый терминал
     
  18. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    419
    Симпатии:
    71
    Ты не пытался отправлять простые запросы?
    Например
    Код (Text):
    1.  
    2. $ch = curl_init('https://sandboxapi/ping');
    3. curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
    4. $result = curl_exec($ch);
    5. curl_close($ch);
    6. print_r($result);
     
    adept77 нравится это.
  19. adept77

    adept77 Новичок

    С нами с:
    19 окт 2022
    Сообщения:
    61
    Симпатии:
    0
    нет, а что это даст ? сервер доступен
    щас попробую

    результата нет никакого, возврат на эту же страницу, без ответа
     
    #44 adept77, 29 ноя 2022
    Последнее редактирование: 29 ноя 2022
  20. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    419
    Симпатии:
    71
    Добавь в середину curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
     
    adept77 нравится это.
  21. adept77

    adept77 Новичок

    С нами с:
    19 окт 2022
    Сообщения:
    61
    Симпатии:
    0
    нет, то же самое - возврат на эту же страницу, без ответа
     
  22. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    419
    Симпатии:
    71
    А когда был ответ? Вначале было сообщение об ошибке.Ты на первой странице писал
    выдает ошибку:
    {"failure_type":"error","order_id":null,"failure_message":"Invalid JSON"}
     
    adept77 нравится это.
  23. adept77

    adept77 Новичок

    С нами с:
    19 окт 2022
    Сообщения:
    61
    Симпатии:
    0
    это в админке мерча ошибка подключения клиента

    и эта же ошибка была вчера до тех пор, пока не добавил в скрипт пост-запрос. Т.е. пока скрипт выглядел вот так:
    Код (Text):
    1. <?php
    2. $url="https://sandboxapi.paymtech.kz";
    3. $ch=curl_init();
    4. $ch_post=[
    5.     CURLOPT_URL=>$url.'/ping',
    6.     CURLOPT_POST => TRUE,
    7.     CURLOPT_RETURNTRANSFER =>TRUE,
    8.     CURLOPT_TIMEOUT =>10,
    9.     CURLOPT_SSLCERT =>'umit_life.p12',
    10.     CURLOPT_SSLCERTTYPE => 'P12',
    11.     CURLOPT_SSLCERTPASSWD =>'W11111',
    12. ];
    13. curl_setopt($ch,CUPLOPT_HTTPAUTH,CURLAUTH_BASIC);
    14. curl_setopt($ch,CURLOPT_USERPWD,"umit_life:b1111111");
    15. curl_setopt_array($ch,$ch_post);
    16. $response = curl_exec($ch);
    17. var_dump($response);
    18.  
    19. ?>
     
  24. adept77

    adept77 Новичок

    С нами с:
    19 окт 2022
    Сообщения:
    61
    Симпатии:
    0
    короче, что-то я совсем запутался... походу, надо все удалить и заново...
     
  25. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.858
    Симпатии:
    748
    Адрес:
    Татарстан
    100%