npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

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