Я пытаюсь использовать Vue.js для моего внешнего интерфейса, чтобы вызвать Stripe и создать токен, который затем отправляется на мой бэкэнд. Я протестировал все, используя простой HTML / JS, и все работает нормально, моя проблема заключается в попытке использовать Vue.js. Я думаю, что моя проблема может заключаться в том, как я связываю открытый ключ чередования. Ниже приведен мой код, и у меня нулевой вывод, о котором я говорю, я просто перенаправлен на ту же страницу, но с ?
в конце URL. Ничего другого, консоль ничего не показывает и никаких сообщений об ошибках или что-либо отправить на мой сервер.
код шаблона
Существует больше, но не связано
<div class="col-md-8">
<card class='stripe-card col-md-8'
:class='{ complete }'
:stripe='stripeKey'
:options='stripeOptions'
@change='complete = $event.complete'
/>
<button class='pay-with-stripe' @click='pay' :disabled='!complete'>Submit Payment Details</button>
<br>
</div>
секция сценария с добавленным релятивом
import { Card, createToken } from 'vue-stripe-elements-plus'
import axios from 'axios';
export default {
components: { Card },
data() {
return {
errorMessage: null,
successMessage: null,
complete: false,
stripeKey: process.env.VUE_APP_STRIPE_PUB_KEY,
stripeOptions: {
// see https://stripe.com/docs/stripe.js#element-options for details
hidePostalCode: true
},
current: {
stripe: {
plan: null,
last4: null
}
},
}
},
methods: {
pay () {
createToken().then(result => {
axios.post('/billing/updateCard', {
token: result.token,
})
.then(res => {
if(res.data.success == true) {
this.successMessage = res.data.message
console.log(res.data.message)
}
if(res.data.success == false) {
this.errorMessage = res.data.message // Display error message from server if an error exists
}
})
.catch((err) => {
if(err) console.log(err)
if(err) this.$router.push('/company/settings?success=false')
})
});
}
}
}
</script>
Я проверил, что ключ API действительно находится в значении данных, выполнив <p>{{ stripeKey }}</p>
и увидев, как это значение отображается. Так что да, ключ есть, и ключ действителен (проверено копирование / вставка в мой тест HTML / JS)