Class: GmoPayment::Client
- Inherits:
-
Object
- Object
- GmoPayment::Client
- Defined in:
- lib/gmo_payment/client.rb,
lib/gmo_payment/client/options.rb,
lib/gmo_payment/client/request.rb,
lib/gmo_payment/client/response.rb
Defined Under Namespace
Classes: Options, Request, Response
Constant Summary collapse
- NETWORK_ERRORS =
Network errors that may occur when sending a request.
[ ::SocketError, ::EOFError, ::Timeout::Error, ::OpenSSL::SSL::SSLError, ::Errno::ECONNABORTED, ::Errno::ECONNRESET, ::Errno::ECONNREFUSED, ::Errno::EINVAL, ::Errno::EPIPE, ::Errno::ETIMEDOUT, ::Net::ProtocolError, ::Net::HTTPHeaderSyntaxError, ::Net::HTTPBadResponse, ]
Instance Method Summary collapse
-
#auth_to_sales(args = {}) ⇒ Response
- 2.14.2.1 決済変更(実売上)
-
仮売上の決済に対して実売上を行います。尚、実行時に仮売上時との金額チェックを行います。.
-
#call(method, args) ⇒ Response
Call the GMO-PG API.
-
#change_tran(args = {}) ⇒ Response
- 2.15.2.1 金額変更
-
決済が完了した取引に対して金額の変更を行います。.
-
#delete_card(args = {}) ⇒ Response
- 2.8.2.1 カード削除
-
指定した会員のカード情報を削除します。.
-
#delete_member(args = {}) ⇒ Response
- 2.5.2.1 会員削除
-
指定したサイトから会員情報を削除します。.
-
#delete_tran(args = {}) ⇒ Response
- 2.12.2.1 決済変更(取消)
-
決済が完了した取引に対して決済内容の取り消しを行います。 指定された取引情報を使用してカード会社と通信を行い取り消しを実施します。.
-
#entry_tran(args = {}) ⇒ Response
- 2.1.2.1 取引登録
-
これ以降の決済取引で必要となる取引IDと取引パスワードの発行を行い、取引を開始します。.
-
#entry_tran_btc(args = {}) ⇒ Response
- 18.1.2.1 取引登録 (BTC)
-
これ以降の決済取引で必要となる取引IDと取引パスワードの発行を行い、取引を開始します。.
-
#exec_tran(args = {}) ⇒ Response
- 2.1.2.2 決済実行
-
お客様が入力したカード番号と有効期限の情報でカード会社と通信を行い決済を実施し、結果を返します。.
-
#exec_tran_3d(args = {}) ⇒ Response
- 2.2.2.2 決済実行(本人認証サービス有)
-
お客様が入力したカード番号と有効期限の情報でカード会社と通信を行い決済を実施し、結果を返します。 カード情報が本人認証サービスに対応していない場合は、カード会社との通信を行い決済を実行します。 その際の出力パラメータは「2.1.2.2 決済実行」の出力パラメータと同じになります。.
-
#exec_tran_btc(args = {}) ⇒ Response
- 18.1.2.2 決済実行 (BTC)
-
契約情報を確認し、これ以降の処理に必要なトークンを返却します。.
-
#exec_tran_member(args = {}) ⇒ Response
- 2.10.2.3 決済実行
-
お客様が選択したカード登録連番のカード情報を取得します。 取得したカード情報でカード会社と通信を行い決済を実施し、結果を返します。.
-
#exec_tran_member_3d(args = {}) ⇒ Response
- 2.11.2.3 決済実行
-
お客様が選択したカード登録連番のカード情報を取得します。 カード情報が本人認証サービスに対応していない場合は、カード会社との通信を行い決済を実行します。 その際の出力パラメータは「2.10.2.3 決済実行」の出力パラメータと同じになります。.
-
#get_rate_btc(args = {}) ⇒ Object
- 18.1.2.5 決済実行 (BTC)
-
ビットコインのレート(参考値)を返却します。.
-
#initialize(opts = {}) ⇒ Client
constructor
A new instance of Client.
-
#re_exec_tran(args = {}) ⇒ Response
- 2.13.2.1 決済変更(再オーソリ)
-
取り消されている決済に対して再オーソリを行います。指定された決済情報を使用してカード会社と通信を行い実施します。.
-
#save_card(args = {}) ⇒ Response
- 2.7.2.1 カード登録
-
指定した会員にカード情報を登録します。 尚、サイトに設定されたショップIDを使用してカード会社と通信を行い、有効性の確認を行います。.
-
#save_member(args = {}) ⇒ Response
- 2.3.2.1 会員登録
-
指定されたサイトに会員を登録します。.
-
#save_traded_card(args = {}) ⇒ Response
- 2.17.2.1 決済後カード登録
-
指定されたオーダーIDの取引に使用したカードを登録します。.
-
#search_card(args = {}) ⇒ Response
- 2.9.2.1 カード参照
-
指定した会員のカード情報を参照します。.
-
#search_member(args = {}) ⇒ Response
- 2.6.2.1 会員参照
-
指定したサイトの会員情報を参照します。.
-
#search_trade(args = {}) ⇒ Response
- 2.16.2.1 取引状態参照
-
指定したオーダーIDの取引情報を取得します。.
-
#search_trade_btc(args = {}) ⇒ Response
- 21.1.2.1 取引状態参照 (BTC)
-
指定したオーダーIDの取引情報を取得します。.
-
#secure_tran(args = {}) ⇒ Response
- 2.2.2.4 認証後決済実行(本人認証サービス有)
-
本人認証サービスの結果を解析し、その情報を使用してカード会社と通信を行い決済を実施して結果を返します。.
-
#update_card(args = {}) ⇒ Response
- 2.7.2.1 カード更新
-
指定した会員のカード情報を更新します。 尚、サイトに設定されたショップIDを使用してカード会社と通信を行い、有効性の確認を行います。.
-
#update_member(args = {}) ⇒ Response
- 2.4.2.1 会員更新
-
指定されたサイトに会員情報を更新します。.
Constructor Details
Instance Method Details
#auth_to_sales(args = {}) ⇒ Response
- 2.14.2.1 決済変更(実売上)
-
仮売上の決済に対して実売上を行います。尚、実行時に仮売上時との金額チェックを行います。
370 371 372 373 |
# File 'lib/gmo_payment/client.rb', line 370 def auth_to_sales(args = {}) args[:job_cd] = 'SALES' call(__method__, args) end |
#call(method, args) ⇒ Response
Call the GMO-PG API.
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/gmo_payment/client.rb', line 38 def call(method, args) request = Request.new(method, args) raise GmoPayment::Errors::RequestMissingItemError.new(method, request.missing_items) if request.missing? raise GmoPayment::Errors::RequestInvalidItemError.new(method, request.invalid_items) if request.invalid? http_request = ::Net::HTTP::Post.new(post_path(method), header) if request_body = request.body http_request.body = request_body http_request.content_length = request_body.bytesize http_request.content_type = 'application/x-www-form-urlencoded' end proxy = @options.proxy http = ::Net::HTTP.new(@options.api_endpoint, 443, proxy.host, proxy.port, proxy.user, proxy.password) http.use_ssl = true http.ssl_version = :TLSv1_2 http.verify_mode = @options.verify_mode http.ssl_timeout = 120 http.open_timeout = 15 http.read_timeout = 90 res = http.request(http_request) rescue *NETWORK_ERRORS => error raise GmoPayment::Errors::NetworkError.new(method, request, error.) else response = Response.new(method, res) raise GmoPayment::Errors::ResponseHTTPError.new(method, request) if response.http_error? raise GmoPayment::Errors::ResponseHasErrCodeError.new(method, response) if response.error? response end |
#change_tran(args = {}) ⇒ Response
- 2.15.2.1 金額変更
-
決済が完了した取引に対して金額の変更を行います。
387 388 389 |
# File 'lib/gmo_payment/client.rb', line 387 def change_tran(args = {}) call(__method__, args) end |
#delete_card(args = {}) ⇒ Response
- 2.8.2.1 カード削除
-
指定した会員のカード情報を削除します。
253 254 255 |
# File 'lib/gmo_payment/client.rb', line 253 def delete_card(args = {}) call(__method__, args) end |
#delete_member(args = {}) ⇒ Response
- 2.5.2.1 会員削除
-
指定したサイトから会員情報を削除します。
186 187 188 |
# File 'lib/gmo_payment/client.rb', line 186 def delete_member(args = {}) call(__method__, args) end |
#delete_tran(args = {}) ⇒ Response
- 2.12.2.1 決済変更(取消)
-
決済が完了した取引に対して決済内容の取り消しを行います。 指定された取引情報を使用してカード会社と通信を行い取り消しを実施します。
338 339 340 |
# File 'lib/gmo_payment/client.rb', line 338 def delete_tran(args = {}) call(__method__, args) end |
#entry_tran(args = {}) ⇒ Response
- 2.1.2.1 取引登録
-
これ以降の決済取引で必要となる取引IDと取引パスワードの発行を行い、取引を開始します。
85 86 87 88 89 90 91 |
# File 'lib/gmo_payment/client.rb', line 85 def entry_tran(args = {}) if args[:job_cd] == 'CHECK' args.delete(:amount) args.delete(:tax) end call(__method__, args) end |
#entry_tran_btc(args = {}) ⇒ Response
- 18.1.2.1 取引登録 (BTC)
-
これ以降の決済取引で必要となる取引IDと取引パスワードの発行を行い、取引を開始します。
431 432 433 |
# File 'lib/gmo_payment/client.rb', line 431 def entry_tran_btc(args = {}) call(__method__, args) end |
#exec_tran(args = {}) ⇒ Response
- 2.1.2.2 決済実行
-
お客様が入力したカード番号と有効期限の情報でカード会社と通信を行い決済を実施し、結果を返します。
110 111 112 113 |
# File 'lib/gmo_payment/client.rb', line 110 def exec_tran(args = {}) args[:client_field_flag] = 1 call(__method__, args) end |
#exec_tran_3d(args = {}) ⇒ Response
- 2.2.2.2 決済実行(本人認証サービス有)
-
お客様が入力したカード番号と有効期限の情報でカード会社と通信を行い決済を実施し、結果を返します。
カード情報が本人認証サービスに対応していない場合は、カード会社との通信を行い決済を実行します。 その際の出力パラメータは「2.1.2.2 決済実行」の出力パラメータと同じになります。
135 136 137 138 139 |
# File 'lib/gmo_payment/client.rb', line 135 def exec_tran_3d(args = {}) args[:client_field_flag] = 1 args[:device_category] = 0 call(__method__, args) end |
#exec_tran_btc(args = {}) ⇒ Response
- 18.1.2.2 決済実行 (BTC)
-
契約情報を確認し、これ以降の処理に必要なトークンを返却します。
451 452 453 |
# File 'lib/gmo_payment/client.rb', line 451 def exec_tran_btc(args = {}) call(__method__, args) end |
#exec_tran_member(args = {}) ⇒ Response
- 2.10.2.3 決済実行
-
お客様が選択したカード登録連番のカード情報を取得します。 取得したカード情報でカード会社と通信を行い決済を実施し、結果を返します。
292 293 294 295 |
# File 'lib/gmo_payment/client.rb', line 292 def exec_tran_member(args = {}) args[:client_field_flag] = 1 call(__method__, args) end |
#exec_tran_member_3d(args = {}) ⇒ Response
- 2.11.2.3 決済実行
-
お客様が選択したカード登録連番のカード情報を取得します。
カード情報が本人認証サービスに対応していない場合は、カード会社との通信を行い決済を実行します。 その際の出力パラメータは「2.10.2.3 決済実行」の出力パラメータと同じになります。
321 322 323 324 325 |
# File 'lib/gmo_payment/client.rb', line 321 def exec_tran_member_3d(args = {}) args[:client_field_flag] = 1 args[:device_category] = 0 call(__method__, args) end |
#get_rate_btc(args = {}) ⇒ Object
注意: このレートは、決済後の円換算レートを保証するものではございません。 エンドユーザーに表示する場合等、参考値としてご利用下さい。 また、レートはリクエストビットコインウォレット事業者から取得した値を返却しております。 レートの更新頻度は、ウォレット事業者に依存いたします。
- 18.1.2.5 決済実行 (BTC)
-
ビットコインのレート(参考値)を返却します。
467 468 469 |
# File 'lib/gmo_payment/client.rb', line 467 def get_rate_btc(args = {}) call(__method__, args) end |
#re_exec_tran(args = {}) ⇒ Response
- 2.13.2.1 決済変更(再オーソリ)
-
取り消されている決済に対して再オーソリを行います。指定された決済情報を使用してカード会社と通信を行い実施します。
356 357 358 |
# File 'lib/gmo_payment/client.rb', line 356 def re_exec_tran(args = {}) call(__method__, args) end |
#save_card(args = {}) ⇒ Response
- 2.7.2.1 カード登録
-
指定した会員にカード情報を登録します。 尚、サイトに設定されたショップIDを使用してカード会社と通信を行い、有効性の確認を行います。
218 219 220 |
# File 'lib/gmo_payment/client.rb', line 218 def save_card(args = {}) call(__method__, args) end |
#save_member(args = {}) ⇒ Response
- 2.3.2.1 会員登録
-
指定されたサイトに会員を登録します。
161 162 163 |
# File 'lib/gmo_payment/client.rb', line 161 def save_member(args = {}) call(__method__, args) end |
#save_traded_card(args = {}) ⇒ Response
- 2.17.2.1 決済後カード登録
-
指定されたオーダーIDの取引に使用したカードを登録します。
417 418 419 |
# File 'lib/gmo_payment/client.rb', line 417 def save_traded_card(args = {}) call(__method__, args) end |
#search_card(args = {}) ⇒ Response
- 2.9.2.1 カード参照
-
指定した会員のカード情報を参照します。
267 268 269 |
# File 'lib/gmo_payment/client.rb', line 267 def search_card(args = {}) call(__method__, args) end |
#search_member(args = {}) ⇒ Response
- 2.6.2.1 会員参照
-
指定したサイトの会員情報を参照します。
198 199 200 |
# File 'lib/gmo_payment/client.rb', line 198 def search_member(args = {}) call(__method__, args) end |
#search_trade(args = {}) ⇒ Response
- 2.16.2.1 取引状態参照
-
指定したオーダーIDの取引情報を取得します。
399 400 401 |
# File 'lib/gmo_payment/client.rb', line 399 def search_trade(args = {}) call(__method__, args) end |
#search_trade_btc(args = {}) ⇒ Response
- 21.1.2.1 取引状態参照 (BTC)
-
指定したオーダーIDの取引情報を取得します。
479 480 481 482 |
# File 'lib/gmo_payment/client.rb', line 479 def search_trade_btc(args = {}) args[:pay_type] = 17 call(__method__, args) end |
#secure_tran(args = {}) ⇒ Response
- 2.2.2.4 認証後決済実行(本人認証サービス有)
-
本人認証サービスの結果を解析し、その情報を使用してカード会社と通信を行い決済を実施して結果を返します。
148 149 150 |
# File 'lib/gmo_payment/client.rb', line 148 def secure_tran(args = {}) call(__method__, args) end |
#update_card(args = {}) ⇒ Response
- 2.7.2.1 カード更新
-
指定した会員のカード情報を更新します。 尚、サイトに設定されたショップIDを使用してカード会社と通信を行い、有効性の確認を行います。
239 240 241 |
# File 'lib/gmo_payment/client.rb', line 239 def update_card(args = {}) call(__method__, args) end |
#update_member(args = {}) ⇒ Response
- 2.4.2.1 会員更新
-
指定されたサイトに会員情報を更新します。
174 175 176 |
# File 'lib/gmo_payment/client.rb', line 174 def update_member(args = {}) call(__method__, args) end |