<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Session;
use Stripe\Customer;
use Stripe\Exception\SignatureVerificationException;
use Stripe\StripeClient;
use Stripe\Webhook;
use Stripe\Charge;
use Stripe\Stripe;

/**
 * Class HomeController
 *
 * @package App\Http\Controllers
 */
class StripePaymentController extends Controller
{
    public function stripe()
    {
        return view('stripe');
    }

    public function stripePost(Request $request)
    {
        Stripe::setApiKey(env('STRIPE_SECRET'));

        $customer = Customer::create(array(
            "address" => [
                "line1"       => "Tokyo aba",
                "postal_code" => "360001",
                "city"        => "Tokyo",
                "state"       => "JP",
                "country"     => "JP",
            ],
            "email"   => "kuka@gmail.com",
            "name"    => "Fuka",
            "source"  => $request->stripeToken
        ));

        $rs = Charge::create([
            "amount"      => 10000,
            "currency"    => "jpy",
            "customer"    => $customer->id,
            "description" => "Test payment from tama",
            "shipping"    => [
                "name"    => "Fuka",
                "address" => [
                    "line1"       => "Tokyo aba",
                    "postal_code" => "98140",
                    "city"        => "Tokyo",
                    "state"       => "JP",
                    "country"     => "JP",
                ],
            ]
            //"source"      => $request->stripeToken,
        ]);

        logger("customer: " . $customer);
        logger("rs payment: " . $rs);

        Session::flash('success', 'Payment successful!');

        return back();
    }
}
