<?php

namespace App\Payout;

use App\Slack;
use Illuminate\Http\Request;

require_once((_env('PAYTM_LIBRARY', '')).'config_paytm.php');
require_once((_env('PAYTM_LIBRARY', '')).'encdec_paytm.php');

class PayTMSettlement{


    public $can_disbursed = true;
    public $key = null;
    public $settlementData = [];

    public function __construct($key){
        $this->key = $key;
    }

    public function getSettlement($settlement_date, $pageNum = 1){

        $payload = ["MID" => $this->key, "utrProcessedStartTime" => $settlement_date, "pageNum" => $pageNum, "pageSize" => 20];

        $payload["checksumHash"] = getChecksumFromArray($payload,PAYTM_MERCHANT_KEY);

        $curl = curl_init();
        curl_setopt_array($curl, array(
            CURLOPT_URL => _env('PATYM_SETTLEMENT_API'),
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => "",
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 30,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => "POST",
            CURLOPT_POSTFIELDS => json_encode($payload),
            CURLOPT_HTTPHEADER => array(
                "Content-Type: application/json",
            ),
        ));

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

        curl_close($curl);
        return json_decode($response, 1);
    }
}
