KUJUNTI.ID MINISH3LL
Path : /var/www/html/thb_loan_system/resources/views/client/
(S)h3ll Cr3at0r :
F!le Upl0ad :

B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H

Current File : /var/www/html/thb_loan_system/resources/views/client/pay.blade.php


@extends('client.layout')
@section('title')
    {{ translate('pay') }}
@endsection

@section('content')
    <style>
        /* CSS for Credit Card Payment form */
        .credit-card-box .panel-title {
            display: inline;
            font-weight: bold;
        }

        .credit-card-box .form-control.error {
            border-color: red;
            outline: 0;
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 0, 0, 0.6);
        }

        .credit-card-box label.error {
            font-weight: bold;
            color: red;
            padding: 2px 8px;
            margin-top: 2px;
        }

        .credit-card-box .payment-errors {
            font-weight: bold;
            color: red;
            padding: 2px 8px;
            margin-top: 2px;
        }

        .credit-card-box label {
            display: block;
        }

        /* The old "center div vertically" hack */
        .credit-card-box .display-table {
            display: table;
        }

        .credit-card-box .display-tr {
            display: table-row;
        }

        .credit-card-box .display-td {
            display: table-cell;
            vertical-align: middle;
            width: 50%;
        }

        /* Just looks nicer */
        .credit-card-box .panel-heading img {
            min-width: 180px;
        }
    </style>
    <div class="row">

        <div class="col-md-12">

            <div class="panel panel-white">
                <div class="panel-heading">
                    <h6 class="panel-title">{{ translate('pay') }}</h6>

                    <div class="heading-elements">
                    </div>
                </div>
                <div class="panel-body">
                    <div class="form-group">
                        {!! Form::label('payment_gateway',translate('payment').' '.translate('method'),array('class'=>'')) !!}
                        {!! Form::select('payment_gateway',$methods,null, array('class' => 'form-control','id'=>'method','required'=>'required')) !!}
                    </div>
                    <div>
                        {!! Form::open(array('url' => '', 'method' => 'post', 'id' => 'payment_form',"enctype"=>"multipart/form-data")) !!}

                        <div class="form-group">
                            {!! Form::label('amount',translate('amount'),array('class'=>'')) !!}
                            {!! Form::text('amount',$due, array('class' => 'form-control touchspin', 'placeholder'=>'','required'=>'required')) !!}
                        </div>
                        <div class="form-group" id="mpesa_mobile">
                            {!! Form::label('mobile',translate('mobile'),array('class'=>'')) !!}
                            {!! Form::number('mobile',$borrower->mobile, array('class' => 'form-control', 'placeholder'=>'','id'=>'mobile')) !!}
                        </div>
                        <div class="col-md-6" style="display: none;">
                            <input name="rm" value="2" type="hidden">
                            <input name="cmd" value="_xclick" type="hidden">
                            <input name="currency_code"
                                   value="{{ \App\Models\Setting::where('setting_key', 'currency')->first()->setting_value }}"
                                   type="hidden">
                            <input name="quantity" value="1" type="hidden">
                            <input name="business"
                                   value="{{ \App\Models\Setting::where('setting_key', 'paypal_email')->first()->setting_value }}"
                                   type="hidden">
                            <input name="return" value="{{ url('client/loan/'.$loan->id.'/pay/paypal/done') }}"
                                   type="hidden">
                            <input name="cancel_return"
                                   value="{{ url('client/loan/'.$loan->id.'/pay/paypal/cancel') }}"
                                   type="hidden">
                            <input name="notify_url"
                                   value="{{ url('client/loan/pay/paypal/ipn') }}" type="hidden">
                            <input name="custom" value="" type="hidden">
                            <input name="item_name" value="Loan Repayment" type="hidden">
                            <input name="item_number" value="{{ $loan->id }}" type="hidden">
                        </div>

                        <button type="submit" class="btn btn-primary" id="pay">{{translate('pay')}}</button>
                        <p><br></p>
                        {!! Form::close() !!}
                    </div>
                    <div class="row" id="stripeForm">
                        <div class="col-md-6">
                            <div class="panel panel-default credit-card-box">
                                <div class="panel-heading display-table">
                                    <div class="row display-tr">
                                        <h3 class="panel-title display-td">Payment Details</h3>
                                        <div class="display-td">
                                            <img class="img-responsive pull-right"
                                                 src="http://i76.imgup.net/accepted_c22e0.png">
                                        </div>
                                    </div>
                                </div>
                                <div class="panel-body">
                                    <form role="form" id="payment-form" method="POST" action="javascript:void(0);">
                                        <div class="form-group">
                                            <div class="form-line">
                                                {!!  Form::label(translate('amount'),null,array('class'=>' control-label')) !!}
                                                {!! Form::text('amount',$due,array('class'=>'form-control touchspin','required'=>'required','id'=>'stripe_amount')) !!}
                                            </div>
                                        </div>
                                        <div class="row">
                                            <div class="col-xs-12">
                                                <div class="form-group">
                                                    <label for="cardNumber">CARD NUMBER</label>
                                                    <div class="input-group">
                                                        <input
                                                                type="tel"
                                                                class="form-control"
                                                                name="cardNumber"
                                                                placeholder="Valid Card Number"
                                                                autocomplete="cc-number"
                                                                required autofocus
                                                        />
                                                        <span class="input-group-addon"><i
                                                                    class="fa fa-credit-card"></i></span>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="row">
                                            <div class="col-xs-7 col-md-7">
                                                <div class="form-group">
                                                    <label for="cardExpiry"><span
                                                                class="hidden-xs">EXPIRATION</span><span
                                                                class="visible-xs-inline">EXP</span> DATE</label>
                                                    <input
                                                            type="tel"
                                                            class="form-control"
                                                            name="cardExpiry"
                                                            placeholder="MM / YY"
                                                            autocomplete="cc-exp"
                                                            required
                                                    />
                                                </div>
                                            </div>
                                            <div class="col-xs-5 col-md-5 pull-right">
                                                <div class="form-group">
                                                    <label for="cardCVC">CV CODE</label>
                                                    <input
                                                            type="tel"
                                                            class="form-control"
                                                            name="cardCVC"
                                                            placeholder="CVC"
                                                            autocomplete="cc-csc"
                                                            required
                                                    />
                                                </div>
                                            </div>
                                        </div>
                                        <div class="row">
                                            <div class="col-xs-12">
                                                <button class="subscribe btn btn-success btn-lg btn-block"
                                                        type="button">{{translate('pay')}}
                                                </button>
                                            </div>
                                        </div>
                                        <div class="row" style="display:none;">
                                            <div class="col-xs-12">
                                                <p class="payment-errors"></p>
                                            </div>
                                        </div>
                                    </form>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="panel-footer">

                </div>

            </div>
        </div>
    </div>
@endsection
@section('footer-scripts')
    <script>
        $(document).ready(function () {
        });
    </script>
    <script type="text/javascript"
            src="https://cdnjs.cloudflare.com/ajax/libs/jquery.payment/1.2.3/jquery.payment.min.js"></script>
    <script type="text/javascript" src="https://js.stripe.com/v2/"></script>
    <script>
        if ($('#method').val() == 'paynow') {
            $('#stripeForm').hide();
            $('#payment_form').show();
            $('#mpesa_mobile').hide();
            $('#mobile').removeAttr("required");
            $('#payment_form').attr('action', "{!! url('client/loan/'.$loan->id.'/pay/paynow') !!}");
        }
        if ($('#method').val() == 'paypal') {
            $('#payment_form').attr('action', "https://www.paypal.com/cgi-bin/webscr");
            $('#stripeForm').hide();
            $('#mpesa_mobile').hide();
            $('#mobile').removeAttr("required");
            $('#payment_form').show();
        }
        if ($('#method').val() == 'mpesa_kenya') {
            $('#stripeForm').hide();
            $('#payment_form').show();
            $('#mpesa_mobile').show();
            $('#mobile').attr("required", "required");
            $('#payment_form').attr('action', "{!! url('client/loan/'.$loan->id.'/pay/mpesa') !!}");
        }
        if ($('#method').val() == 'stripe') {
            $('#payment_form').hide();
            $('#stripeForm').show();
        }
        $('#method').change(function (e) {
            if ($('#method').val() == 'paynow') {
                $('#stripeForm').hide();
                $('#payment_form').show();
                $('#mpesa_mobile').hide();
                $('#mobile').removeAttr("required");
                $('#payment_form').attr('action', "{!! url('client/loan/'.$loan->id.'/pay/paynow') !!}");
            }
            if ($('#method').val() == 'paypal') {
                $('#payment_form').attr('action', "https://www.paypal.com/cgi-bin/webscr");
                $('#stripeForm').hide();
                $('#mpesa_mobile').hide();
                $('#mobile').removeAttr("required");
                $('#payment_form').show();
            }
            if ($('#method').val() == 'mpesa_kenya') {
                $('#stripeForm').hide();
                $('#payment_form').show();
                $('#mpesa_mobile').show();
                $('#mobile').attr("required", "required");
                $('#payment_form').attr('action', "{!! url('client/loan/'.$loan->id.'/pay/mpesa') !!}");
            }
            if ($('#method').val() == 'stripe') {
                $('#payment_form').hide();
                $('#stripeForm').show();
            }
        });

        /* Visual feedback */
        var $form = $('#payment-form');
        $form.find('.subscribe').on('click', payWithStripe);

        /* If you're using Stripe for payments */
        function payWithStripe(e) {
            e.preventDefault();

            /* Abort if invalid form data */
            if (!validator.form()) {
                return;
            }

            /* Visual feedback */
            $form.find('.subscribe').html('Validating <i class="fa fa-spinner fa-pulse"></i>').prop('disabled', true);

            var PublishableKey = '{{\App\Models\Setting::where('setting_key', 'stripe_publishable_key')->first()->setting_value}}'; // Replace with your API publishable key
            Stripe.setPublishableKey(PublishableKey);

            /* Create token */
            var expiry = $form.find('[name=cardExpiry]').payment('cardExpiryVal');
            var ccData = {
                number: $form.find('[name=cardNumber]').val().replace(/\s/g, ''),
                cvc: $form.find('[name=cardCVC]').val(),
                exp_month: expiry.month,
                exp_year: expiry.year
            };

            Stripe.card.createToken(ccData, function stripeResponseHandler(status, response) {
                if (response.error) {
                    /* Visual feedback */
                    $form.find('.subscribe').html('Try again').prop('disabled', false);
                    /* Show Stripe errors on the form */
                    $form.find('.payment-errors').text(response.error.message);
                    $form.find('.payment-errors').closest('.row').show();
                } else {
                    /* Visual feedback */
                    $form.find('.subscribe').html('Processing <i class="fa fa-spinner fa-pulse"></i>');
                    /* Hide Stripe errors on the form */
                    $form.find('.payment-errors').closest('.row').hide();
                    $form.find('.payment-errors').text("");
                    // response contains id and card, which contains additional card details
                    console.log(response.id);
                    console.log(response.card);
                    var token = response.id;
                    // AJAX - you would send 'token' to your server here.
                    $.post('{{url('client/loan/'.$loan->id.'/pay/stripe')}}', {
                        token: token,
                        _token: "{{csrf_token()}}",
                        amount: $('#stripe_amount').val()
                    })
                    // Assign handlers immediately after making the request,
                        .done(function (data, textStatus, jqXHR) {
                            $form.find('.subscribe').html('Payment successful <i class="fa fa-check"></i>');
                            window.location = "{{url('client/loan/'.$loan->id.'/show?msg=Payment successful')}}"
                        })
                        .fail(function (jqXHR, textStatus, errorThrown) {
                            $form.find('.subscribe').html('There was a problem').removeClass('success').addClass('error');
                            /* Show Stripe errors on the form */
                            $form.find('.payment-errors').text('Try refreshing the page and trying again.');
                            $form.find('.payment-errors').closest('.row').show();
                        });
                }
            });
        }
        /* Fancy restrictive input formatting via jQuery.payment library*/
        $('input[name=cardNumber]').payment('formatCardNumber');
        $('input[name=cardCVC]').payment('formatCardCVC');
        $('input[name=cardExpiry]').payment('formatCardExpiry');

        /* Form validation using Stripe client-side validation helpers */
        jQuery.validator.addMethod("cardNumber", function (value, element) {
            return this.optional(element) || Stripe.card.validateCardNumber(value);
        }, "Please specify a valid credit card number.");

        jQuery.validator.addMethod("cardExpiry", function (value, element) {
            /* Parsing month/year uses jQuery.payment library */
            value = $.payment.cardExpiryVal(value);
            return this.optional(element) || Stripe.card.validateExpiry(value.month, value.year);
        }, "Invalid expiration date.");

        jQuery.validator.addMethod("cardCVC", function (value, element) {
            return this.optional(element) || Stripe.card.validateCVC(value);
        }, "Invalid CVC.");

        validator = $form.validate({
            rules: {
                cardNumber: {
                    required: true,
                    cardNumber: true
                },
                cardExpiry: {
                    required: true,
                    cardExpiry: true
                },
                cardCVC: {
                    required: true,
                    cardCVC: true
                }
            },
            highlight: function (element) {
                $(element).closest('.form-control').removeClass('success').addClass('error');
            },
            unhighlight: function (element) {
                $(element).closest('.form-control').removeClass('error').addClass('success');
            },
            errorPlacement: function (error, element) {
                $(element).closest('.form-group').append(error);
            }
        });

        paymentFormReady = function () {
            if ($form.find('[name=cardNumber]').hasClass("success") &&
                $form.find('[name=cardExpiry]').hasClass("success") &&
                $form.find('[name=cardCVC]').val().length > 1) {
                return true;
            } else {
                return false;
            }
        }

        $form.find('.subscribe').prop('disabled', true);
        var readyInterval = setInterval(function () {
            if (paymentFormReady()) {
                $form.find('.subscribe').prop('disabled', false);
                clearInterval(readyInterval);
            }
        }, 250);
    </script>
@endsection

© KUJUNTI.ID