PayjpとLaravel

2024.02.16

Logging

おはようございます、Pay.jpで商品支払いとサブスクリプションに対応したコードを書いたので記載しときます。なお、似たようなコードがネットに落ちていると思いますがどうしても似通ってしまいますね。因みにサブスクリプションの場合、Pay.jpの管理画面からサブスクリプション(プラン)の作成して名前付けしないといけません。

また、クレジットカードの記入画面はリファレンスのサンプルから作るのが早いかなって思います。そしてクレジットカードのデモ用コードもPay.jpのリファレンスかドキュメントに記載していますので、そちらを参考にしてください。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Payjp\Payjp;
use Payjp\Charge;
use Payjp\Customer;
use Payjp\Subscription;

class PaymentController extends Controller
{
    //
    public function index()
    {
        return view('payment.index');
    }

    public function payment(Request $request)
    {
        Payjp::setApiKey(config('app.secret_key'));
        // クレカトークンが送られる(tok_xxxxxxxxxxxxxxxxxxxx)
        $token = $request->input('tokenId');
        $result = Charge::create(array(
            "card" => $token,
            "amount" => 3500,
            "currency" => 'jpy',
            'description' => 'ABC商品',
            'product' => 'ABC',
            'metadata' => [
                'user_id'  => '123',
                'user_name'  => 'あいうえお',
                'email' => 'mail@abc.com'
            ]
        ));
        return back();
    }

    public function subindex()
    {
        return view('payment.subscription');
    }

    public function subscription(Request $request)
    {
        $token = $request->input('tokenId');
        Payjp::setApiKey(config('app.secret_key'));
        // 顧客情報の登録
        $customer = Customer::create(array(
            'email' => 'mail@abc.com',
            'card' => $token, // クライアントから受け取ったトークンを記載します。
            'metadata' => [
                'user_id'  => '123',
                'user_name'  => 'あいうえお',
                'email' => 'mail@example.com'
            ]
        ));

        // 課金処理
        $charge = Subscription::create(array(
            'customer' => $customer->id,
            'plan' => 'plan01', // あらかじめpay.jp側に登録しておいた値。
            'metadata' => [
                'user_id'  => '123',
                'user_name'  => 'あいうえお',
                'email' => 'mail@example.com'
            ]
        ));
        return back();
    }
}

タグ

array, Charge, config, create, Customer, index, input, lt, mail@example.com, namespace AppHttpControllers, PayJP, payment.subscription, request, setApiKey, subindex, subscription, use IlluminateHttpRequest, use PayjpSubscription, サブスクリプション, リファレンス,

Laravelでの.envファイルの重要性。 #重宝

2023.02.09

Logging

おはようございます、laravel使っていますか?

Laravelでのenvファイルの重要性というタイトルに釣られた方、スミマセン🙇。

envファイルを使用すると、機能のONOFFなどに使用することも出来たりデフォルトで使われている通りDBの接続設定などにも使用されていますよね。

envの良い所はバックエンド側、フロント側ともどちらでも呼び出しが簡単なところです。下記の関数を呼び出せば値を取得することが出来ます。

config('app.name')

詳しく知りたい方はググるといろいろな説明が出てきます。たぶん、これがわかり易いかもということでリンクを一つ貼っときます。

タグ

app.name&#39, config, env, envファイル, Laravel, onoff, スミマセン, タイトル, デフォルト, バックエンド側, フロント側, 下記, , 接続設定, 機能, 説明, 通りDB, 重要性, 関数,

Oh My Posh[オゥマイポッシュ]というツールの導入の仕方。

2023.02.04

Logging

おはようございます、寝不足気味の中の人です。

今日はOh My Posh[オゥマイポッシュ]というツールの導入の仕方を書いていきます。これを導入することによりPowerShellのGUIが良くなります。直感的に階層などがわかり易くなったり、メモリやCPU率などやGitブランチをどれを選択しているのかなどまで、表示してくれます。

導入仕方ですが超簡単ともいかないですが・・・まぁ普通に導入出来ると思います。

①PowerShellを開き次のコマンドを打つ。

winget install JanDeDobbeleer.OhMyPosh -s winget

②PowerShellを再起動する(閉じて開く)。

③PowerShellで次のコマンドを打つ。

Get-PoshThemes
oh-my-posh get shell
New-Item -Path $PROFILE -Type File -Force

④ノートパッドが開くので下記の文字を入力しテーマ設定(保存)をする。

oh-my-posh init pwsh --config 'C:/Users\ユーザー名/AppData/Local/Programs/oh-my-posh/themes/aliens.omp.json' | Invoke-Expression

⑤PowerShellを再起動する(閉じて開く)。

⑥たぶん文字化けしている所があるので下記から公式フォントをダウンロードして設定をする。設定の仕方は割愛します。ウィンドウズフォントの設定などでググると手順がわかります。

https://www.nerdfonts.com/

⑦PowerShellの設定から限定値>外観>フォントフェイス、ダウンロードしてきたフォント名に合わします。

⑧PowerShellを再起動する(閉じて開く)、これで文字化け解消されます。

⑨VScodeを使用している方は設定を開きフォント名を直記入します。

これでこんな感じのビジュアルに変わると思います。

タグ

AppData, config, Force, Get-PoshThemes, Gitブランチ, GUI, Invoke-Expression, local, Oh My Posh, path, powershell, Programs, shell, themes, users, VScode, winget, オゥマイポッシュ, ノートパッド, フォントフェイス,

お天気APIを試してみました。#超簡単コード

2022.11.21

Logging

おはようございます、今日は天気APIの話なので天気のお話はしませんが…。

さて、超簡単コードを記載しています。下記のソースコードとオープンウェザーマップのAPIKEYがあれば、誰でもプログラマーです。という事を言えば後ろから蹴られそうですが…。先ずは簡単なコードを見て勉強するのが大事かなって思います。

お天気APIを試してみました。#超簡単コード
API

いきなり難しいことを身に着けようと思っても、三日坊主になって先に進まないのが世の常ですw。なので、簡単なコードで楽しんで勉強するほうが大事かなって。

<?php
require "./assets/config.php";
$lat = "33.55972";
$lon = "133.53111";
$lang = "ja";
$url = "https://api.openweathermap.org/data/2.5/weather?units=metric&lang={$lang}&lat={$lat}&lon={$lon}&appid=".APIKEY;
$hasWeatherdata = json_decode(@file_get_contents($url));
print($hasWeatherdata->weather[0]->description);
print("<img src='./assets/images/". $hasWeatherdata->weather[0]->icon .".png'>");
print((int)($hasWeatherdata->main->temp) . "℃");

タグ

0, 133.53111, 33.55972, API, APIKEY, assets, com, config, ea, https, ja, lang, lat, lon, lt, php, quot, require, url, , watch, www, Xn-VCyGQ, youtube, ウェザー, お話, コード, こと, ソース, プログラマー, マップ, 三日坊主, 下記, 世の常, , 今日, 勉強, 大事, 天気, 後ろ, 簡単, 記載, , , 超簡単,

Apacheとnginxが共存しているレンタルサーバーが多いわけ!。

2022.02.20

Logging

おはよう御座います。
今日はお天気だけど少し寒さがある朝でした。

Apachenginxが共存しているレンタルサーバーはあると思います。

Nginx Tutorial | Learn Nginx Fundamentals | Deploy a Web Application Using Nginx | Edureka

何故🤔そうなのか、答えは簡単。昔のレンタルサーバーはApacheが本流でした。なので、.htaccessにコンフィグ設定を書いていました。そして今日、Nginxが本流になりましてお客様のコンフィグ設定があるが為、ApacheとNginxを共存しなくてはならなく成り、NginxとApacheが共存していると言うことです。

技術的な仕組み(ApacheとNginxの共存方法)を社長兼エンジニアに聞いたところ、リバースプロキシサーバーで動かしているそうです。なるほど~って長年の疑問がスッと消えた瞬間でした👍。

因みにこの頃、自分もnginxを使用するようになりましたが、config(コンフィグ)の書き方が全然違うので未だにググりながら設定してます。設定の仕方は違うけどApacheもnginxも考え方は同じなので慣れれば何とかなると思います。慣れたのでApacheに戻りました😁。

  	server {
	    	listen 443 ssl;
	    	server_name example.com;
		root /var/html/example.com;
		ssl on;
		ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
		ssl_certificate_key /etc/letsencrypt/example.com/privkey.pem;

		location /tool/sample-x/ {
			index index.php index.html;
			if (!-f $request_filename){
				rewrite ^(.*)$ /tool/sample-x/index.php;
			}
		}
	}

タグ

$request_filename, Apache, config, example.com, fullchain.pem, htaccess, index.php, letsencrypt, location, nginx, Rewrite, root, sample-x, SERVER, ssl_certificate, tool, コンフィグ, リバースプロキシサーバー, 本流,

FuelPHPをサクラレンタルサーバー共有で動かすには?

2016.07.14

Logging

FuelPHPをサクラレンタルサーバー共有で動かすには?
どうしたら良いのかを記述しときます。
\fuel\app\config\config.phpに記述されている’base_url’の所を
base_url’ ?=>’http://任意.com/’,かbase_url’ ?=>’任意の階層’にします。
オプションでいろいろと変更できる点はありますが、今回はスルーします。
FuelPHPの日本公式サイトを参照
次にルートの直下に.htaccessを作成し下記の内容を記述しアップロードを行なってください。

RewriteEngine on 
RewriteBase /public 
RewriteRule (.*) /public/$1

この段階ではルートにアクセスしても表示されません。表示させるためには
\public.htaccessの.htaccessファイルを一部変更してあげる必要があります。
まず、RewriteBase /publicを追加しOptions +FollowSymLinks -Indexesと
記載されている部分をコメントアウトする必要があります。
これらの事をするとルートURLでFuelPHPの初期の表示がされるようになります。

いろいろなサイトを拝見しましたが、結構設定を変更しないといけないよと書かれていますが、実際はコレだけの設定変更で表示することは可能です。ちなみに余談ですがオプション値のココだけは変更したら良いかなという
所を記載します。

	/**
	 * Localization & internationalization settings
	 */
	 'language'           => 'ja', // Default language
	 'language_fallback'  => 'ja', // Fallback language when file isn't available for default language
	 'locale'             => 'ja_JP.UTF-8', // PHP set_locale() setting, null to not set
	/**
	 * Internal string encoding charset
	 */
	 'encoding'  => 'UTF-8',
	/**
	 * DateTime settings
	 *
	 * server_gmt_offset	in seconds the server offset from gmt timestamp when time() is used
	 * default_timezone		optional, if you want to change the server's default timezone
	 */
	 'server_gmt_offset'  => 0,
	 'default_timezone'   => 'Asia/Tokyo',

タグ

, App, base, com, config, fuel, FuelPHP, htaccess, http, ON, php, public, Rewrite, RewriteBase, RewriteEngine, RewriteRule, url, アクセス, アップロード, いろいろ, オプション, サーバー, サイト, さくら, スルー, ため, ファイル, ルート, レンタル, 一部, 下記, 今回, 任意, 作成, 公式, 共有, 内容, 参照, 変更, 必要, , 日本, 段階, , 直下, 表示, 記述, 階層,

Gitサーバを構築するという事になり。

2016.01.04

Logging


大晦日から元旦かけて、会社でGitサーバを構築するいう事になり勉強をしていました。
Gitサーバを立ち上げようと発案したのは自分、じぶんが発案者なので
勉強するのも道理だろうとGitサーバを勉強しました。
結論から言えば出来たのですが、いまいち完璧に
理屈がわかったのではなく、こうすればMacでもWindowsでも
動くという事がわかっただけです。
ちなみに構築方法はそのうち掲載します・・・・うそ。
ってそれほど難しい話ではなかったので掲載します。

#------------Git------------------------
yum -y install git
git config --global core.quotepath false
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
cd /var/wwww/html
git init --shared=true
git status
git add .
git commit -m 'new'
git config --bool core.bare true
git config --get-all core.bare
#-------------Key-------------------
ssh-keygen -t rsa
cd /root/.ssh
cp id_rsa /var/www/html

まず、初めにGitサーバをインストールします。
だいたい、初期の状態でインストールされています。
次にGit(ギット)のコンフィグの設定を行い、リポジトリを作成したい
階層まで行きリポジトリを作成します。addし後にコミットして完了です。
こちらがリモートリポジトリになります。
そしてローカル側にもGitをインストールします。
例えば、sourcetreeなどをWindowsにインストールします。
(※GUIでインストールを行ってください。CUIではなく:真ん中の選択肢を押下?)
まず最初に先ほど作成したsshのkey(秘密鍵?公開鍵?=id_rsa)を
ローカルにダウンロードします、その後、puttygen.exeなどを使いppkに
変換を行います。(ppk変換方法はこちら
次にsourcetreeの初期設定としてkeyの登録を行います。
先ほどppkに変換したファイルを参照します(ツール→オプション)。


参照後、新規/クローンを選択しリモートリポジトリとローカルリポジトリ作成場所を
選択してクローンの作成を行います。

タグ

-y, auto, branch, color, config, core, diff, false, git, global, install, Mac, quotepath, status, Windows, yum, いまいち, ウソ, うち, サーバ, じぶん, , 会社, 元旦, 勉強, 大晦日, 完璧, 掲載, 方法, 構築, 理屈, 発案, 発案者, 結論, 自分, , 道理,

さくらのVPSを使ってみた。標準OSインストールは初心者におすすめ。

2015.04.04

Logging

さくらVPSを使ってみた。さくらVPSをレンタルして標準OSインストールしてみました。インストール後、root権限でログインしてApacheをインストール(yum install httpd )してみたら、そのままの状態でWEBが表示された・・・・。ポートの開放とかの設定はしなくても良かったです。標準OSのセキュリティの設定でゴニョゴニョされていて特にWEBで使う分にはiptablesを触らなくても良さそうでした。インストール後、phpをインストールしてhttpdのconfig設定を変更して再起動すればphpが実行できる環境になりますから、あとはMysqlをインストールしたい方は、インストールしてゴニョゴニョ設定するだけでWEB環境を整います。あとは、ftpを使用したい方はインストール(yum install vsftpd)すれば良いだけです。FTP経由かSSH経由でコードをアップロードすればサイトを構築できてしまいます。
 

タグ

Apache, config, FTP, httpd, install, iptables, MYSQL, OS, php, root, SSH, VPS, vsftpd, web, yum, アップロード, あと, いま, インストール, おすすめ, コード, ゴニョゴニョ, サイト, さくら, さくらの, セキュリティ, そのまま, ポート, レンタル, ログイン, 使用, 再起動, , 初心者, 変更, 実行, , 構築, 標準, 権限, 状態, 環境, 経由, 表示, 設定, 開放,