-
Notifications
You must be signed in to change notification settings - Fork 1
/
trakteer.php
53 lines (44 loc) · 1.89 KB
/
trakteer.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
// https://github.com/jovanzers/Trakteer
error_reporting(0);
$oid = $_GET['oid'];
$url = $_GET['url'];
$input = $oid ?? $url ?? "";
if (empty($input)) {
echo '<a href="https://github.com/jovanzers/Trakteer">How to use?</a><hr>';
echo 'ZERS was here!<br>With ❤️ by WinTen Dev';
exit();
}
if (strpos($input, 'trakteer.id') == false) {
$input = 'https://trakteer.id/payment-status/' . $input;
}
$ch = curl_init($input);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Referer: https://trakteer.id',
'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
]
]);
$response = curl_exec($ch);
curl_close($ch);
$dom = new DOMDocument();
@$dom->loadHTML($response);
$xpath = new DOMXPath($dom);
$orderId = $xpath->query('//*[@id="wrapper"]/div/div/div[3]/div[4]/div[2]/div[2]');
$cendol = $xpath->query('//*[@id="wrapper"]/div/div/div[3]/div[3]/div[2]/div/div[1]/span[2]');
$orderDate = $xpath->query('//*[@id="wrapper"]/div/div/div[3]/div[4]/div[1]/div[1]/div[2]');
$paymentMethod = $xpath->query('//*[@id="wrapper"]/div/div/div[3]/div[4]/div[1]/div[2]/div[2]');
$amount = $xpath->query('//*[@id="wrapper"]/div/div/div[3]/div[3]/div[3]');
$adminFees = $xpath->query('//*[@id="wrapper"]/div/div/div[3]/div[3]/div[2]/div/div[2]/span[2]');
$result = [
'OrderId' => @$orderId[0]->nodeValue,
'OrderDate' => date('Y-m-d\TH:i:s\Z', strtotime(str_replace(' WIB', '', @$orderDate[0]->nodeValue))),
'PaymentMethod' => @$paymentMethod[0]->nodeValue,
'CendolCount' => (int)preg_replace('/[^0-9]/', '', explode('x', @$cendol[0]->nodeValue)[1]),
'AdminFees' => (int)preg_replace('/[^0-9]/', '', @$adminFees[0]->nodeValue),
'Total' => (int)preg_replace('/[^0-9]/', '', @$amount[0]->nodeValue)
];
header('Content-Type: application/json');
echo json_encode($result);
?>