node-webpay

0.3.1 • Public • Published

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オンリーモード(クライアントサイドでトークンを生成する場合など)

Readme

Keywords

Package Sidebar

Install

npm i node-webpay

Weekly Downloads

1

Version

0.3.1

License

MIT

Last publish

Collaborators

  • yuichirowada