Оплата Stripe-Vue POST 500 не выполнена - PullRequest
0 голосов
/ 28 мая 2018

Кажется, я что-то напутал с csrf_field (), но я толкнул X-CSRF-TOKEN ... У меня раньше была ошибка 419, но у меня возникли проблемы ...

Ошибка - POST / betaling 500 - Uncaught (в обещании) Ответ {url: "/ betaling", нормально: false, status: 500, statusText: "Internal Server Error", заголовки: Headers

Заголовок

<script>
var Cityofcompanies = {
    csrfToken: "{{ csrf_token() }}",
    stripeKey: "{{ config('services.stripe.key') }}"
};

Маршруты

Route::post('betaling', 'PaymentController@store')->name('payment');

App.js

window.Vue = require('vue');
require('vue-resource');


Vue.http.interceptors.push((request, next) => { 
    request.headers.set('X-CSRF-TOKEN', Cityofcompanies.csrfToken); 
    next(); 
});

Vue.component('CheckoutForm', 
require('./components/CheckoutForm.vue'));

CheckoutForm.vue

<template>
    <form action="/betaling" method="POST">
        <input type="hidden" name="stripeToken" v-model="stripeToken">
        <input type="hidden" name="stripeEmail" v-model="stripeEmail">
        <button type="submit" @click.prevent="buy">Abonneer</button>
    </form>
</template>

<script>
    export default {
        data() {
            return {
                stripeEmail: '',
                stripeToken: ''
            };

        },

        created() {
            this.stripe = StripeCheckout.configure({
                key: Cityofcompanies.stripeKey,
                image:"https://stripe.com/img/documentation/checkout/marketplace.png",
                locale: "auto",
                currency: "eur",
                token: (token) => {
                    this.stripeToken = token.id;
                    this.stripeEmail = token.email;

                    this.$http.post('/betaling', this.$data);
                        //.then(response => alert('Bedankt voor het abonneren!'));
                }
            });
        },

        methods: {
            buy() {
                this.stripe.open({
                    name: "Abonneer voor 1 jaar",
                    description: "Professional Version",
                    amount: 5000,
                });
            }
        }
    }
</script>

Show.blade.php

<div id="checkout">
    <checkout-form></checkout-form>
</div>
<script>
    window.onload = function () {
        const app = new Vue({
            el: '#checkout'
        });
    }
    </script>
<script src="https://checkout.stripe.com/checkout.js"></script>

1 Ответ

0 голосов
/ 28 мая 2018

Вам нужно просмотреть журналы для конечной точки /betaling, чтобы увидеть, в чем здесь может быть ошибка.

...