1KA_F2F/frontend/payments/api_test.php
MAY 79fc5b7b02 Prilagoditev za F2F, ostalo:
Dopolnjena opomba k nastavitvi kodne tabele za SQL.

De-1KAizacija:
    Ukinjenih nekaj info@1ka.si emailov, odstranjenih nekaj testnih petrovih nastavitev.

    Tudi lastna instalacija ima pravico do obvestil o grdem početju (phishing ipd).
    GDPR na 1KA pošljemo samo, če NI lastna instalacija.

Dopolnitve za fieldwork delo:
    - 1ka data izvoz
    - grupa glede na kodo in ne le kuki
        Tako lahko anketar nadaljuje z anketiranjem istega respondenta z vnosom
        iste kode. Prej se je grupa nastavljala le glede na kuki, kar je bilo neuporabno
        za fieldwork.
    - skok na isto, ne naslednjo stran na koncu
        PREJ: izpolnil si 1, 2, 3 in zaprl na 3. strani. 3. stran se ni shranila,
              ker nisi dal NEXT. NAslednjič ko si odprl isti link, ki nadaljeval
              na *naslednji* strani (4.)

              Tako si imel podatke za 1.; 2.; 4.,... stran.
        ZDAJ: izpolniš 1, 2, 3, zapreš. 3. stran se seveda ni shranila, ker si zaprl.
              Ko ponovno odpreš anketo, te vrže na ISTO ZADNJO stran - torej tretjo.

    - možen lokalni dump podatkov iz crontaba (zaščiteno s kodo)
    - settings.php ima dodano nastavitev kode za dump podatkov. Tega ni smiselno
      dati v nastavitve, ker se mora poklicati iz cron joba na SERVERJU, tako da
      mora itak štaufat admin, ki pripravljal laptop.

    Skripte za terensko združevanje so ločen modul in jih bi porinil v ločenem
    patchu.

    POZOR, preveriti je treba še BodyController (ali je bil ugly hack za narobe
    nastavljeno anketo, ali je bilo kaj drugega). Avtomatsko je namreč disablalo
    popravljanje ankete anketarjem!
2022-11-11 14:41:51 +01:00

170 lines
3.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
*
* Skripta za testiranje API-ja za nbarocila
*
**/
// Nastavimo url api-ja
$api_url = 'http://localhost/frontend/payments/api.php';
// Nastavimo kluc za kriptiranje tokena
$private_key = 'NLFYb67/[pUE%W-s';
// Nastavimo parametre
//$action = 'create_narocilo';
$action = 'get_last_narocilo';
//$action = 'stripe_checkout_success';
//$action = 'check_ddv';
//$action = 'get_predracun';
//$action = 'placaj_narocilo';
//$action = 'get_paketi';
//$action = 'send_poslovni_uporabniki';
//$action = 'get_active_subscription';
// Izvedemo klic (GET ali POST)
//$result = executePOST();
//$result = executeGET();
// Izvedemo json decode
$result_array = json_decode($result, true);
// Izpisemo rezultat
echo 'REZULTAT (RAW):<br />';
echo $result;
echo '<br /><br /><br />';
echo 'REZULTAT (JSON DECODE):';
var_dump($result_array);
// GET
function executeGET(){
global $api_url;
global $private_key;
global $action;
// GET params
$params = 'action='.$action; // Funkcija, ki jo želimo izvesti
$params .= '&email=peter.hrvatin@gmail.com&package_id=2&trajanje=12';
// Pripravimo podatke za hashiranje
$request_method = 'GET';
$request = $api_url.'?'.$params;
// Izracunamo hash (token)
/*$data = $request_method . $request;
$token = hash_hmac('sha256', $data, $private_key);*/
// Pripravimo klic dodamo parametra »identifikator« in »token«
//$ch = curl_init($request.'&token='.$token);
$ch = curl_init($request);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request_method);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Izvedemo klic
$result = curl_exec($ch);
return $result;
}
// POST
function executePOST(){
global $api_url;
global $private_key;
global $ank_id;
global $action;
// GET params
$params = 'action='.$action; // Funkcija, ki jo želimo izvesti
// POST data
/*$post_data = array(
"email" => 'peter.hrvatin@gmail.com',
"status" => '0',
"package_id" => '3',
"payment_method" => '3',
//"discount" => '5.90',
"trajanje" => '12',
"lang" => 'sl',
"phone" => '040626161',
"podjetje_ime" => 'Podjetje AAčšžćčxxx',
"podjetje_naslov" => 'Cesta na Brdo 13',
"podjetje_postna" => '1000',
"podjetje_posta" => 'Ljubljanačšžćčxxx',
"podjetje_davcna" => '11122233',
);*/
/*$post_data = array(
"narocilo_id" => '33'
);*/
$post_data = array(
"email" => '...'
);
/*$post_data = array(
"podjetje_drzava" => 'Germany',
"podjetje_davcna" => '115235681',
"cena" => '19,90'
);*/
/*$post_data = array(
"ime" => 'Peter Hrvatin',
"organizacija" => 'Ikea d.o.o.',
"naslov" => 'Cesta na Brdo 13, Ljubljana',
"telefon" => '040626161',
"email" => 'peter.hrvatin@gmail.com',
"paket" => '1',
"vrsta_domene" => '2',
"domena" => 'www.testek.si',
"strinjanje_s_pogoji" => '1',
);*/
// Pripravimo podatke za hashiranje
$request_method = 'POST';
$request = $api_url.'?'.$params;
$raw_post_data = http_build_query($post_data);
// Izracunamo hash (token)
/*$data = $request_method . $request . $raw_post_data;
$token = hash_hmac('sha256', $data, $private_key);*/
// Pripravimo klic dodamo parametra »identifikator« in »token«
//$ch = curl_init($request.'&token='.$token);
$ch = curl_init($request);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data)); // JSON string za POST
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request_method);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER ,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
// Izvedemo klic
$result = curl_exec($ch);
return $result;
}