forked from Maiskiy/maiskiy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
76 lines (69 loc) · 3.45 KB
/
index.html
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<!-- Подключаем скрипт CloudPayments на странице -->
{<head>
add_action( 'wp_enqueue_scripts', function() {
wp_enqueue_script( 'cp', 'https://checkout.cloudpayments.ru/checkout.js' );
</head>
<!-- Создаем HTML-форму для ввода данных карты -->
<form id="payment-form">
<label for="cardNumber">Номер карты</label>
<input type="text" id="cardNumber" name="cardNumber">
<label for="cardExp">Срок действия карты</label>
<input type="text" id="cardExp" name="cardExp">
<label for="cardCvc">CVC код</label>
<input type="text" id="cardCvc" name="cardCvc">
<label for="cardHolder">Имя владельца карты</label>
<input type="text" id="cardHolder" name="cardHolder">
<button type="button" id="pay-button">Оплатить</button>
</form>
<script>
// Функция обработки нажатия на кнопку оплаты
function pay() {
// Получаем данные карты из формы
const cardNumber = document.getElementById('cardNumber').value;
const cardExp = document.getElementById('cardExp').value;
const cardCvc = document.getElementById('cardCvc').value;
const cardHolder = document.getElementById('cardHolder').value;
// Создаем объект options для передачи данных карты в функцию CloudPayments.generateCryptogram
const options = {
publicId: 'pk_449f4dbb3b1e917d21fcee1a94804', // ID публичного ключа CloudPayments
cardNumber,
cardDate: cardExp.replace(/\s+/g, ''), // форматируем дату для передачи в функцию
cardSecurityCode: cardCvc,
cardHolderName: cardHolder // имя владельца карты
};
// Вызываем функцию CloudPayments.generateCryptogram для генерации криптограммы
CloudPayments.generateCryptogram(options, function (err, response) {
if (err) {
console.log(err);
alert('Ошибка при генерации криптограммы');
return;
}
// Извлекаем криптограмму из полученного объекта response
const cryptogram = response.cryptogram;
// Формируем тело запроса для отправки данных в Adalo через API
const data = {
"fields": {
"Cryptogram": cryptogram
}
};
// Отправляем данные с помощью fetch() и метода POST на URL базы данных Adalo
fetch('https://api.adalo.com/v0/apps/3fb1728c-b2e4-4f80-9d29-e445a92d801c/collections/t_4ih9comtkdl1h4noxzoo32ews', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer dczbshny3gtfxgea0i71w3l2s' // ключ API Adalo
},
body: JSON.stringify(data)
}).then(response => {
if (!response.ok) {
throw new Error('Ошибка при отправке данных в Adalo');
}
alert('Оплата прошла успешно');
})
.catch(error => {
console.log(error);
alert('Ошибка при отправке данных в Adalo');
});
});
}
// Назначаем обработчик события на кнопку оплат