WebPay API wrapper for Node. (http://webpay.jp)
npm install node-webpayjs
npm install node-webpay
`
`js
// 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の各処理は以下の形式で実行します。
`js
webpay(command, params, callback);
// 例
webpay('charge', { / 課金パラメータオブジェクト / }, function(data){
console.log(data);
});
`
* command - 後述するコマンド名の文字列。params.commandで代用もできます(次の例参照)。
* params - 各コマンドに渡すパラメータ(オブジェクト)。パラメータの種類や内容は公式ドキュメントを参照。
* callback - サーバから返答が返ってきた際、またはnode-webpayがエラーを返す際に実行されるコールバック関数。サーバからの返答またはnode-webpayのエラー(両方ともオブジェクト形式)が引数として渡される。
以下はcommand文字列をparams.commandに入れて実行する例です。
`js
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')。
`js
// デフォルトパラメータを与える場合、authパラメータは必須
// ここで与えたデフォルトパラメータは各コマンド発行時の上書き不可
var webpay_ja_jpy = require('node-webpay')({
auth: auth,
currency: 'jpy',
lang: 'ja'
});
`
$3
* 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 - テストデータ削除
$3
`js
// 売上(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){
// コールバック
});
``