-
Notifications
You must be signed in to change notification settings - Fork 33
Open
Labels
Description
Появилась проблема, которую я не могу решить.
При вызове формы оплаты: VKWebAppShowOrderBox вызывает catch промиса, в мобильной версии (m.vk.com), после попытки провести тестовый платеж. Возвращаемый объект:
{
"error_type": "client_error",
"error_data": {
"error_code": 1,
"error_reason": "Unknown error"
}
}
Пользователю демонстрируется диалог - "Произошла ошибка". При этом обмен с платежным шлюзом проходит и платеж передается успешно.
Bridge загружается по ссылке - https://unpkg.com/@vkontakte/vk-bridge/dist/browser.min.js
Полный код тестовой страницы:
<!DOCTYPE html>
<!-- Файл: test-pay.html -->
<html>
<head>
<title>Test VK Bridge</title>
<script src="https://unpkg.com/@vkontakte/vk-bridge/dist/browser.min.js"></script>
<style type="text/css">
body {
color: wheat;
background: #252525;
}
</style>
</head>
<body>
<h1>VK Bridge Pay Test</h1>
<div id="status" class="info">Testing VK Bridge...</div>
<button onclick="Payment()">Pay</button>
<script type="text/javascript">
function Payment() {
vkBridge.send('VKWebAppShowOrderBox', {
type: 'item',
item: 'one'
})
.then((data) => {
console.log(data);
})
.catch((error) => {
console.error('Payment error:', error);
});
}
// Тест 1: Проверка загрузки VK Bridge
if (typeof vkBridge === 'undefined') {
status.innerHTML = '<span class="error">VK Bridge NOT loaded</span>';
} else {
const status = document.getElementById('status');
status.innerHTML = '<span class="success">VK Bridge loaded</span>';
// Тест 2: Инициализация
vkBridge.send('VKWebAppInit', {})
.then((result)=>{
console.log(result);
status.innerHTML += '<br><span class="success">VKWebAppInit success</span>';
})
.catch((error)=>{
console.error(error);
status.innerHTML += `<br><span class="error">Error: ${error.message}</span>`;
});
}
</script>
</body>
</html>
Reactions are currently unavailable