<?php 

$merchantID = 'OMS51204601';
$secretKey  = '2qLet40l0100RmF50lR30mVj8rZl838r';

if( empty($_REQUEST) ){
    
//     echo "Merchant ID = {$merchantID}<br>";
//     echo "Secret (vagy Merchant) Key = {$secretKey}<br><hr>";
    
    $samplePost = array(
        "salt"          => "806a7a4830351ef68a05f3e2b077fd93",//md5( rand(1,1000) . "almakorte" ),
        "merchant"      => $merchantID,
        "orderRef"      => "101010515680194414779",
        "currency"      => "HUF",
        "customerEmail" => "sdk_test@otpmobil.com",
        "language"      => "HU",
        "sdkVersion"    => "SimplePayV2.1_Payment_PHP_SDK_2.0.7_190701:dd236896400d7463677a82a47f53e36e",
        "methods"       => array("CARD"),
        "total"         => "25",
        "timeout"       => "2019-09-11T16:30:41+00:00",
        "url"           => "https://sdk.simplepay.hu/back.php"
    );
    
    
    //$message = json_encode($samplePost);

    $message = '{"salt":"L0uznj3pJi1ddDE2A8zU7Tu0ZBGZoSq7","orderRef":"WEB\/2021\/46802A","method":"CARD","merchant":"OMS51204601","finishDate":"2021-04-09T23:36:02+02:00","paymentDate":"2021-04-09T23:35:26+02:00","transactionId":500938798,"status":"FINISHED"}';
    
    $messageFromDoc = '{"salt":"806a7a4830351ef68a05f3e2b077fd93","merchant":"PUBLICTESTHUF","orderRef":"101010515680194414779","currency":"HUF","customerEmail":"sdk_test@otpmobil.com","language":"HU","sdkVersion":"SimplePayV2.1_Payment_PHP_SDK_2.0.7_190701:dd236896400d7463677a82a47f53e36e","methods":["CARD"],"total":"25","timeout":"2019-09-11T16:30:41+00:00","url":"https:\/\/sdk.simplepay.hu\/back.php"}';
    
    
    $sampleHeader = array(
        "Content-type"  => "application/json", 
        "Signature"     =>  base64_encode( hash_hmac('sha384',$message,$secretKey,true) ),
    );
    
    
    echo "<pre>";
    var_export( $samplePost );
    echo "<br><br>";
    var_export( $sampleHeader );
    echo "</pre>";
    
    echo "<hr>";
    
    echo '<br>PHP Signature szamítás: <b>base64_encode( hash_hmac("sha384",$message,$secretKey,true) )</b>';
    echo "<br>FONTOS: a hash hmac bináris kimenetele kell a base64-hez!<br><br>";
    
    echo "json message = ".$message;
    echo "<br><br>header Signature = ".$sampleHeader['Signature'];
    
    if( $message == $messageFromDoc ){
        
        echo "<br><br><span style='color:green;'>EGYEZIK a doksi message!</span>";
        
        if( 'zXAB58TJdfpDaMa2rXUlefFYVlQQ91CXqot2Y6kcG79wMh55uv1hQphH9xt7qHFn' == $sampleHeader['Signature'] ){
            echo "<br><span style='color:green;'>EGYEZIK a doksi signature!</span></br>";
        }else{
            echo "<br><span style='color:red;'>NEM EGYEZIK a doksi Signature!</span></br>";
        }
        
    }else{
        echo "<br><span style='color:red;'>NEM EGYEZIK a doksi message!</span></br>";
        echo "<pre>";var_export( json_decode($messageFromDoc,true));echo "</pre>";
    }
    $samDoc = '{"salt":"806a7a4830351ef68a05f3e2b077fd93","merchant":"PUBLICTESTHUF","orderRef":"101010515680194414779","currency":"HUF","customerEmail":"sdk_test@otpmobil.com","language":"HU","sdkVersion":"SimplePayV2.1_Payment_PHP_SDK_2.0.7_190701:dd236896400d7463677a82a47f53e36e","methods":["CARD"],"total":"25","timeout":"2019-09-11T16:30:41+00:00","url":"https:\/\/sdk.simplepay.hu\/back.php"}';
    echo "<hr>sample in docs: <br>{$samDoc}<hr>";
    
    echo "<hr>https://www.freeformatter.com/hmac-generator.html<br>";
    echo "<br>TESZT = ".base64_encode('cd7001e7c4c975fa4368c6b6ad752579f158565410f75097aa8b7663a91c1bbf70321e79bafd61429847f71b7ba87167');
    
    echo "<br><br>küldés tesztelése: <a href='/form.php'>TESZT indítása</a><br><br>";
}

echo "REQUEST = <pre>";print_r($_REQUEST);

if( !empty($_GET) ){
    echo "GET adás nem jöhet!";
    exit;
}elseif( !empty($_POST) ){
    
    $post = $_POST;

    echo "JSON jön.....válaszként";
    
    
    echo "Content-Type = ".$_SERVER["CONTENT_TYPE"]."<br>";
    //application/json
    
    echo "POST = <pre>";print_r($post);
    echo "SERVER = ".print_r($_SERVER);
    
}