Laravel нашивка и у кассира нет такого способа оплаты - PullRequest
0 голосов
/ 03 августа 2020

Я использую Laravel 7, и я интегрирую полосу с кассиром, и я столкнулся с проблемой

No such PaymentMethod: 'tok_1HBxFdEft5GkDC4v7ZnPgW5Y'

Я использую специальные формы оформления заказа Html код:

<form class="rt-formtheme rt-paymentmethodform" method="POST" action="{{route('subscripe.process')}}" id="subscribe-form">
                    @csrf
                    <div class="div-stripe-errors col-12" style="margin-top: 30px;"></div>
                    <fieldset>
                        <legend>Choose your card</legend>
                        <!-- <div class="form-group">
                            <button type="submit" class="rt-btn rt-savebtn">Save</button>
                        </div> -->
                        <div class="form-group">
                            <span class="rt-radio">
                                <input type="radio" name="radiobutton" id="visa">
                                <label for="visa"><img src="{{asset('images/visa.png')}}"  alt=""></label>
                            </span>
                        </div>
                        <div class="form-group">
                            <span class="rt-radio">
                                <input type="radio" name="radiobutton" id="american-express">
                                <label for="american-express"><img src="{{asset('images/american-express.png')}}"  alt=""></label>
                            </span>
                        </div>
                        <div class="form-group">
                            <label>Card Number</label>
                            <input type="text" name="cardnumber" class="form-control" placeholder="1234 5678 9012 3456" data-stripe="number">
                        </div>
                        <div class="rt-twocols">
                            <div class="form-group">
                                <div class="rt-twoinputfieldholder">
                                    <div class="rt-twoinputfieldbox">
                                        <label>Expiry Month</label>
                                        <input type="text" name="expirymonth" class="form-control" placeholder="MM" data-stripe="exp-month">
                                    </div>
                                    <div class="rt-twoinputfieldbox">
                                        <label>Expiry Year</label>
                                        <input type="text" name="expiryyear" class="form-control" placeholder="YY" data-stripe="exp-year">
                                    </div>
                                </div>
                            </div>
                            <div class="form-group">
                                <label>CVC</label>
                                <input type="text" name="cvv" class="form-control" placeholder="123" data-stripe="cvc">
                            </div>
                        </div>
                        <div class="form-group margin-zero rt-savecarddetailbox">
                            <span class="rt-checkbox">
                                <input type="checkbox" name="savecarddetail" id="savecarddetail">
                                <label for="savecarddetail">Save Card Details</label>
                            </span>
                            <button type="submit" class="rt-btn float-right">Checkout</button>
                        </div>
                    </fieldset>
                </form>

и js код:

<script src="https://js.stripe.com/v2/"></script>
<script>
Stripe.setPublishableKey('{{ env("STRIPE_KEY") }}');
$(document).ready(function(){
    $('#subscribe-form').submit(function(e){
        
        var form = $(this);
        
        form.find('button').prop('disabled', true);

        Stripe.card.createToken(form, function(status, response) {
            if (response.error) {
                form.find('.div-stripe-errors').text(response.error.message).addClass('alert alert-danger');
                form.find('button').prop('disabled', false);
            } else {
                // append the token to the form
                form.append($('<input type="hidden" name="cc_token">').val(response.id));
                // debugger
                // submit the form
                form.get(0).submit();
            }
        });

        e.preventDefault();
    });
});

Маршрут:

    Route::post('/subscribe_process', 'Dashboard\CheckoutController@subscribeProcess')->name('subscripe.process');

, а метод контроллера

public function subscribeProcess(Request $request)
{
    try{
        $cc_token = $request->cc_token;
        $user = Auth::user();
        $user->newSubscription('Main','Monthly')->create($cc_token);
        alert()->success('User Updated Successfully', 'Success');
        return \redirect()->back();
    }catch(\Exception $ex){
        return $ex->getMessage();
    }
}

, и я также создаю план на панели инструментов полосы введите описание изображения здесь

при создании подписки отображается ошибка Нет такого способа оплаты Я новичок в полосе, пожалуйста, помогите мне

1 Ответ

0 голосов
/ 03 августа 2020

Ошибки типа «Нет такого ...» обычно вызваны либо несоответствием ключей API (например, использование комбинации ваших тестовых и живых ключей), либо попыткой доступа к объектам, которые существуют в другой учетной записи (например, попыткой выполнить операция из вашей учетной записи платформы над объектом, который был создан в подключенной учетной записи).

...