node-webpay
Node.jsでWebPayを使用するためのラッパーモジュールです。設定するパラメータの種類と内容については、https://webpay.jp/docs/api を参照してください。
セットアップ
npm install node-webpay
// auth文字列を渡して初期化var auth = 'test_secret';var webpay = auth; // authには文字列の代わりにデフォルトパラメータを渡すこともできるvar webpay_ja_jpy = auth: auth currency: 'jpy' lang: 'ja';
WebPayの各処理は以下の形式で実行します。
; // 例;
- command - 後述するコマンド名の文字列。params.commandで代用もできます(次の例参照)。
- params - 各コマンドに渡すパラメータ(オブジェクト)。パラメータの種類や内容は公式ドキュメントを参照。
- callback - サーバから返答が返ってきた際、またはnode-webpayがエラーを返す際に実行されるコールバック関数。サーバからの返答またはnode-webpayのエラー(両方ともオブジェクト形式)が引数として渡される。
以下はcommand文字列をparams.commandに入れて実行する例です。
; // 実行例;
パラメータオブジェクト(デフォルトパラメータ、コマンドパラメータ)
初期化時に渡すデフォルトパラメータオブジェクト、もしくはコマンドごとに渡すパラメータオブジェクト(params)には、取引の関するパラメータの他に以下のパラメータを引数として渡すことができます。最初に設定したデフォルトパラメータは、各コマンドの実行時にオーバーライドできません(0.3.0から。0.3.0以前はオーバーライド可能)
- auth - 認証キー。デフォルトパラメータでのみ有効かつ必須項目。
- command - コマンド。実行時、webpayの1つ目の引数に文字列でコマンドが与えられている場合は無効。
- lang - Webpayサーバから返されるエラーメッセージの言語。デフォルトは'en'。現在対応している言語は英語('en')と日本語('ja')。
// デフォルトパラメータを与える場合、authパラメータは必須// ここで与えたデフォルトパラメータは各コマンド発行時の上書き不可var webpay_ja_jpy = auth: auth currency: 'jpy' lang: 'ja';
コマンド一覧
- charge - 売上計上
- auth - 仮売上計上(capture:'false'のショートカット)
- refund - 払い戻し
- capture - 仮売上の売上化
- getCharge - 売上イベント取得・売上イベントリスト取得
- createCustomer - customer作成
- getCustomer - customer取得・customerリスト取得
- updateCustomer - customer情報更新
- deleteCustomer - customer削除
- deleteActiveCard - customerからactive_cardのみ削除
- createToken - token作成
- getToken - token取得
- createRecursion - 定期課金作成
- getRecursion - 定期課金取得・定期課金リスト取得
- resumeRecursion - 定期課金再開(未テスト)
- deleteRecursion - 定期課金削除
- getEvent - イベント取得・イベントリスト取得
- getAccount - アカウント情報取得
- deleteTestData - テストデータ削除
実行例
// 売上(charge)var params = amount: 1000 currency: 'jpy' 'card[number]': '4242424242424242' 'card[exp_month]': '11' 'card[exp_year]': '2020' 'card[cvc]': '1234' 'card[name]': 'test taro'; ; // paramに与えるcardプロパティをオブジェクトとして渡すこともできます。// リスト取得時のcreatedプロパティも同様の記法ができます。var params = command: 'charge' amount: 1000 currency: 'jpy' card: number: '4242424242424242' exp_month: 11 exp_year: 2020 cvc: 1234 name: 'test taro' ; ; // 仮売上(auth) var params = command: 'auth' amount: 1000 currency: 'jpy' 'card[number]': '4242424242424242' 'card[exp_month]': '11' 'card[exp_year]': '2020' 'card[cvc]': '1234' 'card[name]': 'test taro'; ; // 課金情報・課金リストの取得(getCharge)// getChargeコマンドを使用し、パラメータにidを設定すると課金情報が返されます。// パラメータにidを設定しない場合は課金リストが返されます。// これはgetCustomer、getRecursion、getEventの各コマンドでも同様です。(getTokens単一トークンの取得のみ) var params = command: 'getCharge' id: 'ch_3pV2bF7uZfVg7HW'; ;
履歴
- 0.0.1 初回リリース
- 0.0.2, 0.0.3 npm publishでの問題回避など細かいアップデート
- 0.1.0 オブジェクトネスト構造でパラメータを渡せるように修正
- 0.2.0b1 デフォルトパラメータ追加
- 0.2.0b2 エラー言語対応追加
- 0.2.0b3 バグ対応
- 0.2.0 バグ対応、テストスクリプト追加
- 0.3.0b1 定期課金(Recursion)追加、デフォルトパラメータ仕様変更、エラー仕様変更
- 0.3.0b2, b5, b6 マイナーバグ修正
- 0.3.1 カード削除コマンド(deleteActiveCard)追加
todo
- 独立したパラメータチェック機構
- まともなテストスクリプト
- サンプルページ
- 時間サポート、uuidサポートの検討
- 部分的APIサポートの検討
- tokenオンリーモード(クライアントサイドでトークンを生成する場合など)