for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Лисоводы   всех   стран,  объединяйтесь !!!  

Список Форумов  :: Visual Foxpro, Foxpro for DOS
  

СБП Райффайзен
hvh2007
Автор

Сообщений: 7
Дата: 16.05.22 10:59:51
Добрый день!
Возникла проблема организовать генерацию QR-кода для оплаты черех приложение на VFP9. Пример API: pay.raif.ru
Накидал код:
  
  SET ECHO ON  
  SUSPEND   
  Local http as "WinHttp.WinHttpRequest"    
  http = Createobject("WinHttp.WinHttpRequest.5.1")    
  Timeout = 0  && milliseconds    
    
  http.SetTimeouts(Timeout, Timeout, Timeout, Timeout)    
  Http.Option(0)="http_requester/0.1"  
  Http.Option(4)=13056  
  Http.Option(6)=.t.  
  Http.Option(12)=.t.  
    
 **********************************************  
  http.Open("POST", 'https://test.ecom.raiffeisen.ru/api/sbp/v2/qrs',.f.)  
  Http.SetRequestHeader( "Content-type", "Content-Type: application/json")  
  Request='{'  
  Request=Request+'"additionalInfo": "This is test create QR-code",'  
  Request=Request+'"amount": 1,'  
  Request=Request+'"currency": "RUB",'  
  Request=Request+'"order": "4-779-417",'  
  Request=Request+'"paymentDetails": "the first qr-code",'  
  Request=Request+'"qrType": "QRDynamic",'  
  Request=Request+'"sbpMerchantId": "MA347182"'  
  Request=Request+'}'  
  Request=[']+request+[']  
 ****************************  
  SUSPEND   
  http.Send(request)  
  ResulStatus=http.status  
  ResponseText=http.ResponseText
Получил:
ResulStatus=415
ResponseText={"timestamp":"2022-05-16T07:45:50.578+00:00","status":415,"error":"Unsupported Media Type","path":"/external/v2/qrs"}

Если кто нибудь имеет опыт подобных работ, не сочтите за труд, подскажите в какую сторону копать.
Ratings: 0 negative/0 positive

Re: СБП Райффайзен
hvh2007
Автор

Сообщений: 7
Дата: 16.05.22 12:54:12
Спасибо Каратаеву! forum.foxclub.ru

Этот код сработал:

  
  Set Echo On  
  Suspend  
  tcurl="https://test.ecom.raiffeisen.ru/api/sbp/v2/qrs"  
  TEXT TO tcxml  
  {  
      "additionalInfo": "This is test create QR-code",  
      "amount": 1,  
      "currency": "RUB",  
      "order": "4-779-417",  
      "paymentDetails": "the first qr-code",  
      "qrType": "QRDynamic",  
      "sbpMerchantId": "MA347182"  
  }  
  ENDTEXT  
    
  tcXml = Strconv(tcXml,9)  
  oHTTP = Createobject("MSXML2.XMLHTTP")  
  oHTTP.Open("POST", tcurl)  
  oHTTP.setRequestHeader("Content-Type", "application/json")  
  oHTTP.Send(0h+tcXml)  
  ltStart = Datetime()  
  Do While m.oHTTP.readyState <> 4  
  	DoEvents Force  
  Enddo  
  Local lcResponse  
  Suspend  
  lcResponse = ""  
  Do Case  
  Case m.oHTTP.readyState <> 4  
 * Не дождались ответа  
  	lcResponse = "Нет ответа от сервера"  
  Case !Between(m.oHTTP.Status, 200, 299)  
  	lcResponse = m.oHTTP.responseText  
  	Messagebox(lcResponse)  
  Otherwise  
  	lcResponse = m.oHTTP.responseText  
  Endcase  
  
Ratings: 0 negative/0 positive



Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 4 (Гостей: 4)

© 2000-2022 Fox Club 
Яндекс.Метрика