勉強したことのメモ

webプログラマが勉強したことのメモ。

PHPとStripeでクレジットカード決済処理

   

PHPとStripeの組み合わせでWebサービスにクレジットカード決済処理を導入したかった。以下に導入方法をメモ。

下準備

Stripeのアカウント作成

Stripe公式サイトでアカウントを作成しておく。テスト環境を用意するだけならメールアドレスのみの登録でOK。

https://stripe.com/

登録するとテスト用の「公開可能キー」「シークレットキー」が発行される。

ライブラリのインストール

サーバにSSH接続し適当なディレクトリに移動後、以下でライブラリをインストールする。

以下はGithubページにバージョンの説明等が掲載されている。尚、今回検証した環境はPHP5.6となる。

https://github.com/stripe/stripe-php

テスト用クレジットカード情報

以下ページでテスト用クレジットカード情報を確認できる。

https://stripe.com/docs/testing

カード番号は記載の通り、CVCは任意の3文字、カード有効期限は未来年月を入力する。

 

ソース

購入ページ(index.php)

決済処理ページ(charge.php)

決済完了ページとエラーページは適当にHTMLでメッセージを書けば良い。また購入ページに設置するJavaScriptのパラメータは以下ページで詳細を確認できる。

https://stripe.com/docs/legacy-checkout

 

その他

決済名

今回はテスト用クレカで検証した為確認のしようがないが、本番用クレカで決済した際に明細に表示される決済名がどうなるのか気になった。

調べてみるとカード会社によって異なり「オンライン決済」または「ST* 登録したサービス名」のどちらかで表示される模様。

即時決済しない場合

例えばだけど「入荷待ちの商品で購入手続き後、商品が入荷されてから発送」みたいなケースで即時に決済はしない方がいい場合は売り上げの確定はせずに、商品発送等を行ってからStripeのダッシュボードより確定処理を行う形になる。

 

所感

クレカ決済システムを導入したことがなく、実装にあたり「工数がかかりそう」「難しそう」等々の印象を持っていたがStripeだと非常に簡単に導入できた。

あとは月額(サブスクリプション)決済についても試しておきたいところ。

 

参考サイト

https://qiita.com/p_s_m_t/items/a69dfbc75804fe86ad9c

https://techracho.bpsinc.jp/baba/2018_05_28/56914

 - PHP

  関連記事

PHP7が2015年11月にリリースされるらしい

PHP7で変わること ——言語仕様とエンジンの改善ポイント from Yoshi ...

PHPのチェック系関数

たまたまis_objectという関数を見かけて、 is_numericとかiss ...

PHPとajaxでチャットの作成

■ソース ・index.php <? error_reporting(E_ ...

MySQLiで直近に挿入したオートインクリメントの値と次回挿入する値を取得する方法

phpとmysqliを使っている中で次回挿入するオートインクリメントの値と、前回 ...

PHPで画像を上下反転させ保存する

やりたかった事は、下記の通り。 ・既にフォルダに保存されている画像を上下反転させ ...

phpでhtmlをpdf化。あと無理矢理画像をpdf化

画像をphpでpdf化したかった。 検索してみるもサーバー側の設定を必要とするも ...

PHPでユニークな文字列の作成

PHPでユニークな文字列を作成したかった。MySQLとかのオートインクリメントの ...

PHPでステータスコードを取得する方法

サーバーの死活監視でUptimeRobotを使っていたけど、どうも正常に監視して ...

PHPで複数の変数に同じ値を代入する

PHPのソースで $a = $b = $c = 12; みたいな見たことの無い代 ...

PHPで文字列の操作(検索、置換、切り出し)

しばしば行う文字列の操作をまとめておく。 ----- ■文字列の長さを調べる e ...