Rename config vars. Add widget holder template and endpoint to serve it. Add dockerfile
This commit is contained in:
45
internal/templates/payouts-widget.html
Normal file
45
internal/templates/payouts-widget.html
Normal file
@@ -0,0 +1,45 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Payouts Page</title>
|
||||
<script src="https://yookassa.ru/payouts-data/{{ .WidgetVersion }}/widget.js"></script>
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="payout-form"></div>
|
||||
|
||||
<script>
|
||||
// Инициализация виджета. Все параметры обязательные.
|
||||
const payoutsData = new window.PayoutsData({
|
||||
type: 'payout',
|
||||
account_id: '{{ .ApiPayoutKey }}', // Идентификатор шлюза (agentId в личном кабинете)
|
||||
success_callback: function(data) {
|
||||
// https://yookassa.ru/developers/payouts/making-payouts/bank-card/using-payout-widget/implementing-widget#reference-output-parameters
|
||||
if (window.AndroidCallback) {
|
||||
window.AndroidCallback.onWidgetData(JSON.stringify(data));
|
||||
} else if (window.webkit && window.webkit.messageHandlers.iosCallback) {
|
||||
window.webkit.messageHandlers.iosCallback.onWidgetData(JSON.stringify(data));
|
||||
}
|
||||
},
|
||||
error_callback: function(error) {
|
||||
// https://yookassa.ru/developers/payouts/making-payouts/bank-card/using-payout-widget/implementing-widget#reference-output-parameters-error
|
||||
if (window.AndroidCallback) {
|
||||
window.AndroidCallback.onWidgetError(JSON.stringify(error));
|
||||
} else if (window.webkit && window.webkit.messageHandlers.iosCallback) {
|
||||
window.webkit.messageHandlers.iosCallback.onWidgetError(JSON.stringify(error));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//Отображение формы в контейнере
|
||||
payoutsData.render('payout-form')
|
||||
//Метод возвращает Promise, исполнение которого говорит о полной загрузке формы сбора данных (можно не использовать).
|
||||
.then(() => {
|
||||
//Код, который нужно выполнить после отображения формы.
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
11
internal/templates/templates.go
Normal file
11
internal/templates/templates.go
Normal file
@@ -0,0 +1,11 @@
|
||||
package templates
|
||||
|
||||
import (
|
||||
"embed"
|
||||
"html/template"
|
||||
)
|
||||
|
||||
//go:embed *.html
|
||||
var FS embed.FS
|
||||
|
||||
var Templates = template.Must(template.ParseFS(FS, "*.html"))
|
||||
Reference in New Issue
Block a user