• 26-02-2019, 20:22:38
    #1
    Botman, Codemaster
    Selamlar,

    Bu, shopier api entegrasyon hakkında bilgisi olan var mıdır? Dökümantasyon konusunda yardıma ihtiyacım var, bir türlü bulamadım
  • 26-02-2019, 20:42:33
    #2
    Üyeliği durduruldu
    Merhaba, Yardımcı olabiilirim.
  • 26-02-2019, 20:47:46
    #3
    Botman, Codemaster
    MithatGuner adlı üyeden alıntı: mesajı görüntüle
    Merhaba, Yardımcı olabiilirim.
    PM gönderildi.
  • 26-02-2019, 21:21:33
    #4
    Üyeliği durduruldu
    Buyurun hocam callback için kullanabilirsiniz.

    <?php
    
    require_once '../include/veritabani.php';
    require_once '../include/kullanici.php';
    
    
    
    $db = DB();
    $k = new kullanici($db);
    
    
    $status = $_POST["status"];
    $invoiceId = $_POST["platform_order_id"];
    $transactionId = $_POST["payment_id"];
    $installment = $_POST["installment"];
    $signature = $_POST["signature"];
    
    
    $data=$_POST["random_nr"].$_POST['platform_order_id'];
    
    $signature = base64_decode($signature);
    $expected = hash_hmac('SHA256', $data, "41fe7e156d***************", true);
    if ($signature == $expected) {
        $status = strtolower($status);
        if ($status == "success") {
            $test = var_export($_POST, true);
            
            $email_text = var_export($_POST, true);
    
            $son = $k->son_siparis($invoiceId);
            $cikti = $k->siparis_duzenle($invoiceId, $son['0']['id']);
            header("Location:../index.php");
        }
    }
  • 26-02-2019, 21:24:58
    #5
    Botman, Codemaster
    MithatGuner adlı üyeden alıntı: mesajı görüntüle
    Buyurun hocam callback için kullanabilirsiniz.

    <?php
    
    require_once '../include/veritabani.php';
    require_once '../include/kullanici.php';
    
    
    
    $db = DB();
    $k = new kullanici($db);
    
    
    $status = $_POST["status"];
    $invoiceId = $_POST["platform_order_id"];
    $transactionId = $_POST["payment_id"];
    $installment = $_POST["installment"];
    $signature = $_POST["signature"];
    
    
    $data=$_POST["random_nr"].$_POST['platform_order_id'];
    
    $signature = base64_decode($signature);
    $expected = hash_hmac('SHA256', $data, "41fe7e156d***************", true);
    if ($signature == $expected) {
        $status = strtolower($status);
        if ($status == "success") {
            $test = var_export($_POST, true);
            
            $email_text = var_export($_POST, true);
    
            $son = $k->son_siparis($invoiceId);
            $cikti = $k->siparis_duzenle($invoiceId, $son['0']['id']);
            header("Location:../index.php");
        }
    }
    Eyvallah teşekkürler, bende post için ihtiyacı olan olursa paylaşayım ;

    
    
    
    
    $address = $params['clientdetails']['address1'];
    if (!empty($params['clientdetails']['address2'])) {
    $billingAddress .= ' '.$params['clientdetails']['address2'];
    }
    if (!empty($params['clientdetails']['state'])) {
    $billingAddress .= ' '.$params['clientdetails']['state'];
    }
    
    $result = Capsule::table('tblclients')
    ->where('id', $params['clientdetails']['id'])
    ->get();
    
    foreach ($result as $client) {
        $user_registered = $client->datecreated;
    }
    $time_elapsed = time() - strtotime($user_registered);
    $buyer_account_age = (int)($time_elapsed/86400);
    
    $productinfo = str_replace('"', '', $params["description"]);
        $productinfo = str_replace('"', '', $productinfo);
    
    if ($params['currency']=="USD"){
    $currency=1;
    }else if ($params['currency']=="TRY"){
    $currency=0;
    }else if ($params['currency']=="EUR"){
    $currency=2;
    }else {
    $currency=0;
    }
    $current_language=$_SESSION['Language'];
    $current_lang=1;
    if ($current_language == "turkish"){
    $current_lang=0;}
    $modul_version='1.4';
    $version=$raw->version;
    srand(time(NULL));
    $random_nr=rand(100000,999999);
    $postfields = array(
    'API_key' => $params['shopier_api_key'],
    'website_index' => $params['shopier_website_index'],
    'platform_order_id' => $params['invoiceid'],
    'product_name' => $productinfo,
    'product_type' => 1,
    'buyer_name' => $params['clientdetails']['firstname'],
    'buyer_surname' => $params['clientdetails']['lastname'],
    'buyer_email' => $params['clientdetails']['email'],
    'buyer_account_age' => $buyer_account_age,
    'buyer_id_nr' => $params['clientdetails']['id'],
    'buyer_phone' => $params['clientdetails']['phonenumber'],
    'billing_address' => $billingAddress,
    'billing_city' => $params['clientdetails']['city'],
    'billing_country' => $params['clientdetails']['country'],
    'billing_postcode' => $params['clientdetails']['postcode'],
    'shipping_address' => 'NA',
    'shipping_city' => 'NA',
    'shipping_country' => 'NA',
    'shipping_postcode' => 'NA',
    'total_order_value' => $params['amount'],
    'currency' => $currency,
    'current_language'=>0,
    'modul_version' =>$modul_version,
    'version' =>$version,
    'platform' => 4,
    'is_in_frame' => 0,
    'random_nr' => $random_nr
    );
    
    //$data = implode('', $postfields);
    $data=$postfields["random_nr"].$postfields['platform_order_id'].$postfields['total_order_value'].$postfields['currency'];
    $signature = hash_hmac('SHA256', $data, $params['shopier_api_secret'], true);
    $signature = base64_encode($signature);
    $postfields['signature'] = $signature;
    
        $langPayNow = $params['langpaynow'];
        $url = $params['shopier_payment_url'];
    
        $htmlOutput = '<form method="post" action="' . $url . '">';
        foreach ($postfields as $k => $v) {
            $htmlOutput .= '<input type="hidden" name="' . $k . '" value="' . $v . '" />';
        }
        $htmlOutput .= '<input type="submit" value="' . $langPayNow . '" />';
        $htmlOutput .= '</form>';
    
        return $htmlOutput;
  • 23-05-2019, 09:22:47
    #6
    HelixTm adlı üyeden alıntı: mesajı görüntüle
    Eyvallah teşekkürler, bende post için ihtiyacı olan olursa paylaşayım ;

    
    
    
    
    $address = $params['clientdetails']['address1'];
    if (!empty($params['clientdetails']['address2'])) {
    $billingAddress .= ' '.$params['clientdetails']['address2'];
    }
    if (!empty($params['clientdetails']['state'])) {
    $billingAddress .= ' '.$params['clientdetails']['state'];
    }
    
    $result = Capsule::table('tblclients')
    ->where('id', $params['clientdetails']['id'])
    ->get();
    
    foreach ($result as $client) {
        $user_registered = $client->datecreated;
    }
    $time_elapsed = time() - strtotime($user_registered);
    $buyer_account_age = (int)($time_elapsed/86400);
    
    $productinfo = str_replace('"', '', $params["description"]);
        $productinfo = str_replace('"', '', $productinfo);
    
    if ($params['currency']=="USD"){
    $currency=1;
    }else if ($params['currency']=="TRY"){
    $currency=0;
    }else if ($params['currency']=="EUR"){
    $currency=2;
    }else {
    $currency=0;
    }
    $current_language=$_SESSION['Language'];
    $current_lang=1;
    if ($current_language == "turkish"){
    $current_lang=0;}
    $modul_version='1.4';
    $version=$raw->version;
    srand(time(NULL));
    $random_nr=rand(100000,999999);
    $postfields = array(
    'API_key' => $params['shopier_api_key'],
    'website_index' => $params['shopier_website_index'],
    'platform_order_id' => $params['invoiceid'],
    'product_name' => $productinfo,
    'product_type' => 1,
    'buyer_name' => $params['clientdetails']['firstname'],
    'buyer_surname' => $params['clientdetails']['lastname'],
    'buyer_email' => $params['clientdetails']['email'],
    'buyer_account_age' => $buyer_account_age,
    'buyer_id_nr' => $params['clientdetails']['id'],
    'buyer_phone' => $params['clientdetails']['phonenumber'],
    'billing_address' => $billingAddress,
    'billing_city' => $params['clientdetails']['city'],
    'billing_country' => $params['clientdetails']['country'],
    'billing_postcode' => $params['clientdetails']['postcode'],
    'shipping_address' => 'NA',
    'shipping_city' => 'NA',
    'shipping_country' => 'NA',
    'shipping_postcode' => 'NA',
    'total_order_value' => $params['amount'],
    'currency' => $currency,
    'current_language'=>0,
    'modul_version' =>$modul_version,
    'version' =>$version,
    'platform' => 4,
    'is_in_frame' => 0,
    'random_nr' => $random_nr
    );
    
    //$data = implode('', $postfields);
    $data=$postfields["random_nr"].$postfields['platform_order_id'].$postfields['total_order_value'].$postfields['currency'];
    $signature = hash_hmac('SHA256', $data, $params['shopier_api_secret'], true);
    $signature = base64_encode($signature);
    $postfields['signature'] = $signature;
    
        $langPayNow = $params['langpaynow'];
        $url = $params['shopier_payment_url'];
    
        $htmlOutput = '<form method="post" action="' . $url . '">';
        foreach ($postfields as $k => $v) {
            $htmlOutput .= '<input type="hidden" name="' . $k . '" value="' . $v . '" />';
        }
        $htmlOutput .= '<input type="submit" value="' . $langPayNow . '" />';
        $htmlOutput .= '</form>';
    
        return $htmlOutput;
    Hocam, bu kod bloğunda param dedikleriniz parametreden mi geliyor? Bu kod bloğunu biraz açabilir misiniz?