jun-branch #45

Merged
MarkHipe merged 6 commits from jun-branch into main 2024-03-25 18:22:59 +08:00
4 changed files with 257 additions and 27 deletions
Showing only changes of commit d4584e6cf1 - Show all commits

View File

@ -1,8 +1,9 @@
<?php
$_SESSION["is_test"]=false;
$_SESSION["is_test"]=true;
$_SESSION["test_email_rcpt"]="junjihadbarroga@gmail.com";
$_SESSION["sales_email"]="sales@obanana.com";
$_SESSION["data_endpoint"]="api.obanana.shop";
$_SESSION["transfer_fee"]=0.02;
if ($_SESSION["is_test"]){
$_SESSION["obpay"]="web.obanana.io/test";
$_SESSION["obpay_gate"]="gate.obanana.io/api";

View File

@ -0,0 +1,24 @@
<?php
include "../functions.php";
$payout_id = $_GET['payout_id'];
$payoutbyId = getPayout($_SESSION["token"], $payout_id);
$payoutData = json_decode($payoutbyId, true);
$payout_vendor_id = $payoutData['vendor_details'][0]['vendor_id'];
echo $payout_vendor_id;
if (isset($payoutData['transaction_logs']) && is_array($payoutData['transaction_logs'])) {
$orderIds = array();
foreach ($payoutData['transaction_logs'] as $transaction) {
if (isset($transaction['orderId'])) {
$orderIds[] = $transaction['orderId'];
}
}
editOrderPayoutStatus($_SESSION["token"], $orderIds);
updatePayout($_SESSION["token"],$payout_id);
} else {
echo "No transaction logs found.";
}
header("location: vendor-profile.php?id=$payout_vendor_id");
?>

View File

@ -2,29 +2,35 @@
include "../functions.php";
if(isset($_SESSION["vendorId"])){
if(isset($_GET["id"])){
$_SESSION["vendorId"]=$_GET["id"];
}
if(isset($_GET["id"])){
$_SESSION["vendorId"]=$_GET["id"];
}
} else {
if(isset($_GET["id"])){
$_SESSION["vendorId"]=$_GET["id"];
} else {
header("location: vendor-card.php");
}
if(isset($_GET["id"])){
$_SESSION["vendorId"]=$_GET["id"];
} else {
header("location: vendor-card.php");
}
}
$_SESSION["url"] = $_SERVER['REQUEST_URI'];
if ($_SESSION["userId"] <> "") {
$_SESSION["isLoggedIn"] = true;
//$customer_data = getCustomerbyLoginId($_SESSION["userId"]);
} else {
$_SESSION["isLoggedIn"] = false;
header("location: login.php");
header("location: login.php");
}
if($_SESSION["user_type"]!="admin"){
header("location: login.php?alert=Only admins allowed here!");
header("location: login.php?alert=Only admins allowed here!");
}
$vendor = getVendorbyId($_SESSION["vendorId"]);
$array = json_decode($vendor,true);
$selectedBankAccount = null;
foreach ($array['bank_acount_details'] as $bankAccount) {
if ($bankAccount['bank_payout']) {
@ -37,9 +43,9 @@ if ($selectedBankAccount === null && !empty($array['bank_acount_details'])) {
}
$selectedBankAccountJSON = json_encode($selectedBankAccount);
$shopOrders = getOrderbyVendorId($_SESSION["vendorId"]);
$vendorOrderss = json_decode($shopOrders);
if (is_array($vendorOrderss)) {
$vendorOrders = json_decode($shopOrders);
} elseif (is_object($vendorOrderss) && property_exists($vendorOrderss, 'message')) {
@ -47,7 +53,40 @@ if (is_array($vendorOrderss)) {
} else {
echo "Unknown type or no 'message' property found.";
}
$allPayouts = getAllPayout($_SESSION["token"]);
$vendorPayouts = json_decode($allPayouts,true);
$filteredPayouts = [];
foreach ($vendorPayouts as $payout) {
if ($payout['vendor_details'][0]['vendor_id'] == $_SESSION["vendorId"]) {
$filteredPayouts[] = $payout;
}
}
$token = $_SESSION["token"];
$token_parts = explode(".", $token);
$token_payload = base64_decode($token_parts[1]);
$token_data = json_decode($token_payload);
$expiration_time = $token_data->exp;
$issued_at_time = $token_data->iat;
$renewal_time = $issued_at_time + 3300;
if (time() >= $renewal_time) {
$token = loginRenew($_SESSION["email"], $_SESSION["password"], $token);
$_SESSION["token"] = $token;
}
// $token = loginRenew($_SESSION["email"], $_SESSION["password"], $token);
// $_SESSION["token"] = $token;
?>
<!DOCTYPE html>
<html lang="en" dir="ltr">
@ -150,6 +189,18 @@ if (is_array($vendorOrderss)) {
<div class="contact-info pt-4">
<h5 class="text-dark">Contact Information</h5>
<?php
//echo date('Y-m-d H:i:s', $issued_at_time) . "<br>";
//echo date('Y-m-d H:i:s', $expiration_time) . "<br>";
//echo date('Y-m-d H:i:s', $renewal_time) . "<br>";
//echo date('Y-m-d H:i:s', time()) . "<br>";
?>
<?php echo $_SESSION["token"] ?><br>
<?php // echo $_SESSION["email"] ?> <br>
<?php // echo "Updated token: " . $token; ?>
<?php // echo $_SESSION["password"] ?>
<p class="text-dark font-weight-medium pt-24px mb-2">Email address</p>
<p><?php echo $array["user_email"]; ?></p>
<p class="text-dark font-weight-medium pt-24px mb-2">Phone Number</p>
@ -311,10 +362,10 @@ if (is_array($vendorOrderss)) {
// feesDeductionAdjustment += individualFee;
var breakdownItem = {
Type: "Payment",
"Transaction date": row.cells[6].innerText,
"Gross Amount": amount,
Transaction_date: row.cells[6].innerText,
Gross_Amount: amount,
Fee: individualFee,
"Net Amount": amount - individualFee,
Net_Amount: amount - individualFee,
Description: row.cells[5].querySelector("a").innerText,
orderId: orderId
};
@ -432,14 +483,21 @@ if (is_array($vendorOrderss)) {
</thead>
<tbody>
<?php
$totalPayoutOrders = count($filteredPayouts);
for ($i = 0; $i < $totalPayoutOrders; $i++) {
$order_payouts = $filteredPayouts[$i];
?>
<tr>
<td>₱1,230</td>
<td>EastWest</td>
<td>**** **** 1234</td>
<td>Jon-Jon Manaay</td>
<td>Oct 20, 2018</td>
<td><?php echo $order_payouts['gross_amount']?></td>
<td><?php echo $order_payouts['bank_information'][0]['bank_name']?></td>
<td><?php echo $order_payouts['bank_information'][0]['bank_account_number']?></td>
<td><?php echo $order_payouts['bank_information'][0]['bank_account_name']?></td>
<td><?php echo date('F j Y', strtotime($order_payouts['createdAt'])); ?></td>
<td>
<span class="badge badge-success">Deposited</span>
<span class="badge badge-success"><?php echo $order_payouts['status']?></span>
</td>
<td class="text-right">
<div
@ -456,11 +514,14 @@ if (is_array($vendorOrderss)) {
<li class="dropdown-item">
<a href="#">Details</a>
</li>
<li class="dropdown-item">
<a href="payout_deposit_action.php?payout_id=<?php echo urlencode($order_payouts['_id']); ?>">Deposit</a>
</li>
</ul>
</div>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
@ -518,7 +579,7 @@ if (is_array($vendorOrderss)) {
<div class="col-xl-12">
<!-- Notification Table -->
<div class="card card-default mb-24px">
<!-- <div class="card card-default mb-24px">
<div class="card-header justify-content-between mb-1">
<h2>Latest Notifications</h2>
<div>
@ -670,7 +731,7 @@ if (is_array($vendorOrderss)) {
</div>
<div class="mt-3"></div>
</div>
</div> -->
</div>
@ -894,6 +955,12 @@ if (is_array($vendorOrderss)) {
</div>
</div>
</div>
<div class="col-12">
<!-- Bank Details -->
<!-- Bank Details -->
</div>
</div>
</div>
</div>
@ -901,7 +968,23 @@ if (is_array($vendorOrderss)) {
<div class="tab-pane fade" id="settings" role="tabpanel"
aria-labelledby="settings-tab">
<div class="tab-pane-content mt-5">
<form>
<table style="width:100%; border-collapse: collapse;">
<tr>
<td style="border: 1px solid #dddddd; background-color: #f7f7f7; padding: 8px; font-weight: 700;">Bank Name</td>
<td style="border: 1px solid #dddddd; padding: 8px;font-weight: 500;"><?php echo $selectedBankAccount['bank_name'] ?></td>
</tr>
<tr>
<td style="border: 1px solid #dddddd; background-color: #f7f7f7; padding: 8px;font-weight: 700;">Account Number</td>
<td style="border: 1px solid #dddddd; padding: 8px;font-weight: 500;"><?php echo $selectedBankAccount["bank_account_number"] ?></td>
</tr>
<tr>
<td style="border: 1px solid #dddddd; background-color: #f7f7f7; padding: 8px;font-weight: 700;">Account Name</td>
<td style="border: 1px solid #dddddd; padding: 8px;font-weight: 500;"><?php echo $selectedBankAccount["bank_account_name"] ?></td>
</tr>
</table>
<!-- <form>
<div class="form-group row mb-6">
<label for="coverImage"
class="col-sm-4 col-lg-2 col-form-label">User Image</label>
@ -969,7 +1052,7 @@ if (is_array($vendorOrderss)) {
class="btn btn-primary mb-2 btn-pill">Update
Profile</button>
</div>
</form>
</form> -->
</div>
</div>

View File

@ -360,6 +360,36 @@ function login($username, $password)
$token = json_decode($response, true);
return $token["token"];
}
function loginRenew($username, $password, $token)
{
$curl = curl_init();
$array = array(
"username" => $username,
"password" => $password
);
$json = json_encode($array);
curl_setopt_array($curl, array(
CURLOPT_URL => "https://" . $_SESSION["data_endpoint"] . "/api/v1/login",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $json,
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'X-Api-Key: {{apiKey}}'
),
));
$response = curl_exec($curl);
curl_close($curl);
$token = json_decode($response, true);
return $token["token"];
}
function forgot_password($email)
{
if ($_SESSION["is_test"] == true && $_SESSION["test_email_rcpt"] != "") {
@ -1858,3 +1888,95 @@ function getAllPayout($token)
return $response;
}
function getPayout($token, $id)
{
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://" . $_SESSION["data_endpoint"] . "/api/v1/payouts/{$id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'X-Api-Key: {{apiKey}}',
'Content-Type: application/json',
'Authorization: Bearer ' . $token
),
));
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
function editOrderPayoutStatus($token, $orderIds)
{
$curl = curl_init();
foreach ($orderIds as $orderId) {
$data = array(
'payout_status' => array(
'payout_id' => $orderId,
'status' => 'Deposited'
)
);
$params3 = json_encode($data);
curl_setopt_array($curl, array(
CURLOPT_URL => "https://" . $_SESSION["data_endpoint"] . "/api/v1/orders/" . $orderId,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_POSTFIELDS => $params3,
CURLOPT_HTTPHEADER => array(
'Accept: application/json',
'Content-Type: application/json',
'Authorization: Bearer ' . $token
),
));
$response = curl_exec($curl);
}
curl_close($curl);
}
function updatePayout($token, $payoutId)
{
$curl = curl_init();
$data = array(
'status' => "Deposited",
);
$params = json_encode($data);
curl_setopt_array($curl, array(
CURLOPT_URL => "https://" . $_SESSION["data_endpoint"] . "/api/v1/payouts/" . $payoutId, // Corrected URL to include $payoutId
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_POSTFIELDS => $params, // Send the payload data
CURLOPT_HTTPHEADER => array(
'X-Api-Key: {{apiKey}}', // Make sure to replace {{apiKey}} with an actual API key if needed
'Content-Type: application/json',
'Authorization: Bearer ' . $token
),
));
$response = curl_exec($curl);
curl_close($curl);
return $response;
}