XserverでPHPプログラムからStripeAPIを使えるようにするまで

WEBプログラミング

Stripeはネット上で様々な決済を行えるサービスで、基本料金がかからないので非常に便利です。ただし、基本はシステムにうまく組み込んで使うことが前提になっているのか、他のECサイトのように簡単にカート機能を追加するようには使えません。
ただAPIがしっかり用意されているため、プログラマーにとっては使い勝手の良いサービスで、世界の様々なサイトで利用されています。
カード情報や個人情報もStripe側で管理されるため情報漏洩の心配もなく、また、二段階認証など国の様々な施策もStripe側で自動で対応してくれるため、私たちからしたら、サービスをAPIで使うということに徹することができます。
サブスクも一括購入も、請求払いも、もちろんクレジットカードも、ほとんどの支払いがこのサービスでできるため、うまく使えるとものすごい武器になります。
ここでは、毎回忘れてしまうこの使い方を、自分の備忘録として残しておくために書き留めてみました。

Stripeを用意する

Stripeの登録や準備は事前に済ませておきます。
そのうえで、Stripeのダッシュボードからテストモードであるサウンドボックスに切り替え、ダッシュボードメニュー下の 開発者→APIキーを表示し、公開可能キーとシークレットキーをメモしておきます。

XServerに用意をする

  • XserverでStripeAPIをPHPから使うためには、サーバー自体にstripeAPIをインストール(準備)しなくてはいけません。
  • そのためには Xserver上でインストール用のComposerを起動できることです。
  • ComposerはXserverにSSHで入り込んでコマンドで実行する必要があるため、自分のパソコンからXserverをコマンドで実行するためのソフト(Teraterm)がインストールされていなければなりません。
    また、SSHでXServerと接続するには、サーバーとローカルPCとのセキュアな接続を行うために公開鍵というものでつなぎます。
  • この公開鍵は、Xserverのサーバーパネルで生成するものですが、Xserverでは.keyというファイルが作られ、これはTeratermではそのまま使えないため、PC上にPuTTYgenというソフトをインストールして、.ppkというファイルに変換して使います。
  • ここまで準備を行い、TeratermからSSHでサーバに接続しComposerでStripeAPIをインストールして使うことができます。

1.XserverでSSHを使えるようにする

  1. サーバーパネル→SSH設定→ON
  2. 公開認証用鍵ペアの生成タブを選択
  3. パスフレーズを入力し ******** 確認画面へ進む をクリック
  4. 入力したパスフレーズ.keyをダウンロードする

2.公開認証用鍵ペアのprivateをPuTTYgenで作成する

  1. PuTTYをパソコンにダウンロード
  2. 「Conversions」メニュー → 「Import key」を選ぶ
  3. 先ほどの .key ファイルを読み込む
  4. 読み込みに成功したら「Save private key」をクリックし、.ppk 形式で保存する

3.Teratermで接続する

  1. Tera Term を起動
  2. ホスト名に Xserverのサーバー番号(例:sv12345.xserver.jp)を入力して接続
  3. 接続方法は SSH を選ぶ
  4. ポートは10022
  5. 確認画面→接続画面がでたら、認証方式を「RSA/DSA/ECDSA/ED25519鍵を使う」に変更し、秘密鍵ファイルとして、先ほど保存した .ppk を指定
  6. 「OK」で接続

4.StripeAPIをインストールする

  1. Teratermの画面に目的のフォルダーへ移動
    (例)cd ~/ドメインサイト名/public_html
  2. Composer を使って stripe-php をインストール
    (入力)composer require stripe/stripe-php
    (確認)成功すると目的のところにvenderフォルダーができその下にcomposerとstripeのフォルダーができる
    ※もし stripeがダウンロードされなかったらmStripe公式GitHubのstripe-php からZIPをダウンロードして手動で使う

最低限のプログラムで動作確認を行う

Xserverでは、WinscpなどFTPソフトで見たとき、例えば exsample.comというドメインフォルダの下にpublic_htmlがあり、ここがルートディレクトリーとなります。
このルートディレクトリーから見て、先ほどインストールしたStripeは vendor/stripe/stripe-php/というフォルダーに用意されています。これを前提に、ルートディレクトリーにstripeを動かしてみる最低限の test_stripe.phpを作り、ブラウザーから、 https://exsample.com/test_stripe.phpと入力し実行できる最も最低限のプログラムを作ってみます。
うまく動作すると、ブラウザー画面に契約している stripeの情報がダ~っと表示されます。

<?php
require __DIR__ . '/vendor/autoload.php';

// Stripeのテスト用シークレットキーを設定してください(sk_test_...)
\Stripe\Stripe::setApiKey('sk_test_******************************************************');

// Stripeアカウントの情報を取得
$account = \Stripe\Account::retrieve();

// 結果をそのまま表示(テスト確認用)
echo "<pre>";
print_r($account);
echo "</pre>"

 

手順のまとめ

  1. Stripeの準備(個人・法人OK)
  2. XserverでSSH ON
  3. xerverでのSSH鍵生成 .key
  4. PuTTYgenでの .keyから.ppkへの変換
  5. TeratermでSSH接続(ポート10022)
  6. Composerでのインストール
  7. テストプログラムでの動作確認

コメント

タイトルとURLをコピーしました