У меня есть следующий пример кода в проекте nuxtjs / vuejs
<template>
<v-app>
<div id="dibs-complete-checkout"></div>
</v-app>
</template>
<script>
export default {
head () {
return {
script: [
{ src: 'https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js' },
{ src: 'https://test.checkout.dibspayment.eu/v1/checkout.js?v=1' }
]
}
},
created () {
this.$axios.get('test/11').then((response) => {
var checkoutOptions = {
checkoutKey: response.data.checkOutKey,
paymentId: response.data.dibsPaymentId,
containerId: 'dibs-complete-checkout',
language: 'en-GB'
}
var checkout = new Dibs.Checkout(checkoutOptions)
checkout.on('payment-completed', function (response) {
})
checkout.on('pay-initialized', function (response) {
checkout.send('payment-order-finalized', true)
})
})
.catch((e) => {
console.error(e)
})
}
}
</script>
То, что там происходит, это:
- Загружен внешний скрипт от dibspayment.com
- В бэкэнд есть осевой вызов для возврата checkoutKey и paymentId, необходимый в объекте checkoutOptions
- Скрипт, загруженный с сайта dibspayment.com, содержит объект Dibs, у которого есть метод Checkout (checkoutOptions)
Сервер разработки работает по http.
Я получаю несколько ошибок. Один из них «Чур не определен»
./pages/index.vueModule Error (from ./node_modules/eslint-loader/index.js):C:\git\ssfta_web\pages\index.vue 29:28 error 'Dibs' is not defined no-undef✖ 1 problem (1 error, 0 warnings)
Что странно, потому что страница загружается и отображается внутри
Другая ошибка
OPTIONS https://test.checkout.dibspayment.eu/api/v1/theming/checkout 401 (Unauthorized)
И последняя ошибка
Access to XMLHttpRequest at 'https://test.checkout.dibspayment.eu/api/v1/theming/checkout' from origin 'http://10.0.75.1:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Я пробовал:
- Обращение в службу поддержки платежей DIBS, где ответы медленные и не дают никаких реальных советов (предоставив мне ссылку на страницу часто задаваемых вопросов верхнего уровня). Я подозреваю, что они используют свой отдел продаж, чтобы ответить на запросы.
- запуск по HTTPS, что еще хуже
- работает за обратным прокси-сервером nginx, имеющим ssl-сертификат, процесс запускает сам код через http, но nginx «конвертирует» (?) Его в https
- многочисленные град, которые сделали все хуже
Изображение текущей ситуации
У меня действительно нет вопросов, я просто надеюсь / подозреваю, что я забыл некоторые базовые конфигурации или детали, которые кто-то может обнаружить
Любой совет приветствуется.