1KA_F2F/frontend/payments/api_test.php

170 lines
3.8 KiB
PHP
Raw Normal View History

2020-08-14 13:36:36 +02:00
<?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';
2020-12-05 12:25:17 +01:00
//$action = 'stripe_checkout_success';
//$action = 'check_ddv';
2020-08-14 13:36:36 +02:00
//$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
2023-01-12 13:49:06 +01:00
// $params .= '&email=peter.hrvatin@gmail.com&package_id=2&trajanje=12';
2020-08-14 13:36:36 +02:00
// 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(
2020-08-14 13:36:36 +02:00
"email" => 'peter.hrvatin@gmail.com',
"status" => '0',
"package_id" => '3',
2020-11-19 10:36:22 +01:00
"payment_method" => '3',
2020-08-14 13:36:36 +02:00
//"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',
);*/
2020-08-14 13:36:36 +02:00
/*$post_data = array(
2020-11-19 10:36:22 +01:00
"narocilo_id" => '33'
2020-08-14 13:36:36 +02:00
);*/
$post_data = array(
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
"email" => '...'
);
2020-12-05 12:25:17 +01:00
/*$post_data = array(
2020-11-19 10:36:22 +01:00
"podjetje_drzava" => 'Germany',
"podjetje_davcna" => '115235681',
2020-12-05 12:25:17 +01:00
"cena" => '19,90'
);*/
2020-08-14 13:36:36 +02:00
/*$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);
2023-01-12 13:49:06 +01:00
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
2020-08-14 13:36:36 +02:00
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
// Izvedemo klic
$result = curl_exec($ch);
return $result;
}
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