000
This commit is contained in:
parent
9258c40f25
commit
989d0032cd
59
package-lock.json
generated
59
package-lock.json
generated
@ -14,6 +14,7 @@
|
|||||||
"qrcode": "^1.5.3",
|
"qrcode": "^1.5.3",
|
||||||
"serialize-error": "^11.0.3",
|
"serialize-error": "^11.0.3",
|
||||||
"sirv-cli": "^2.0.0",
|
"sirv-cli": "^2.0.0",
|
||||||
|
"svelte-feather-icons": "^4.1.0",
|
||||||
"svelte-preprocess": "^5.1.3",
|
"svelte-preprocess": "^5.1.3",
|
||||||
"svelte-turnstile": "^0.5.0"
|
"svelte-turnstile": "^0.5.0"
|
||||||
},
|
},
|
||||||
@ -23,6 +24,7 @@
|
|||||||
"@rollup/plugin-terser": "^0.4.0",
|
"@rollup/plugin-terser": "^0.4.0",
|
||||||
"@zerodevx/svelte-toast": "^0.9.5",
|
"@zerodevx/svelte-toast": "^0.9.5",
|
||||||
"autoprefixer": "^10.4.19",
|
"autoprefixer": "^10.4.19",
|
||||||
|
"daisyui": "^4.12.10",
|
||||||
"postcss": "^8.4.38",
|
"postcss": "^8.4.38",
|
||||||
"rollup": "^3.15.0",
|
"rollup": "^3.15.0",
|
||||||
"rollup-plugin-css-only": "^4.3.0",
|
"rollup-plugin-css-only": "^4.3.0",
|
||||||
@ -699,6 +701,17 @@
|
|||||||
"node": ">= 8"
|
"node": ">= 8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/css-selector-tokenizer": {
|
||||||
|
"version": "0.8.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz",
|
||||||
|
"integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"cssesc": "^3.0.0",
|
||||||
|
"fastparse": "^1.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/cssesc": {
|
"node_modules/cssesc": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
|
||||||
@ -711,6 +724,36 @@
|
|||||||
"node": ">=4"
|
"node": ">=4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/culori": {
|
||||||
|
"version": "3.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/culori/-/culori-3.3.0.tgz",
|
||||||
|
"integrity": "sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/daisyui": {
|
||||||
|
"version": "4.12.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.12.10.tgz",
|
||||||
|
"integrity": "sha512-jp1RAuzbHhGdXmn957Z2XsTZStXGHzFfF0FgIOZj3Wv9sH7OZgLfXTRZNfKVYxltGUOBsG1kbWAdF5SrqjebvA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"css-selector-tokenizer": "^0.8",
|
||||||
|
"culori": "^3",
|
||||||
|
"picocolors": "^1",
|
||||||
|
"postcss-js": "^4"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=16.9.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/daisyui"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/date-fns": {
|
"node_modules/date-fns": {
|
||||||
"version": "3.0.2-rc.1",
|
"version": "3.0.2-rc.1",
|
||||||
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.0.2-rc.1.tgz",
|
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.0.2-rc.1.tgz",
|
||||||
@ -830,6 +873,13 @@
|
|||||||
"node": ">=8.6.0"
|
"node": ">=8.6.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/fastparse": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/fastq": {
|
"node_modules/fastq": {
|
||||||
"version": "1.17.1",
|
"version": "1.17.1",
|
||||||
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
|
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
|
||||||
@ -2368,6 +2418,15 @@
|
|||||||
"node": ">= 8"
|
"node": ">= 8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/svelte-feather-icons": {
|
||||||
|
"version": "4.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/svelte-feather-icons/-/svelte-feather-icons-4.1.0.tgz",
|
||||||
|
"integrity": "sha512-fcTL4VzEN4BoccQJjKiui0b9DWEsmO6zGpI0tQTJbthRtNrYheoU487zyA1BD8rj9kj6jbKGmGVo7zbSdRvMvA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"svelte": "^3.38.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/svelte-preprocess": {
|
"node_modules/svelte-preprocess": {
|
||||||
"version": "5.1.3",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.1.3.tgz",
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
"@rollup/plugin-terser": "^0.4.0",
|
"@rollup/plugin-terser": "^0.4.0",
|
||||||
"@zerodevx/svelte-toast": "^0.9.5",
|
"@zerodevx/svelte-toast": "^0.9.5",
|
||||||
"autoprefixer": "^10.4.19",
|
"autoprefixer": "^10.4.19",
|
||||||
|
"daisyui": "^4.12.10",
|
||||||
"postcss": "^8.4.38",
|
"postcss": "^8.4.38",
|
||||||
"rollup": "^3.15.0",
|
"rollup": "^3.15.0",
|
||||||
"rollup-plugin-css-only": "^4.3.0",
|
"rollup-plugin-css-only": "^4.3.0",
|
||||||
@ -29,6 +30,7 @@
|
|||||||
"qrcode": "^1.5.3",
|
"qrcode": "^1.5.3",
|
||||||
"serialize-error": "^11.0.3",
|
"serialize-error": "^11.0.3",
|
||||||
"sirv-cli": "^2.0.0",
|
"sirv-cli": "^2.0.0",
|
||||||
|
"svelte-feather-icons": "^4.1.0",
|
||||||
"svelte-preprocess": "^5.1.3",
|
"svelte-preprocess": "^5.1.3",
|
||||||
"svelte-turnstile": "^0.5.0"
|
"svelte-turnstile": "^0.5.0"
|
||||||
}
|
}
|
||||||
|
@ -10,13 +10,12 @@
|
|||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css2?family=Onest:wght@100..900&display=swap" rel="stylesheet">
|
||||||
|
|
||||||
<link rel='stylesheet' href='/hpp-platform-build/bundle.css'>
|
<link rel='stylesheet' href='/hpp-platform-build/bundle.css'>
|
||||||
<!-- <link rel="stylesheet" href="/build/dark.css"> -->
|
<!-- <link rel="stylesheet" href="/build/dark.css"> -->
|
||||||
<script defer src='/hpp-platform-build/bundle.js'></script>
|
<script defer src='/hpp-platform-build/bundle.js'></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body class="font-onest">
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -15,6 +15,18 @@
|
|||||||
} from "date-fns";
|
} from "date-fns";
|
||||||
import { ca, el, ru } from "date-fns/locale";
|
import { ca, el, ru } from "date-fns/locale";
|
||||||
|
|
||||||
|
import { sleep } from "../lib/packSmall";
|
||||||
|
import {
|
||||||
|
CheckCircleIcon,
|
||||||
|
CheckIcon,
|
||||||
|
CopyIcon,
|
||||||
|
XCircleIcon,
|
||||||
|
ClockIcon,
|
||||||
|
XOctagonIcon,
|
||||||
|
} from "svelte-feather-icons";
|
||||||
|
import Kgzsvg from "../lib/kgzsvg.svelte";
|
||||||
|
import Russvg from "../lib/russvg.svelte";
|
||||||
|
|
||||||
const apiBase = "https://24paymentgateway.ru/api/v1/";
|
const apiBase = "https://24paymentgateway.ru/api/v1/";
|
||||||
|
|
||||||
let showAccept = false;
|
let showAccept = false;
|
||||||
@ -35,9 +47,17 @@
|
|||||||
6) POST: /api/v1/cancelOrder
|
6) POST: /api/v1/cancelOrder
|
||||||
*/
|
*/
|
||||||
// let tries = 0;
|
// let tries = 0;
|
||||||
|
|
||||||
|
// indexes in reqs: [0] - Имя; [1] - cardnumber; [2] - phone
|
||||||
|
|
||||||
|
let orderAmount = "";
|
||||||
|
let currency = "";
|
||||||
|
|
||||||
|
let orderCreationTime = "0";
|
||||||
|
|
||||||
let tokenURL = "";
|
let tokenURL = "";
|
||||||
let orderID = "";
|
let orderID = "";
|
||||||
let invalidURL = true;
|
let invalidURL = false;
|
||||||
let validJWT = false;
|
let validJWT = false;
|
||||||
async function getTokenFromURL() {
|
async function getTokenFromURL() {
|
||||||
const queryString = window.location.search;
|
const queryString = window.location.search;
|
||||||
@ -49,14 +69,17 @@
|
|||||||
validateJWT(tokenURL);
|
validateJWT(tokenURL);
|
||||||
// //console.log();
|
// //console.log();
|
||||||
if (validJWT !== true) {
|
if (validJWT !== true) {
|
||||||
sayError("Неверный ID заявки");
|
// sayError("Неверный ID заявки");
|
||||||
|
console.error("ID error");
|
||||||
|
invalidURL = true;
|
||||||
} else {
|
} else {
|
||||||
await getOrderStatus();
|
await getOrderStatus();
|
||||||
//console.log(orderStatus);
|
//console.log(orderStatus);
|
||||||
|
// getPaymentMethods(); //delete it
|
||||||
switch (orderStatus) {
|
switch (orderStatus) {
|
||||||
case 1:
|
case 1:
|
||||||
getPaymentMethods();
|
getPaymentMethods();
|
||||||
|
showBankSelection = true;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
showReject = true;
|
showReject = true;
|
||||||
@ -69,15 +92,16 @@
|
|||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
getPaymentMethods();
|
getPaymentMethods();
|
||||||
|
startPingingStatus();
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
showTimeout = true;
|
showTimeout = true; //uncomment
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
invalidURL = false;
|
invalidURL = false;
|
||||||
|
// showBankSelection = true; //delete it
|
||||||
// getPaymentMethods();
|
// getPaymentMethods();
|
||||||
}
|
}
|
||||||
// //console.log(urlParams.get("token"));
|
// //console.log(urlParams.get("token"));
|
||||||
@ -88,7 +112,8 @@
|
|||||||
try {
|
try {
|
||||||
let t = jwtDecode(token);
|
let t = jwtDecode(token);
|
||||||
orderID = t["order_id"];
|
orderID = t["order_id"];
|
||||||
// //console.log(t);
|
currency = t["out_currency_code"];
|
||||||
|
console.log(t);
|
||||||
validJWT = true;
|
validJWT = true;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
validJWT = false;
|
validJWT = false;
|
||||||
@ -102,7 +127,7 @@
|
|||||||
const originalDate = parseISO(src);
|
const originalDate = parseISO(src);
|
||||||
//console.log(originalDate);
|
//console.log(originalDate);
|
||||||
|
|
||||||
const newDate = addMinutes(originalDate, 10);
|
const newDate = addMinutes(originalDate, 3);
|
||||||
timeLeftInterval = setInterval(() => {
|
timeLeftInterval = setInterval(() => {
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
const minutes = differenceInMinutes(newDate, now);
|
const minutes = differenceInMinutes(newDate, now);
|
||||||
@ -113,8 +138,7 @@
|
|||||||
const formattedSeconds = String(seconds).padStart(2, "0");
|
const formattedSeconds = String(seconds).padStart(2, "0");
|
||||||
|
|
||||||
timeLeft = `${formattedMinutes}:${formattedSeconds}`;
|
timeLeft = `${formattedMinutes}:${formattedSeconds}`;
|
||||||
if(timeLeft === "00:00" || timeLeft.includes("-"))
|
if (timeLeft === "00:00" || timeLeft.includes("-")) {
|
||||||
{
|
|
||||||
orderStatus = 6;
|
orderStatus = 6;
|
||||||
showTimeout = true;
|
showTimeout = true;
|
||||||
clearInterval(timeLeftInterval);
|
clearInterval(timeLeftInterval);
|
||||||
@ -132,6 +156,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
let selectedBank = "";
|
let selectedBank = "";
|
||||||
|
let selectedBankName = "";
|
||||||
let depositTimeLeft = 60; //seconds
|
let depositTimeLeft = 60; //seconds
|
||||||
let totalDepositTimeLeft = 600; //seconds
|
let totalDepositTimeLeft = 600; //seconds
|
||||||
let requestingReqs = false;
|
let requestingReqs = false;
|
||||||
@ -207,7 +232,7 @@
|
|||||||
|
|
||||||
let checkCaptchaInterval = setInterval(() => {
|
let checkCaptchaInterval = setInterval(() => {
|
||||||
const form = document.getElementById(
|
const form = document.getElementById(
|
||||||
"8d895e75b7a0def7699e6c4d7cd54c51d9844775bd5fd5e8e3d34748",
|
"8d895e75b7a0def7699e6c4d7cd54c51d9844775bd5fd5e8e3d34748"
|
||||||
);
|
);
|
||||||
const captchaInput = form.querySelector("input");
|
const captchaInput = form.querySelector("input");
|
||||||
try {
|
try {
|
||||||
@ -242,19 +267,22 @@
|
|||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
paymentMethods = result.data.data;
|
paymentMethods = result.data.data ?? [];
|
||||||
showBankSelection = true;
|
// showBankSelection = true;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
sayError("Не удалось получить доступные банки. Ошибка #8787");
|
// sayError("");
|
||||||
|
invalidURL = true;
|
||||||
|
// sayError("Не удалось получить доступные банки");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// getPaymentMethods();
|
// getPaymentMethods();
|
||||||
|
|
||||||
let requisites = [];
|
let requisites = [];
|
||||||
async function getRequisites() {
|
async function getRequisites() {
|
||||||
|
showBankSelection = false;
|
||||||
requestingReqs = true;
|
requestingReqs = true;
|
||||||
disableGetReqBtn = true;
|
disableGetReqBtn = true;
|
||||||
await delay(2000);
|
await delay(1500);
|
||||||
try {
|
try {
|
||||||
let result = await axios.post(
|
let result = await axios.post(
|
||||||
apiBase + "getRequisites",
|
apiBase + "getRequisites",
|
||||||
@ -266,18 +294,23 @@
|
|||||||
Authorization: "Bearer " + tokenURL,
|
Authorization: "Bearer " + tokenURL,
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
},
|
},
|
||||||
},
|
}
|
||||||
);
|
);
|
||||||
requestingReqs = false;
|
requestingReqs = false;
|
||||||
requisites = result.data["requisite"];
|
requisites = result.data["requisite"] ?? [];
|
||||||
|
orderAmount = result.data["amount"];
|
||||||
// console.log(result);
|
// console.log(result);
|
||||||
showReqs = true;
|
showReqs = true;
|
||||||
|
startPingingStatus();
|
||||||
calculateDate(result.data["requisite_creation_time"]);
|
calculateDate(result.data["requisite_creation_time"]);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
sayError("Срок заявки истёк");
|
// sayError("Срок платежа истёк");
|
||||||
showTimeout = true;
|
showTimeout = true;
|
||||||
orderStatus = 6;
|
orderStatus = 6;
|
||||||
}
|
}
|
||||||
|
// requestingReqs = false; // delete it
|
||||||
|
// showReqs = true; //delete it
|
||||||
|
// requisites = ["Бектур Г.", "2342234223422342", "897653453434"]; //delete it
|
||||||
}
|
}
|
||||||
// getRequisites();
|
// getRequisites();
|
||||||
|
|
||||||
@ -311,6 +344,7 @@
|
|||||||
|
|
||||||
selectedBank = result.data["bank_id"] + "";
|
selectedBank = result.data["bank_id"] + "";
|
||||||
requisites = result.data["requisite"];
|
requisites = result.data["requisite"];
|
||||||
|
orderAmount = result.data["amount"];
|
||||||
calculateDate(result.data["requisite_creation_time"]);
|
calculateDate(result.data["requisite_creation_time"]);
|
||||||
disableGetReqBtn = true;
|
disableGetReqBtn = true;
|
||||||
|
|
||||||
@ -328,9 +362,20 @@
|
|||||||
// getOrderStatus();
|
// getOrderStatus();
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
// orderAmount = "777777"; //delete it
|
||||||
}
|
}
|
||||||
let value_disputeSum = 0;
|
let value_disputeSum = 0;
|
||||||
async function loadReceipt() {
|
async function loadReceipt() {
|
||||||
|
console.log(";");
|
||||||
|
|
||||||
|
if (Number(value_disputeSum) < 350) {
|
||||||
|
sayError((lang === 'kgz' ? "Чыныгы сумманы киргизиңиз!":"Укажите верную сумму!"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (document.getElementById("loaded-file").files.length < 1) {
|
||||||
|
sayError((lang === 'kgz' ? "Файлды тиркөө!":"Загрузите файл!"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
let file = document.getElementById("loaded-file").files[0];
|
let file = document.getElementById("loaded-file").files[0];
|
||||||
// formData.append("uuid", orderID);
|
// formData.append("uuid", orderID);
|
||||||
@ -344,64 +389,68 @@
|
|||||||
});
|
});
|
||||||
// //console.log(result);
|
// //console.log(result);
|
||||||
if (result.status > 300) {
|
if (result.status > 300) {
|
||||||
sayError("Что-то пошло не так");
|
sayError((lang === 'kgz' ? "Талаш ачык эмес":"Не удалось открыть спор"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
sayInfo("Успешно!");
|
sayInfo((lang === 'kgz' ? "Ийгиликтүү!":"Успешно!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
async function createDispute() {
|
// async function createDispute() {
|
||||||
let result = await axios.post(
|
// let result = await axios.post(
|
||||||
apiBase + "createDispute",
|
// apiBase + "createDispute",
|
||||||
{
|
// {
|
||||||
//data
|
// //data
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
headers: {
|
// headers: {
|
||||||
Authorization: "Bearer " + "jwt",
|
// Authorization: "Bearer " + "jwt",
|
||||||
"Content-Type": "application/json",
|
// "Content-Type": "application/json",
|
||||||
},
|
// },
|
||||||
},
|
// }
|
||||||
);
|
// );
|
||||||
// //console.log(result);
|
// // //console.log(result);
|
||||||
}
|
// }
|
||||||
|
|
||||||
async function choosePaymentMethod() {
|
// async function choosePaymentMethod() {
|
||||||
let result = await axios.post(
|
// let result = await axios.post(
|
||||||
apiBase + "choosePaymentMethod",
|
// apiBase + "choosePaymentMethod",
|
||||||
{
|
// {
|
||||||
//data
|
// //data
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
headers: {
|
// headers: {
|
||||||
Authorization: "Bearer " + "jwt",
|
// Authorization: "Bearer " + "jwt",
|
||||||
"Content-Type": "application/json",
|
// "Content-Type": "application/json",
|
||||||
},
|
// },
|
||||||
},
|
// }
|
||||||
);
|
// );
|
||||||
//console.log(result);
|
// //console.log(result);
|
||||||
}
|
// }
|
||||||
|
|
||||||
async function cancelOrder() {
|
async function cancelOrder() {
|
||||||
let result = await axios.post(
|
try {
|
||||||
apiBase + "cancelOrder",
|
let result = await axios.post(
|
||||||
{
|
apiBase + "cancelOrder",
|
||||||
//data
|
{
|
||||||
},
|
|
||||||
{
|
|
||||||
headers: {
|
|
||||||
Authorization: "Bearer " + tokenURL,
|
|
||||||
"Content-Type": "application/json",
|
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
);
|
headers: {
|
||||||
//console.log(result);
|
Authorization: "Bearer " + tokenURL,
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
window.location.reload();
|
||||||
|
} catch (error) {
|
||||||
|
sayError((lang === 'kgz' ? "Төлөмдү жокко чыгаруу мүмкүн болгон жок":"Не удалось отменить платёж!"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function copyToClipboard(val) {
|
async function copyToClipboard(val) {
|
||||||
try {
|
try {
|
||||||
await navigator.clipboard.writeText(val);
|
await navigator.clipboard.writeText(val);
|
||||||
sayInfo("Скопировано!");
|
sayInfo((lang === 'kgz' ? "Көчүрүлдү":"Скопировано!"));
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
//console.error("Failed to copy: ", err);
|
//console.error("Failed to copy: ", err);
|
||||||
}
|
}
|
||||||
@ -446,9 +495,258 @@
|
|||||||
await delay(1500);
|
await delay(1500);
|
||||||
ping();
|
ping();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let showOpenDisputeForDumbs = false;
|
||||||
|
|
||||||
|
let copiedCard = false;
|
||||||
|
let copiedPhone = false;
|
||||||
|
|
||||||
|
const langMap = {
|
||||||
|
"kgz": "Кыргызский",
|
||||||
|
"rus": "Русский"
|
||||||
|
};
|
||||||
|
|
||||||
|
let lang = "kgz";
|
||||||
|
|
||||||
|
// showReject = true;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<div class="fixed z-[5] top-0 left-0 right-0 pointer-events-none flex justify-center gap-2">
|
||||||
|
<button class="btn btn-outline btn-sm mt-1 justify-center items-center pointer-events-auto"
|
||||||
|
on:click={()=>{
|
||||||
|
lang = 'kgz';
|
||||||
|
}}>
|
||||||
|
<Kgzsvg />
|
||||||
|
{langMap['kgz']}</button>
|
||||||
|
<button class="btn btn-outline btn-sm mt-1 justify-center items-center pointer-events-auto"
|
||||||
|
on:click={()=>{
|
||||||
|
lang = 'rus';
|
||||||
|
}}>
|
||||||
|
<Russvg />
|
||||||
|
{langMap['rus']}</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{#if !invalidURL && !showAccept && !showComplete && !showReject}
|
||||||
|
<div
|
||||||
|
class="fixed inset-0 flex flex-col items-center font-onest overflow-y-auto"
|
||||||
|
>
|
||||||
|
<div class="p-8 rounded-md flex flex-col items-center min-h-[80%]">
|
||||||
|
<p class="text-sm mt-4">{lang === 'kgz' ? "Төлөм номери":"Номер платежа"}</p>
|
||||||
|
<p class="text-sm">{orderID}</p>
|
||||||
|
{#if Number(orderAmount) !== 0 || Number(orderAmount)}
|
||||||
|
<p
|
||||||
|
class={(orderAmount.length > 6 ? "text-4xl" : "text-5xl") +
|
||||||
|
" font-bold mt-4"}
|
||||||
|
>
|
||||||
|
{Number(orderAmount)}
|
||||||
|
{currency}
|
||||||
|
</p>
|
||||||
|
{/if}
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
if (window.confirm((lang === 'kgz' ? "Төлөмдү жокко чыгаргыңыз келгенине ишенимдүүсүзбү?":"Вы уверены, что хотите отменить платёж?"))) {
|
||||||
|
cancelOrder();
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
class="btn btn-outline btn-error btn-sm mt-4">{lang === 'kgz' ? "Төлөмдү жокко чыгаруу":"Отменить платёж"}</button
|
||||||
|
>
|
||||||
|
<!-- {#if showBankSelection} -->
|
||||||
|
{#if showBankSelection}
|
||||||
|
<p class="mt-4">{lang === 'kgz' ? "Төлөм үчүн банкты тандаңыз":"Выберите банк для платежа"}</p>
|
||||||
|
<div class="flex flex-col p-4 w-full gap-1">
|
||||||
|
{#if paymentMethods.length >= 1}
|
||||||
|
{#each paymentMethods as pm}
|
||||||
|
<div class="flex max-h-[60px] w-full">
|
||||||
|
<button
|
||||||
|
on:click={async () => {
|
||||||
|
selectedBank = pm["bank_id"];
|
||||||
|
selectedBankName = pm["bank_name"];
|
||||||
|
await sleep(300);
|
||||||
|
getRequisites();
|
||||||
|
}}
|
||||||
|
class={"btn btn-outline h-auto p-2 flex items-center justify-center w-full border-2 " +
|
||||||
|
(selectedBank === pm["bank_id"] ? "btn-success" : "")}
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="flex justify-center items-center max-w-[150px] max-h-[100%] overflow-hidden pointer-events-none"
|
||||||
|
>
|
||||||
|
{@html pm["icon"]}
|
||||||
|
</div>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
{/each}
|
||||||
|
{:else}
|
||||||
|
<span class="loading loading-lg self-center"></span>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
{:else if requestingReqs}
|
||||||
|
<p class="mt-4">{lang === 'kgz' ? "Реквизиттерди күтүңүз":"Ожидайте реквизитов"}</p>
|
||||||
|
<span class="loading loading-lg self-center"></span>
|
||||||
|
{:else if showReqs}
|
||||||
|
<p class="mt-4 text-error font-semibold text-center">
|
||||||
|
{lang === 'kgz' ? "Көрсөтүлгөн сумманы бир төлөм менен төлөңүз! Туура эмес сумма кайтарылбайт!":"Переведите указанную сумму одним платежом! Неверная сумма возврату не подлежит!"}
|
||||||
|
</p>
|
||||||
|
<!-- <p class="mt-4 text-sm opacity-50 self-start">Банк</p>
|
||||||
|
<p class="self-start text-xl font-bold">{selectedBankName}</p> -->
|
||||||
|
<p class="mt-4 text-sm opacity-50 self-start">{lang === 'kgz' ? "Карта номери":"Номер карты"}</p>
|
||||||
|
<div class="flex self-start gap-2 items-center">
|
||||||
|
<p class="self-start text-xl font-bold">{requisites[1]}</p>
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
copiedCard = true;
|
||||||
|
copyToClipboard(requisites[1]);
|
||||||
|
}}
|
||||||
|
class={"btn btn-outline btn-xs " + (copiedCard ? "btn-success" : "")}
|
||||||
|
>{#if !copiedCard}
|
||||||
|
<CopyIcon size={"12"} />
|
||||||
|
{:else}
|
||||||
|
<CheckIcon size={"12"} />
|
||||||
|
{/if}</button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<p class="mt-4 text-sm opacity-50 self-start">{lang === 'kgz' ? "Телефон номери":"Номер телефона"}</p>
|
||||||
|
<!-- indexes in reqs: [0] - Имя; [1] - cardnumber; [2] - phone -->
|
||||||
|
<div class="flex self-start gap-2 items-center">
|
||||||
|
<p class="self-start text-xl font-bold">{requisites[2]}</p>
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
copiedPhone = true;
|
||||||
|
copyToClipboard(requisites[2]);
|
||||||
|
}}
|
||||||
|
class={"btn btn-outline btn-xs " + (copiedPhone ? "btn-success" : "")}
|
||||||
|
>
|
||||||
|
{#if !copiedPhone}
|
||||||
|
<CopyIcon size={"12"} />
|
||||||
|
{:else}
|
||||||
|
<CheckIcon size={"12"} />
|
||||||
|
{/if}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<p class="mt-4 text-sm opacity-50 self-start">{lang === 'kgz' ? "Алуучу":"Получатель"}</p>
|
||||||
|
<p class="self-start text-xl font-bold">{requisites[0]}</p>
|
||||||
|
<p class="flex items-center gap-2 mt-4">
|
||||||
|
{lang === 'kgz' ? "Каражаттын түшүүсүн күтүү":"Ожидание поступления средств"} <span class="loading loading-sm"></span>
|
||||||
|
</p>
|
||||||
|
<p class="flex items-center gap-2 mt-4">{lang === 'kgz' ? "Төлөө убактысы":"Время на оплату"}: {timeLeft}</p>
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
showHelpSection = true;
|
||||||
|
}}
|
||||||
|
class="btn btn-outline mt-4">{lang === 'kgz' ? "Диспут ачуу (каражаттын түшүүсүндө көйгөйлөр)":"Открыть спор"}</button
|
||||||
|
>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{#if showHelpSection}
|
||||||
|
<div
|
||||||
|
class="fixed inset-0 z-[100] flex flex-col items-center justify-center font-onest overflow-y-auto bg-base-300"
|
||||||
|
>
|
||||||
|
<div class="p-8 rounded-md flex flex-col">
|
||||||
|
<p>{lang === 'kgz' ? "Сиз которгон сумманы көрсөтүңүз":"Укажите сумму, которую Вы перевели"}</p>
|
||||||
|
<input
|
||||||
|
type="number"
|
||||||
|
bind:value={value_disputeSum}
|
||||||
|
class="input input-bordered"
|
||||||
|
/>
|
||||||
|
<p class="mt-4">{lang==='kgz' ? "Төлөмдү тастыкташ үчүн, чекти жүктөңүз":"Загрузите чек, чтобы мы могли подтвердить платёж"}</p>
|
||||||
|
<input
|
||||||
|
type="file"
|
||||||
|
id="loaded-file"
|
||||||
|
class="file-input w-full max-w-xs"
|
||||||
|
accept=".png, .jpg, .jpeg, .pdf"
|
||||||
|
/>
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
loadReceipt();
|
||||||
|
}}
|
||||||
|
class="btn btn-success mt-4">{lang==='kgz' ? "Жөнөтүү":"Отправить"}</button
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
showHelpSection = false;
|
||||||
|
}}
|
||||||
|
class="btn mt-1">{lang==='kgz' ? "Артка":"Назад"}</button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
|
||||||
{#if invalidURL}
|
{#if invalidURL}
|
||||||
|
<div
|
||||||
|
class="fixed inset-0 overflow-auto flex flex-col justify-center items-center gap-4 p-8 bg-base-100"
|
||||||
|
>
|
||||||
|
<div class="flex flex-col justify-center items-center gap-4">
|
||||||
|
<XCircleIcon size={"48"} class={"text-error"} />
|
||||||
|
<p class="text-center font-semibold">
|
||||||
|
{lang==='kgz' ? "Биз мындай номер менен төлөм таба албадык":"Мы не смогли найти платёж с таким номером"}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{#if showAccept}
|
||||||
|
<div
|
||||||
|
class="fixed inset-0 overflow-auto flex flex-col justify-center items-center gap-4 p-8 bg-base-100"
|
||||||
|
>
|
||||||
|
<div class="flex flex-col gap-1 justify-center items-center">
|
||||||
|
<CheckCircleIcon size={"48"} class="text-success" />
|
||||||
|
<p class="text-xl font-bold">{lang==='kgz' ? "Төлөм аткарылды":"Платёж исполнен"}</p>
|
||||||
|
<p class="text-sm mt-2">{lang==='kgz' ? "Төлөм номери":"Номер платежа"}</p>
|
||||||
|
<p class="text-sm">{orderID}</p>
|
||||||
|
<p class="text-sm mt-2">E-mail: support@24paymentgateway.ru</p>
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
showHelpSection = true;
|
||||||
|
}}
|
||||||
|
class="btn btn-outline mt-4">{lang === 'kgz' ? "Диспут ачуу (каражаттын түшүүсүндө көйгөйлөр)":"Открыть спор"}</button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{#if showTimeout}
|
||||||
|
<div
|
||||||
|
class="fixed inset-0 overflow-auto flex flex-col justify-center items-center gap-4 p-8 bg-base-100"
|
||||||
|
>
|
||||||
|
<div class="flex flex-col justify-center items-center">
|
||||||
|
<ClockIcon size={"48"} class="text-error" />
|
||||||
|
<p class="text-xl font-bold">{lang==='kgz' ? "Төлөмдүн убактысы бүттү":"Время платежа истекло"}</p>
|
||||||
|
<p class="text-sm mt-4">{lang==='kgz' ? "Төлөм номери":"Номер платежа"}</p>
|
||||||
|
<p class="text-sm">{orderID}</p>
|
||||||
|
<p class="text-sm mt-4">E-mail: support@24paymentgateway.ru</p>
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
showHelpSection = true;
|
||||||
|
}}
|
||||||
|
class="btn btn-outline mt-4">{lang === 'kgz' ? "Диспут ачуу (каражаттын түшүүсүндө көйгөйлөр)":"Открыть спор"}</button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{#if showReject}
|
||||||
|
<div
|
||||||
|
class="fixed inset-0 overflow-auto flex flex-col justify-center items-center gap-4 p-8 bg-base-100"
|
||||||
|
>
|
||||||
|
<div class="flex flex-col justify-center items-center">
|
||||||
|
<XOctagonIcon size={"48"} class="text-error" />
|
||||||
|
<p class="text-xl font-bold">{lang==='kgz' ? "Төлөм четке кагылды":"Платёж отклонён"}</p>
|
||||||
|
<p class="text-sm mt-4">{lang==='kgz' ? "Төлөм номери":"Номер платежа"}</p>
|
||||||
|
<p class="text-sm">{orderID}</p>
|
||||||
|
<p class="text-sm mt-4">E-mail: support@24paymentgateway.ru</p>
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
showHelpSection = true;
|
||||||
|
}}
|
||||||
|
class="btn btn-outline mt-4">{lang === 'kgz' ? "Диспут ачуу (каражаттын түшүүсүндө көйгөйлөр)":"Открыть спор"}</button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
<!-- {#if invalidURL}
|
||||||
<div
|
<div
|
||||||
class="fixed inset-0 bg-slate-950 w-full min-h-screen overflow-auto flex flex-col justify-center items-center gap-4 p-8 text-white"
|
class="fixed inset-0 bg-slate-950 w-full min-h-screen overflow-auto flex flex-col justify-center items-center gap-4 p-8 text-white"
|
||||||
>
|
>
|
||||||
@ -544,6 +842,16 @@
|
|||||||
{#if !showHelpSection}
|
{#if !showHelpSection}
|
||||||
<div class="w-full flex p-8 rounded-3xl bg-indigo-950">
|
<div class="w-full flex p-8 rounded-3xl bg-indigo-950">
|
||||||
<div class="flex flex-col gap-2 w-full">
|
<div class="flex flex-col gap-2 w-full">
|
||||||
|
<p
|
||||||
|
class="font-bold text-green-500 text-2xl p-2 bg-black rounded-md"
|
||||||
|
>
|
||||||
|
Переведите точную сумму одним платежом: {orderAmount}{currency}
|
||||||
|
</p>
|
||||||
|
<p
|
||||||
|
class="font-bold text-red-500 text-2xl p-2 bg-black rounded-md"
|
||||||
|
>
|
||||||
|
Неверная сумма перевода возврату не подлежит!
|
||||||
|
</p>
|
||||||
<p class="text-lg">Реквизиты</p>
|
<p class="text-lg">Реквизиты</p>
|
||||||
<div
|
<div
|
||||||
class="flex mt-2 w-full gap-4 items-center justify-center p-2 bg-indigo-900 rounded-xl"
|
class="flex mt-2 w-full gap-4 items-center justify-center p-2 bg-indigo-900 rounded-xl"
|
||||||
@ -634,8 +942,6 @@
|
|||||||
<p class="text-xl font-semibold">Загружен файл: {loadedFile}</p>
|
<p class="text-xl font-semibold">Загружен файл: {loadedFile}</p>
|
||||||
<button
|
<button
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
// window.open("https://www.google.com", "__blank");
|
|
||||||
|
|
||||||
showLoadingScreen = true;
|
showLoadingScreen = true;
|
||||||
loadReceipt();
|
loadReceipt();
|
||||||
}}
|
}}
|
||||||
@ -693,10 +999,6 @@
|
|||||||
class="flex flex-col items-center w-full flex-grow-0 bg-slate-900 p-8 gap-2 rounded-3xl"
|
class="flex flex-col items-center w-full flex-grow-0 bg-slate-900 p-8 gap-2 rounded-3xl"
|
||||||
>
|
>
|
||||||
<div class="flex items-center justify-start gap-2 text-lg">
|
<div class="flex items-center justify-start gap-2 text-lg">
|
||||||
<p class="text-white text-lg">
|
|
||||||
<a class="underline" href="https://t.me/hosta_pay">@hosta_pay</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-start gap-2 text-lg">
|
<div class="flex items-center justify-start gap-2 text-lg">
|
||||||
<p>support@24paymentgateway.ru</p>
|
<p>support@24paymentgateway.ru</p>
|
||||||
@ -725,12 +1027,6 @@
|
|||||||
<div class="flex justify-end gap-8">
|
<div class="flex justify-end gap-8">
|
||||||
<button
|
<button
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
// requestingReqs = false;
|
|
||||||
// showReqs = false;
|
|
||||||
// stopTimer();
|
|
||||||
// stopTotalTimer();
|
|
||||||
// showAlertQuit = false;
|
|
||||||
// window.open("https://www.google.com", "__blank");
|
|
||||||
cancelOrder();
|
cancelOrder();
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
}}
|
}}
|
||||||
@ -764,14 +1060,15 @@
|
|||||||
Это не займет много времени
|
Это не займет много времени
|
||||||
</p>
|
</p>
|
||||||
<p class="text-white opacity-50 text-sm mt-1">Номер платежа: {orderID}</p>
|
<p class="text-white opacity-50 text-sm mt-1">Номер платежа: {orderID}</p>
|
||||||
<p class="text-white opacity-50 text-sm mt-1">
|
|
||||||
Телеграм: <a class="underline" href="https://t.me/hosta_pay"
|
|
||||||
>@hosta_pay</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p class="text-white opacity-50 text-sm">
|
<p class="text-white opacity-50 text-sm">
|
||||||
Почта: support@24paymentgateway.ru
|
Почта: support@24paymentgateway.ru
|
||||||
</p>
|
</p>
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
showOpenDisputeForDumbs = true;
|
||||||
|
}}
|
||||||
|
class="btn btn-outline mt-4">Чтобы открыть спор, нажмите сюда</button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
@ -798,14 +1095,15 @@
|
|||||||
</svg>
|
</svg>
|
||||||
<p class="text-xl font-bold">Заявка исполнена</p>
|
<p class="text-xl font-bold">Заявка исполнена</p>
|
||||||
<p class="text-white opacity-50 text-sm">Номер платежа: {orderID}</p>
|
<p class="text-white opacity-50 text-sm">Номер платежа: {orderID}</p>
|
||||||
<p class="text-white opacity-50 text-sm">
|
|
||||||
Телеграм: <a class="underline" href="https://t.me/hosta_pay"
|
|
||||||
>@hosta_pay</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p class="text-white opacity-50 text-sm">
|
<p class="text-white opacity-50 text-sm">
|
||||||
Почта: support@24paymentgateway.ru
|
Почта: support@24paymentgateway.ru
|
||||||
</p>
|
</p>
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
showOpenDisputeForDumbs = true;
|
||||||
|
}}
|
||||||
|
class="btn btn-outline mt-4">Чтобы открыть спор, нажмите сюда</button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{:else if showTimeout}
|
{:else if showTimeout}
|
||||||
@ -830,14 +1128,15 @@
|
|||||||
</svg>
|
</svg>
|
||||||
<p class="text-xl font-bold">Время заявки истекло</p>
|
<p class="text-xl font-bold">Время заявки истекло</p>
|
||||||
<p class="text-white opacity-50 text-sm">Номер платежа: {orderID}</p>
|
<p class="text-white opacity-50 text-sm">Номер платежа: {orderID}</p>
|
||||||
<p class="text-white opacity-50 text-sm">
|
|
||||||
Телеграм: <a class="underline" href="https://t.me/hosta_pay"
|
|
||||||
>@hosta_pay</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p class="text-white opacity-50 text-sm">
|
<p class="text-white opacity-50 text-sm">
|
||||||
Почта: support@24paymentgateway.ru
|
Почта: support@24paymentgateway.ru
|
||||||
</p>
|
</p>
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
showOpenDisputeForDumbs = true;
|
||||||
|
}}
|
||||||
|
class="btn btn-outline mt-4">Чтобы открыть спор, нажмите сюда</button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{:else if showReject}
|
{:else if showReject}
|
||||||
@ -861,29 +1160,66 @@
|
|||||||
</svg>
|
</svg>
|
||||||
<p class="text-xl font-bold">Заявка отклонена</p>
|
<p class="text-xl font-bold">Заявка отклонена</p>
|
||||||
<p class="text-white opacity-50 text-sm">Номер платежа: {orderID}</p>
|
<p class="text-white opacity-50 text-sm">Номер платежа: {orderID}</p>
|
||||||
<p class="text-white opacity-50 text-sm">
|
|
||||||
Телеграм: <a class="underline" href="https://t.me/hosta_pay"
|
|
||||||
>@hosta_pay</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p class="text-white opacity-50 text-sm">
|
<p class="text-white opacity-50 text-sm">
|
||||||
Почта: support@24paymentgateway.ru
|
Почта: support@24paymentgateway.ru
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <svg width="800px" height="800px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
|
||||||
|
|
||||||
<title>cross-circle</title>
|
|
||||||
<desc>Created with Sketch Beta.</desc>
|
|
||||||
<defs>
|
|
||||||
|
|
||||||
</defs>
|
|
||||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
|
||||||
<g id="Icon-Set" sketch:type="MSLayerGroup" transform="translate(-568.000000, -1087.000000)" fill="#000000">
|
|
||||||
<path d="M584,1117 C576.268,1117 570,1110.73 570,1103 C570,1095.27 576.268,1089 584,1089 C591.732,1089 598,1095.27 598,1103 C598,1110.73 591.732,1117 584,1117 L584,1117 Z M584,1087 C575.163,1087 568,1094.16 568,1103 C568,1111.84 575.163,1119 584,1119 C592.837,1119 600,1111.84 600,1103 C600,1094.16 592.837,1087 584,1087 L584,1087 Z M589.717,1097.28 C589.323,1096.89 588.686,1096.89 588.292,1097.28 L583.994,1101.58 L579.758,1097.34 C579.367,1096.95 578.733,1096.95 578.344,1097.34 C577.953,1097.73 577.953,1098.37 578.344,1098.76 L582.58,1102.99 L578.314,1107.26 C577.921,1107.65 577.921,1108.29 578.314,1108.69 C578.708,1109.08 579.346,1109.08 579.74,1108.69 L584.006,1104.42 L588.242,1108.66 C588.633,1109.05 589.267,1109.05 589.657,1108.66 C590.048,1108.27 590.048,1107.63 589.657,1107.24 L585.42,1103.01 L589.717,1098.71 C590.11,1098.31 590.11,1097.68 589.717,1097.28 L589.717,1097.28 Z" id="cross-circle" sketch:type="MSShapeGroup">
|
|
||||||
|
|
||||||
</path>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg> -->
|
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
|
{#if showOpenDisputeForDumbs}
|
||||||
|
<div
|
||||||
|
class="fixed z-50 inset-0 bg-slate-950 flex justify-center items-center text-white"
|
||||||
|
>
|
||||||
|
<div class="flex flex-col gap-1 justify-center p-2">
|
||||||
|
<p class="text-xl">Укажите сумму (<span class="text-red-500">сумма меньше 350 не рассматривается!</span>):</p>
|
||||||
|
<input
|
||||||
|
bind:value={value_disputeSum}
|
||||||
|
type="number"
|
||||||
|
class="input input-bordered"
|
||||||
|
/>
|
||||||
|
<p class="text-xl mt-2">
|
||||||
|
Загрузите чек, чтобы мы могли подтвердить перевод
|
||||||
|
</p>
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
document.getElementById("loaded-file").click();
|
||||||
|
}}
|
||||||
|
class={"btn btn-info btn-outline min-w-[340px]"}>Загрузить чек</button
|
||||||
|
>
|
||||||
|
<p class="">Загружен файл: {loadedFile}</p>
|
||||||
|
{#if loadedFile !== ""}
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
// window.open("https://www.google.com", "__blank");
|
||||||
|
showLoadingScreen = true;
|
||||||
|
loadReceipt();
|
||||||
|
}}
|
||||||
|
disabled={loadedFile === ""}
|
||||||
|
class={"btn btn-success btn-outline btn-lg min-w-[340px]"}
|
||||||
|
>Открыть спор</button
|
||||||
|
>
|
||||||
|
{/if}
|
||||||
|
<input
|
||||||
|
on:change={(e) => {
|
||||||
|
loadedFile = e.target.files[0].name;
|
||||||
|
}}
|
||||||
|
id="loaded-file"
|
||||||
|
type="file"
|
||||||
|
hidden
|
||||||
|
accept=".png, .jpg, .jpeg, .pdf"
|
||||||
|
/>
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
value_disputeSum = 0;
|
||||||
|
try {
|
||||||
|
document.getElementById("loaded-file").value = "";
|
||||||
|
loadedFile = "";
|
||||||
|
} catch (error) {}
|
||||||
|
showOpenDisputeForDumbs = false;
|
||||||
|
}}
|
||||||
|
class={"btn btn-outline min-w-[340px] mt-2"}>Назад</button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/if} -->
|
||||||
|
@ -6,12 +6,15 @@ export default {
|
|||||||
theme: {
|
theme: {
|
||||||
extend: {
|
extend: {
|
||||||
fontFamily: {
|
fontFamily: {
|
||||||
ibm: ['"IBM Plex Sans"', ...defaultTheme.fontFamily.sans],
|
onest: ['Onest', 'sans-serif'],
|
||||||
// raleway: ['"Raleway"', ...defaultTheme.fontFamily.sans],
|
},
|
||||||
// robotoSlab: ['"Roboto Slab"', ...defaultTheme.fontFamily.sans],
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
plugins: [
|
||||||
|
require('daisyui'),
|
||||||
|
],
|
||||||
|
daisyui: {
|
||||||
|
themes: ["light"],
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user