【问题标题】:Stripe-Vue payment POST 500 uncaught in promiseStripe-Vue 支付 POST 500 未兑现承诺
【发布时间】:2018-11-07 06:51:29
【问题描述】:

我想我把 csrf_field() 搞砸了,但我确实推送了 X-CSRF-TOKEN...我之前遇到过 419 错误,但给自己带来了更多麻烦...

错误 - 发布/测试 500 - 未捕获(承诺中)响应 {url: "/betaling", ok: false, status: 500, statusText: "Internal Server Error", headers: 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>

【问题讨论】:

    标签: laravel vue.js stripe-payments


    【解决方案1】:

    您需要查看 /betaling 端点的日志以了解此处可能出现的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-17
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多