node-webpay
v0.3.1
Published
WebPay API wrapper for Node. (http://webpay.jp)
Downloads
8
Readme
node-webpay
Node.jsでWebPayを使用するためのラッパーモジュールです。設定するパラメータの種類と内容については、https://webpay.jp/docs/api を参照してください。
セットアップ
npm install node-webpay
// auth文字列を渡して初期化
var auth = 'test_secret';
var webpay = require('node-webpay')(auth);
// authには文字列の代わりにデフォルトパラメータを渡すこともできる
var webpay_ja_jpy = require('node-webpay')({
auth: auth,
currency: 'jpy',
lang: 'ja'
});
WebPayの各処理は以下の形式で実行します。
webpay(command, params, callback);
// 例
webpay('charge', { /* 課金パラメータオブジェクト */ }, function(data){
console.log(data);
});
- command - 後述するコマンド名の文字列。params.commandで代用もできます(次の例参照)。
- params - 各コマンドに渡すパラメータ(オブジェクト)。パラメータの種類や内容は公式ドキュメントを参照。
- callback - サーバから返答が返ってきた際、またはnode-webpayがエラーを返す際に実行されるコールバック関数。サーバからの返答またはnode-webpayのエラー(両方ともオブジェクト形式)が引数として渡される。
以下はcommand文字列をparams.commandに入れて実行する例です。
webpay(params, callback);
// 実行例
webpay({ command: 'charge', /* 他の課金パラメータ */ }, function(data){
console.log(data);
});
パラメータオブジェクト(デフォルトパラメータ、コマンドパラメータ)
初期化時に渡すデフォルトパラメータオブジェクト、もしくはコマンドごとに渡すパラメータオブジェクト(params)には、取引の関するパラメータの他に以下のパラメータを引数として渡すことができます。最初に設定したデフォルトパラメータは、各コマンドの実行時にオーバーライドできません(0.3.0から。0.3.0以前はオーバーライド可能)
- auth - 認証キー。デフォルトパラメータでのみ有効かつ必須項目。
- command - コマンド。実行時、webpayの1つ目の引数に文字列でコマンドが与えられている場合は無効。
- lang - Webpayサーバから返されるエラーメッセージの言語。デフォルトは'en'。現在対応している言語は英語('en')と日本語('ja')。
// デフォルトパラメータを与える場合、authパラメータは必須
// ここで与えたデフォルトパラメータは各コマンド発行時の上書き不可
var webpay_ja_jpy = require('node-webpay')({
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'
};
webpay('charge', params, function(data){
// コールバック
});
// 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'
}
};
webpay(params, function(data){
// コールバック
});
// 仮売上(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'
};
webpay(params, function(data){
// コールバック
});
// 課金情報・課金リストの取得(getCharge)
// getChargeコマンドを使用し、パラメータにidを設定すると課金情報が返されます。
// パラメータにidを設定しない場合は課金リストが返されます。
// これはgetCustomer、getRecursion、getEventの各コマンドでも同様です。(getTokens単一トークンの取得のみ)
var params = {
command: 'getCharge',
id: 'ch_3pV2bF7uZfVg7HW'
};
webpay(params, function(data){
// コールバック
});
履歴
- 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オンリーモード(クライアントサイドでトークンを生成する場合など)