HEX
Server: LiteSpeed
System: Linux s3604.bom1.stableserver.net 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: dmstechonline (1480)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/dmstechonline/crm.chaitanyahospitalvirar.com/application/libraries/Walkingm_lib.php
<?php
if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}

class Walkingm_lib
{

    private $_CI;
    public $client_id;
    public $client_secret;
    public function __construct()
    {
        $this->_CI           = &get_instance();
        $merchant_data       = $this->_CI->paymentsetting_model->getActiveMethod();
        $this->client_id     = $merchant_data->api_publishable_key;
        $this->client_secret = $merchant_data->api_secret_key;
    }

    public function walkingm_login($email, $password, $payment_array)
    {

        $curl = curl_init();
        curl_setopt_array($curl, array(
            CURLOPT_URL            => "https://walkingm.com/api/login",
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING       => "",
            CURLOPT_MAXREDIRS      => 10,
            CURLOPT_TIMEOUT        => 30,
            CURLOPT_USERAGENT      => $_SERVER['HTTP_USER_AGENT'],
            CURLOPT_HTTP_VERSION   => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST  => "POST",
            CURLOPT_POSTFIELDS     => "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"email\"\r\n\r\n" . $email . "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"password\"\r\n\r\n" . $password . "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--",
            CURLOPT_HTTPHEADER     => array(
                "cache-control: no-cache",
                "content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW",
                "postman-token: 8f266b2f-38e2-628a-43d6-7222712257dd",
            ),
        ));

        $response = curl_exec($curl);
        $err      = curl_error($curl);

        curl_close($curl);

        if ($err) {
            return $err;
        } else {
            $login_data = json_decode($response);

            if (isset($login_data->response)) {
                if ($login_data->response->status == 200) {
                    $walkingm_verify = $this->walkingm_verify($payment_array, $login_data);
                    return $walkingm_verify;
                } else {
                    return $login_data->response->message;
                }
            } elseif ($login_data->success->status != 200) {
                return $login_data->success->message;
            }

        }

    }

    public function walkingm_verify($payment_array, $login_data)
    {
        $curl_verify = curl_init();
        curl_setopt_array($curl_verify, array(
            CURLOPT_URL            => "https://walkingm.com/api/merchant/verify",
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING       => "",
            CURLOPT_MAXREDIRS      => 10,
            CURLOPT_TIMEOUT        => 30,
            CURLOPT_HTTP_VERSION   => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST  => "POST",
            CURLOPT_POSTFIELDS     => "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"client_id\"\r\n\r\n" . $this->client_id . "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"client_secret\"\r\n\r\n" . $this->client_secret . "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--",
            CURLOPT_HTTPHEADER     => array(
                "authorization-token: " . $login_data->response->token,
                "cache-control: no-cache",
                "content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW",
                "postman-token: c6be6d85-9c05-6eed-faad-8adbb47d05c2",
            ),
        ));

        $response_curl_verify = curl_exec($curl_verify);
        $err_curl_verify      = curl_error($curl_verify);

        curl_close($curl_verify);

        if ($err_curl_verify) {
            return $err_curl_verify;
        } else {
            $verify_data = json_decode($response_curl_verify);

            if ($verify_data->success->status == 200) {
                $walkingm_transaction_info = $this->walkingm_transaction_info($verify_data, $login_data, $payment_array);
                return $walkingm_transaction_info;
            } else {
                return $verify_data->success->message;
            }

        }
    }

    public function walkingm_transaction_info($verify_data, $login_data, $payment_array)
    {
        $curl_info  = curl_init();
        $payer      = $payment_array['payer'];
        $amount     = $payment_array['amount'];
        $currency   = $payment_array['currency'];
        $successUrl = $payment_array['successUrl'];
        $cancelUrl  = $payment_array['cancelUrl'];
        curl_setopt_array($curl_info, array(
            CURLOPT_URL            => "https://walkingm.com/api/merchant/transaction-info",
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING       => "",
            CURLOPT_MAXREDIRS      => 10,
            CURLOPT_TIMEOUT        => 30,
            CURLOPT_HTTP_VERSION   => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST  => "POST",
            CURLOPT_POSTFIELDS     => "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"payer\"\r\n\r\n" . $payer . "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"amount\"\r\n\r\n" . $amount . "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"currency\"\r\n\r\n" . $currency . "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"successUrl\"\r\n\r\n" . $successUrl . "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"cancelUrl\"\r\n\r\n" . $cancelUrl . "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--",
            CURLOPT_HTTPHEADER     => array(
                "authorization: Bearer " . $verify_data->success->response->data->access_token,
                "authorization-token: " . $login_data->response->token,
                "cache-control: no-cache",
                "content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW",
                "postman-token: f85ff53b-710e-05e8-146b-c05bcf02128c",
            ),
        ));

        $response_curl_info = curl_exec($curl_info);
        $err_curl_info      = curl_error($curl_info);

        curl_close($curl_info);

        if ($err_curl_info) {
            return $err_curl_info;
        } else {

            $info_data = json_decode($response_curl_info);

            if ($info_data->success->status == 'success') {
                $walkingm_payment = $this->walkingm_payment($info_data, $login_data);
                return $walkingm_payment;
            } else {
                return $info_data->success->message;
            }

        }
    }

    public function walkingm_payment($info_data, $login_data)
    {
        $curl_payment = curl_init();
        curl_setopt_array($curl_payment, array(
            CURLOPT_URL            => "https://walkingm.com/api/merchant/payment",
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING       => "",
            CURLOPT_MAXREDIRS      => 10,
            CURLOPT_TIMEOUT        => 30,
            CURLOPT_HTTP_VERSION   => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST  => "POST",
            CURLOPT_POSTFIELDS     => "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"grant_id\"\r\n\r\n" . $info_data->success->grandId . "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"token\"\r\n\r\n" . $info_data->success->token . "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--",
            CURLOPT_HTTPHEADER     => array(
                "authorization-token: " . $login_data->response->token,
                "cache-control: no-cache",
                "content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW",
                "postman-token: df55f15b-6287-00fa-6968-f52b0b20fbdf",
            ),
        ));

        $response_curl_payment = curl_exec($curl_payment);
        $err_curl_payment      = curl_error($curl_payment);

        curl_close($curl_payment);

        if ($err_curl_payment) {
            return $err_curl_payment;
        } else {

            $payment_data = json_decode($response_curl_payment);

            if ($payment_data->success->status == 200) {
                $url = $payment_data->success->successPath;
                header("Location: $url");
            } else {
                return $payment_data->success->message;
            }

        }

    }

}