Ruby向けのライブラリを更新しました 2.4.1 -> 3.0.1

Ruby向けのライブラリをバージョン3.0.1にアップデートしました。

今回の更新では、従来のバージョン2.x.yと非互換の仕様変更が行われています。 アップデートを行う際には十分ご注意下さい。

仕様が変更となった箇所は次の通りです。

  • 認証情報を設定する方法
  • 各APIのオブジェクトを取り扱うクラスの操作方法
  • Exceptionのクラス名

(2014/06/15 21:30 Exceptionのクラス名が変更されたことに言及が漏れていたため追記しました)

認証情報を設定する方法と各APIのオブジェクトを取り扱うクラスの操作方法

従来

1
2
3
4
5
require 'webpay'
WebPay.api_key = "test_secret_eHn4TTgsGguBcW764a2KA8Yd"
WebPay::Customer.create(
  :description => '今までの顧客作成'
)

バージョン3.0.0以降

WebPayクラスのインスタンスを認証情報を渡して作成し、 それぞれのAPIの操作時に利用するようになります。

1
2
3
4
5
require 'webpay'
webpay = WebPay.new('test_secret_eHn4TTgsGguBcW764a2KA8Yd')
webpay.customer.create(
  :description => 'これからの顧客作成'
)

各エンドポイントに対する新たな操作方法についての詳しくはAPIドキュメントをご覧ください。

(2014/06/09 14:30 バージョン3の認証処理のサンプルコードに誤りがあったため以下の通り修正しました)

1
2
- webpay = WebPay.new(api_key: 'test_secret_eHn4TTgsGguBcW764a2KA8Yd')
+ webpay = WebPay.new('test_secret_eHn4TTgsGguBcW764a2KA8Yd')

Exceptionのクラス名

Exceptionの各クラスが変更となりました。

従来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
begin
  # WebPay gemを利用したWebPayへのアクセス
rescue WebPay::CardError => e
# カードが拒否された場合
  err = e.error_response
  puts "Status is: #{e.status}"
  puts "Type is: #{err['type']}"
  puts "Code is: #{err['code']}"
  puts "Param is: #{err['param']}"
  puts "Message is: #{err['message']}"
rescue WebPay::InvalidRequestError => e
  # リクエストで指定したパラメータが不正な場合
rescue WebPay::AuthenticationError => e
  # 認証に失敗した場合
rescue WebPay::APIConnectionError => e
  # WebPayへの接続エラーが起きた場合
rescue WebPay::WebPayError => e
  # WebPayのサーバでエラーが起きた場合
rescue => e
  # WebPayとは関係ない例外の場合
end

バージョン3.0.0以降

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
begin
  # WebPay gemを利用したWebPayへのアクセス
rescue WebPay::ErrorResponse::CardError => e
# カードが拒否された場合
  err = e.data.error
  puts "Status is: #{e.status}"
  puts "Type is: #{err.type}"
  puts "Code is: #{err.code}"
  puts "Param is: #{err.param}"
  puts "Message is: #{err.message}"
rescue WebPay::ErrorResponse::InvalidRequestError => e
  # リクエストで指定したパラメータが不正な場合
rescue WebPay::ErrorResponse::AuthenticationError => e
  # 認証に失敗した場合
rescue WebPay::ErrorResponse::ApiError => e
  # WebPayのサーバでエラーが起きた場合
rescue WebPay::ApiConnectionError => e
  # APIへの接続エラーが起きた場合
rescue WebPay::InvalidRequestError => e
  # リクエストで指定したパラメータが不正で、リクエストがおこなえなかった場合
rescue => e
  # WebPayとは関係ない例外の場合
end

webpay-rubyのリポジトリの更新を停止します

webpay-rubyとしてソースコードを公開しながら開発を進めておりましたが、 今回のアップデートにより、当リポジトリの更新を停止します。

不具合のご報告等受け付ける場所等に関しては、今後準備をして参りますが 現在のところは用意がないため、お問い合わせ窓口よりお願い致します。