1. TOPTOP
  2. Webサービス
  3. PayPal

BraintreeSDKを利用してPayPal ExpressCheckoutを実装する その8(モジュールのインストールとミドルウェアの実装)

|

braintree_payments_1_1

BraintreeSDKを利用してPayPal ExpressCeckoutを実装する その7(新しいタブで開く)では、BraintreeサーバーのAPI認証情報を取得するための方法についてご紹介しました。

Nonceでapp.jsにアクセスする仕組み

ユーザーからBraintreeサーバーに対してclientTokenが送信されると、BraintreeサーバーのAPI認証情報と照合してNonce(ノンス)がユーザーに返されます。

paypal_braintree_payments_8

そのときユーザーは受け取ったNonceを、PayPal ExpressCheckoutが実装されている自分のサーバーに送信してアクセスします。そのアクセスがあった時に最初に読み込まれるページがapp.jsです。今回はそのapp.jsの中で必要なモジュールの使い方についてご紹介します。

なお、今回のページは下記の公式ドキュメントを参考にしています。

モジュールの概要

モジュールは最終的にミドルウェアとしてapp.jsに実装します。その実装方法は4段階に分けることができます。

1.exportsオブジェクトの作成

module.exports = app;

app.jsファイルの最終行で上記の記述をしておきます。app.jsファイルは実際に表示されるファイル(index.jsなど)で呼び出されます。その呼び出しファイル(index.jsなどroutesディレクトリにあるファイル)が、app.jsファイルを使えるようにするための宣言です。index.jsにモジュールの内容を全て書いてしまうと読みにくくなるので、外部ファイルはapp.jsを経由して一括して読み込むようにします。

2.モジュールのインストール

$ npm install --save <module-name>

必要なモジュールをnpmコマンドでインストールします。

3.モジュールの呼び出し

var module-name = require('module-name');

インストールしたモジュールの名前を使って呼び出します。

4.モジュールの適用

app.use(module-name() ... );

呼び出したモジュールはappオブジェクトuseメソッドを使って、順次適用していきます。

BraintreeSDKNodeDemoで使用するモジュール

BraintreeSDKNodeDemoで使用するモジュールは以下の5つです。

pathモジュール

pathモジュール(新しいタブで開く)は、ファイルパスの処理と変換で使うNode.jsのモジュールです。

インストール方法

$ npm install --save path

使い方

var module-name = require('path');
...
app.use(express.static(path.join(__dirname, 'public')));

pathモジュールのjoinメソッドは、express.static関数(新しいタブで開く)の引数として使います。app.use内にある引数の意味は現在のディレクトリ(__dirname)の下にある、publicディレクトリの、さらに下にある静的ファイル(CSSファイル、JavaScriptファイル)を読み込むために使います。

morganモジュール

morganモジュール(新しいタブで開く)は、Node.jsにHTTP接続を行うときログ出力を行うNode.jsのモジュールです。

インストール方法

$ npm install --save morgan

使い方

var morgan = require('morgan');
...
app.use(logger('dev'));

インストールするときはmorganを使用しますが、読み込むときはloggerメソッドを用います。引数の’dev’は開発目的であることを示します。このloggerメソッドの詳細はこちらのページ(新しいタブで開く)を参考にしてください。

cookie-parserモジュール

cookie-parserモジュール(新しいタブで開く)はCookieを解析するモジュールです。HTTP通信において、クライアント(のブラウザ)から送信されるCookieを読み取ることでセッション管理や任意のデータが容易に行えるようになります。

インストール方法

$ npm install --save cookie-parser

使い方

var cookieParser = require('cookie-parser');
...
app.use(cookieParser());

cookieParser()メソッドをそのまま使ってください。

body-parserモジュール

body-parserモジュールは、Node.jsのHTTP通信においてクライアント(ユーザー)からサーバーに接続リクエストを行った時に、サーバー側でbody情報(新しいタブで開く)を読み取るためのモジュールです。

インストール方法

$ npm install --save body-parser

使い方

var bodyParser = require('body-parser');
...
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

まずHTTP通信においてリクエストボディに含まれるJSONデータを解析します。続いてボディの情報を解析します。ただし今回はapplication/x-www-form-urlencodedというボディの情報を解析しないため、プロパティの値を”false”とします。

その8のまとめ

今回紹介したモジュールとその実装はGitHubにまとめて記述しています。ご興味のある方はぜひご参考にしてください。その9(新しいタブで開く)に続きます。