Module: GMO::Payment::ShopAPIMethods

Included in:
ShopAPI
Defined in:
lib/gmo/shop_api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#hostObject (readonly)

Returns the value of attribute host.



28
29
30
# File 'lib/gmo/shop_api.rb', line 28

def host
  @host
end

#localeObject (readonly)

Returns the value of attribute locale.



28
29
30
# File 'lib/gmo/shop_api.rb', line 28

def locale
  @locale
end

#shop_idObject (readonly)

Returns the value of attribute shop_id.



28
29
30
# File 'lib/gmo/shop_api.rb', line 28

def shop_id
  @shop_id
end

#shop_passObject (readonly)

Returns the value of attribute shop_pass.



28
29
30
# File 'lib/gmo/shop_api.rb', line 28

def shop_pass
  @shop_pass
end

Instance Method Details

#alter_tran(options = {}) ⇒ Object

2.14.2.1.決済変更 仮売上の決済に対して実売上を行います。尚、実行時に仮売上時との金額チェックを行います。 /payment/AlterTran.idPass ShopID ShopPass AccessID 取引ID AccessPass 取引パスワード JobCd 処理区分 “SALES” Amount 利用金額 AccessID AccessPass Forward Approve TranID TranDate example ### gmo.alter_tran(

access_id:    "a41d83f1f4c908baeda04e6dc03e300c",
access_pass:  "d72eca02e28c88f98b9341a33ba46d5d",
job_cd: "SALES",
amount: 100

) “AccessPass”=>“cc0093ca8758c6616fa0ab9bf6a43e8d”, “Forward”=>“2a99662”, “Approve”=>“6284199”, “TranID”=>“1302140555111111111111193536”, “TranDate”=>“20130215110651”

Returns:

  • ###



447
448
449
450
451
452
# File 'lib/gmo/shop_api.rb', line 447

def alter_tran(options = {})
  name = "AlterTran.idPass"
  required = [:access_id, :access_pass, :job_cd]
  assert_required_options(required, options)
  post_request name, options
end

#change_tran(options = {}) ⇒ Object

2.15.2.1.金額変更 決済が完了した取引に対して金額の変更を行います。 AccessID AccessPass Forward Approve TranID TranDate example ### gmo.change_tran(

access_id:    "a41d83f1f4c908baeda04e6dc03e300c",
access_pass:  "d72eca02e28c88f98b9341a33ba46d5d",
job_cd: "CAPTURE",
amount: 100

)

Returns:

  • ###



470
471
472
473
474
475
# File 'lib/gmo/shop_api.rb', line 470

def change_tran(options = {})
  name = "ChangeTran.idPass"
  required = [:access_id, :access_pass, :job_cd, :amount]
  assert_required_options(required, options)
  post_request name, options
end

#change_tran_brandtoken(options = {}) ⇒ Object

AccessID AccessPass OrderID JobCd Amount Tax AccessID AccessPass Status Forward Approve TranID TranDate example ### gmo.change_tran_brandtoken(

access_id: "21170701482c86c3b88ff72b83bfd363",
access_pass: "51f36feba120de1e6e29532e5a3a5e3e",
order_id: "ord10001",
job_cd: "CAPTURE",
amount: 2000

)

> “AccessPass”=>“51f36feba120de1e6e29532e5a3a5e3e”, “Status”=>“CAPTURE”, “Forward”=>“2a99663”, “Approve”=>“5538477”, “TranID”=>“1707311633111111111111771224”, “TranDate”=>“20170731163343”

Returns:

  • ###



501
502
503
504
505
506
# File 'lib/gmo/shop_api.rb', line 501

def change_tran_brandtoken(options = {})
  name = "ChangeTranBrandtoken.idPass"
  required = [:access_id, :access_pass, :order_id, :job_cd, :amount]
  assert_required_options(required, options)
  post_request name, options
end

#cvs_cancel(options = {}) ⇒ Object

【コンビニ払い】 2.2.2.1. 支払停止 コンビニ決済センターとの通信を行い取引の支払停止処理を行います。



597
598
599
600
601
602
# File 'lib/gmo/shop_api.rb', line 597

def cvs_cancel(options = {})
  name = "CvsCancel.idPass"
  required = [:access_id, :access_pass, :order_id]
  assert_required_options(required, options)
  post_request name, options
end

#entry_tran(options = {}) ⇒ Object

2.1.2.1.取引登録 これ以降の決済取引で必要となる取引 ID と取引パスワードの発行を行い、取引を開始します。 ItemCode Tax TdFlag TdTenantName AccessID AccessPass ErrCode ErrInfo example ### gmo.entry_tran(

order_id: 100,
job_cd: "AUTH",
amount: 100

) “AccessPass”=>“d72eca02e28c88f98b9341a33ba46d5d”

Returns:

  • ###



48
49
50
51
52
53
54
# File 'lib/gmo/shop_api.rb', line 48

def entry_tran(options = {})
  name = "EntryTran.idPass"
  required = [:order_id, :job_cd]
  required << :amount if options[:job_cd] && options[:job_cd] != "CHECK"
  assert_required_options(required, options)
  post_request name, options
end

#entry_tran_brandtoken(options = {}) ⇒ Object

OrderID JobCd Amount ItemCode Tax AccessID AccessPass example ### gmo.entry_tran_brandtoken(

order_id: "ord12345",
job_cd: "AUTH",
item_code: "1000001",
tax: "0001001",
amount: 100

)

> “AccessPass”=>“2689b204d2c17192fa35f9269fa7e744”

Returns:

  • ###



104
105
106
107
108
109
# File 'lib/gmo/shop_api.rb', line 104

def entry_tran_brandtoken(options = {})
  name = "EntryTranBrandtoken.idPass"
  required = [:order_id, :job_cd, :amount]
  assert_required_options(required, options)
  post_request name, options
end

#entry_tran_cvs(options = {}) ⇒ Object

【コンビニ払い】

2.1.2.1. 取引登録
これ以降の決済取引で必要となる取引IDと取引パスワードの発行を行い、取引を開始します。


59
60
61
62
63
64
# File 'lib/gmo/shop_api.rb', line 59

def entry_tran_cvs(options = {})
  name = "EntryTranCvs.idPass"
  required = [:order_id, :amount]
  assert_required_options(required, options)
  post_request name, options
end

#entry_tran_docomo(options = {}) ⇒ Object

OrderID JobCd Amount ItemCode Tax AccessID AccessPass example ### gmo.entry_tran_docomo(

order_id: "ord12345",
job_cd: "AUTH",
item_code: "1000001",
tax: "0001001",
amount: 100

)

> “AccessPass”=>“2689b204d2c17192fa35f9269fa7e744”

Returns:

  • ###



154
155
156
157
158
159
# File 'lib/gmo/shop_api.rb', line 154

def entry_tran_docomo(options = {})
  name = "EntryTranDocomo.idPass"
  required = [:order_id, :job_cd, :amount]
  assert_required_options(required, options)
  post_request name, options
end

#entry_tran_edy(options = {}) ⇒ Object

OrderID Amount Tax AccessID AccessPass example ### gmo.entry_tran_edy(

order_id: "ord12345",
tax: "0001001",
amount: 100

)

> “AccessPass”=>“2689b204d2c17192fa35f9269fa7e744”

Returns:

  • ###



217
218
219
220
221
222
# File 'lib/gmo/shop_api.rb', line 217

def entry_tran_edy(options = {})
  name = "EntryTranEdy.idPass"
  required = [:order_id, :amount]
  assert_required_options(required, options)
  post_request name, options
end

#entry_tran_linepay(options = {}) ⇒ Object

【LINE Pay決済】

20.1.2.1. 取引登録
これ以降の決済取引で必要となる取引IDと取引パスワードの発行を行い、取引を開始します。


79
80
81
82
83
84
# File 'lib/gmo/shop_api.rb', line 79

def entry_tran_linepay(options = {})
  name = "EntryTranLinepay.idPass"
  required = [:order_id, :job_cd, :amount]
  assert_required_options(required, options)
  post_request name, options
end

#entry_tran_pay_easy(options = {}) ⇒ Object

【Pay-easy決済】

5.1.2.1. 取引登録
これ以降の決済取引で必要となる取引IDと取引パスワードの発行を行い、取引を開始します。


69
70
71
72
73
74
# File 'lib/gmo/shop_api.rb', line 69

def entry_tran_pay_easy(options = {})
  name = "EntryTranPayEasy.idPass"
  required = [:order_id, :amount]
  assert_required_options(required, options)
  post_request name, options
end

#entry_tran_rakuten_id(options = {}) ⇒ Object

OrderID JobCd Amount ItemCode Tax AccessID AccessPass example ### gmo.entry_tran_rakuten_id(

order_id: "ord12345",
job_cd: "AUTH",
item_code: "1000001",
tax: "0001001",
amount: 100

)

> “AccessPass”=>“2689b204d2c17192fa35f9269fa7e744”

Returns:

  • ###



129
130
131
132
133
134
# File 'lib/gmo/shop_api.rb', line 129

def entry_tran_rakuten_id(options = {})
  name = "EntryTranRakutenId.idPass"
  required = [:order_id, :job_cd, :amount]
  assert_required_options(required, options)
  post_request name, options
end

#entry_tran_suica(options = {}) ⇒ Object

OrderID Amount Tax AccessID AccessPass example ### gmo.entry_tran_suica(

order_id: "ord12345",
tax: "0001001",
amount: 100

)

> “AccessPass”=>“2689b204d2c17192fa35f9269fa7e744”

Returns:

  • ###



196
197
198
199
200
201
# File 'lib/gmo/shop_api.rb', line 196

def entry_tran_suica(options = {})
  name = "EntryTranSuica.idPass"
  required = [:order_id, :amount]
  assert_required_options(required, options)
  post_request name, options
end

#entry_tran_virtualaccount(options = {}) ⇒ Object

OrderID Amount Tax AccessID AccessPass example ### gmo.entry_tran_virtualaccount(

order_id: "ord12345",
tax: "0001001",
amount: 100

)

> “AccessPass”=>“2689b204d2c17192fa35f9269fa7e744”

Returns:

  • ###



175
176
177
178
179
180
# File 'lib/gmo/shop_api.rb', line 175

def entry_tran_virtualaccount(options = {})
  name = "EntryTranVirtualaccount.idPass"
  required = [:order_id, :amount]
  assert_required_options(required, options)
  post_request name, options
end

#exec_tran(options = {}) ⇒ Object

2.2.2.2.決済実行 指定されたサイトに会員を登録します。 return ACS OrderID Forward Method PayTimes Approve TranID TranDate CheckString ClientField1 ClientField2 ClientField3 ACS OrderID Forward Method PayTimes Approve TranID CheckString ClientField1 ClientField2 ClientField3 example ### gmo.exec_tran(

order_id:      100,
access_id:    "a41d83f1f4c908baeda04e6dc03e300c",
access_pass:  "d72eca02e28c88f98b9341a33ba46d5d",
method:        1,
pay_times:     1,
card_no:       "4111111111111111",
expire:        "1405", #format YYMM
client_field_1: "client_field1"

) “OrderID”=>“100”, “Forward”=>“2a99662”, “Method”=>“1”, “PayTimes”=>“”, “Approve”=>“6294780”, “TranID”=>“1302160543111111111111192829”, “TranDate”=>“20130216054346”, “CheckString”=>“3e455a2168fefc90dbb7db7ef7b0fe82”, “ClientField1”=>“client_field1”, “ClientField2”=>“”, “ClientField3”=>“”

Returns:

  • ###



263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
# File 'lib/gmo/shop_api.rb', line 263

def exec_tran(options = {})
  name = "ExecTran.idPass"
  if options[:client_field_1] || options[:client_field_2] || options[:client_field_3]
    options[:client_field_flg] = "1"
  else
    options[:client_field_flg] = "0"
  end
  options[:device_category] = "0"

  # args = {
  #   "AccessID"        => options[:access_id],
  #   "AccessPass"      => options[:access_pass],
  #   "OrderID"         => options[:order_id],
  #   "Method"          => options[:method],
  #   "PayTimes"        => options[:pay_times],
  #   "CardNo"          => options[:card_no],
  #   "Expire"          => options[:expire],
  #   "HttpAccept"      => options[:http_accept],
  #   "HttpUserAgent"   => options[:http_ua],
  #   "DeviceCategory"  => "0",
  #   "ClientField1"    => options[:client_field_1],
  #   "ClientField2"    => options[:client_field_2],
  #   "ClientField3"    => options[:client_field_3],
  #   "ClientFieldFlag" => client_field_flg
  # }
  if options[:token].nil?
    required = [:access_id, :access_pass, :order_id, :card_no, :expire]
  else
    required = [:access_id, :access_pass, :token]
  end
  assert_required_options(required, options)
  post_request name, options
end

#exec_tran_brandtoken(options = {}) ⇒ Object

AccessID AccessPass OrderID TokenType Token MemberID SeqMode TokenSeq ClientField1 ClientField2 ClientField3 Status OrderID Forward Approve TranID TranDate ClientField1 ClientField2 ClientField3 example ### gmo.exec_tran_brandtoken(

order_id: "597ae8c36120b23a3c00014e",
access_id: "139f8ec33a07c55f406937c52ce4473d",
access_pass: "2689b204d2c17192fa35f9269fa7e744",
token_type: :apple_pay,
token: <Base64 encoded payment data>,
seq_mode: "1",
token_seq: 1001,
client_field_1: "Custom field value 1",
client_field_2: "Custom field value 2",
client_field_3: "Custom field value 3"

)

> “OrderID”=>“597ae8c36120b23a3c00014e”, “Forward”=>“2a99663”, “Approve”=>“5487394”, “TranID”=>“1707281634111111111111771216”, “TranDate”=>“20170728163453”, “ClientField1”=>“Custom field value 1”, “ClientField2”=>“Custom field value 2”, “ClientField3”=>“Custom field value 3”

Returns:

  • ###



415
416
417
418
419
420
421
# File 'lib/gmo/shop_api.rb', line 415

def exec_tran_brandtoken(options = {})
  name = "ExecTranBrandtoken.idPass"
  options[:token_type] = GMO::Const::TOKEN_TYPES_MAP[options[:token_type]]
  required = [:access_id, :access_pass, :order_id]
  assert_required_options(required, options)
  post_request name, options
end

#exec_tran_cvs(options = {}) ⇒ Object

【コンビニ払い】 2.1.2.2. 決済実行 お客様が入力した情報で後続の決済センターと通信を行い決済を実施し、結果を返します。



308
309
310
311
312
313
# File 'lib/gmo/shop_api.rb', line 308

def exec_tran_cvs(options = {})
  name = "ExecTranCvs.idPass"
  required = [:access_id, :access_pass, :order_id, :convenience, :customer_name, :customer_kana, :tel_no, :receipts_disp_11, :receipts_disp_12, :receipts_disp_13]
  assert_required_options(required, options)
  post_request name, options
end

#exec_tran_docomo(options = {}) ⇒ Object

【ドコモ払い決済】 18.1.2.2. 決済実行



345
346
347
348
349
350
# File 'lib/gmo/shop_api.rb', line 345

def exec_tran_docomo(options = {})
  name = "ExecTranDocomo.idPass"
  required = [:access_id, :access_pass, :order_id]
  assert_required_options(required, options)
  post_request name, options
end

#exec_tran_edy(options = {}) ⇒ Object

【楽天Edy決済】 18.1.2.2. 決済実行



372
373
374
375
376
377
# File 'lib/gmo/shop_api.rb', line 372

def exec_tran_edy(options = {})
  name = "ExecTranEdy.idPass"
  required = [:access_id, :access_pass, :order_id, :mail_address]
  assert_required_options(required, options)
  post_request name, options
end

#exec_tran_linepay(options = {}) ⇒ Object

【LINE Pay決済】 20.1.2.2. 決済実行



327
328
329
330
331
332
# File 'lib/gmo/shop_api.rb', line 327

def exec_tran_linepay(options = {})
  name = "ExecTranLinepay.idPass"
  required = [:access_id, :access_pass, :order_id, :ret_url, :error_rcv_url, :product_name]
  assert_required_options(required, options)
  post_request name, options
end

#exec_tran_pay_easy(options = {}) ⇒ Object

【Pay-easy決済】 5.1.2.2. 決済実行 お客様が入力した情報で後続の決済センターと通信を行い決済を実施し、結果を返します。



318
319
320
321
322
323
# File 'lib/gmo/shop_api.rb', line 318

def exec_tran_pay_easy(options = {})
  name = "ExecTranPayEasy.idPass"
  required = [:access_id, :access_pass, :order_id, :customer_name, :customer_kana, :tel_no, :receipts_disp_11, :receipts_disp_12, :receipts_disp_13]
  assert_required_options(required, options)
  post_request name, options
end

#exec_tran_rakuten_id(options = {}) ⇒ Object

【楽天ペイ決済】 18.1.2.2. 決済実行



336
337
338
339
340
341
# File 'lib/gmo/shop_api.rb', line 336

def exec_tran_rakuten_id(options = {})
  name = "ExecTranRakutenId.idPass"
  required = [:access_id, :access_pass, :order_id]
  assert_required_options(required, options)
  post_request name, options
end

#exec_tran_suica(options = {}) ⇒ Object

【モバイルSuica決済】 18.1.2.2. 決済実行



363
364
365
366
367
368
# File 'lib/gmo/shop_api.rb', line 363

def exec_tran_suica(options = {})
  name = "ExecTranSuica.idPass"
  required = [:access_id, :access_pass, :order_id, :item_name, :mail_address]
  assert_required_options(required, options)
  post_request name, options
end

#exec_tran_virtualaccount(options = {}) ⇒ Object

【銀行振込(バーチャル口座)決済】 18.1.2.2. 決済実行



354
355
356
357
358
359
# File 'lib/gmo/shop_api.rb', line 354

def exec_tran_virtualaccount(options = {})
  name = "ExecTranVirtualaccount.idPass"
  required = [:access_id, :access_pass, :order_id, :trade_days]
  assert_required_options(required, options)
  post_request name, options
end

#initialize(options = {}) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/gmo/shop_api.rb', line 19

def initialize(options = {})
  @shop_id   = options[:shop_id]
  @shop_pass = options[:shop_pass]
  @host      = options[:host]
  @locale    = options.fetch(:locale, GMO::Const::DEFAULT_LOCALE)
  unless @shop_id && @shop_pass && @host
    raise ArgumentError, "Initialize must receive a hash with :shop_id, :shop_pass and either :host! (received #{options.inspect})"
  end
end

#refund_tran_brandtoken(options = {}) ⇒ Object

AccessID AccessPass OrderID Amount Tax AccessID AccessPass Status Forward Approve TranID TranDate example ### gmo.refund_tran_brandtoken(

access_id: "139f8ec33a07c55f406937c52ce4473d",
access_pass: "2689b204d2c17192fa35f9269fa7e744",
order_id: "597ae8c36120b23a3c00014e",
amount: 1000,
tax: "0001001"

)

> “AccessPass”=>“2689b204d2c17192fa35f9269fa7e744”, “Status”=>“RETURN”, “Forward”=>“2a99663”, “Approve”=>“5537883”, “TranID”=>“1707311620111111111111771220”, “TranDate”=>“20170731162256”

Returns:

  • ###



587
588
589
590
591
592
# File 'lib/gmo/shop_api.rb', line 587

def refund_tran_brandtoken(options = {})
  name = "RefundTranBrandtoken.idPass"
  required = [:access_id, :access_pass, :order_id, :amount]
  assert_required_options(required, options)
  post_request name, options
end

#sales_tran_brandtoken(options = {}) ⇒ Object

AccessID AccessPass OrderID Amount Tax AccessID AccessPass Status Forward Approve TranID TranDate example ### gmo.sales_tran_brandtoken(

access_id: "139f8ec33a07c55f406937c52ce4473d",
access_pass: "2689b204d2c17192fa35f9269fa7e744",
order_id: "597ae8c36120b23a3c00014e",
amount: 1000,
tax: "0001001"

)

> “AccessPass”=>“2689b204d2c17192fa35f9269fa7e744”, “Status”=>“SALES”, “Forward”=>“2a99663”, “Approve”=>“5537883”, “TranID”=>“1707311620111111111111771220”, “TranDate”=>“20170731162256”

Returns:

  • ###



557
558
559
560
561
562
# File 'lib/gmo/shop_api.rb', line 557

def sales_tran_brandtoken(options = {})
  name = "SalesTranBrandtoken.idPass"
  required = [:access_id, :access_pass, :order_id, :amount]
  assert_required_options(required, options)
  post_request name, options
end

#search_trade(options = {}) ⇒ Object

2.16.2.1.取引状態参照 指定したオーダーID の取引情報を取得します。



606
607
608
609
610
611
# File 'lib/gmo/shop_api.rb', line 606

def search_trade(options = {})
  name = "SearchTrade.idPass"
  required = [:order_id]
  assert_required_options(required, options)
  post_request name, options
end

#search_trade_multi(options = {}) ⇒ Object

13.1.2.1.取引状態参照 指定したオーダーIDの取引情報を取得します。 OrderID PayType OrderID Status ProcessDate JobCd AccessID AccessPass ItemCode Amount Tax SiteID MemberID CardNoToken Expire Method PayTimes Forward TranID Approve ClientField1 ClientField2 ClientField3 PayType example ### gmo.search_trade_multi(

order_id: '598066176120b2235300020b',
pay_type: 27

)

> “Status”=>“CAPTURE”, “ProcessDate”=>“20170801202929”, “JobCd”=>“CAPTURE”, “AccessID”=>“228fc5bc02da46943300c12706d325a2”, “AccessPass”=>“090a50ec2f77d92184a18018f07906e5”, “ItemCode”=>“0000990”, “Amount”=>“557”, “Tax”=>“0”, “SiteID”=>“”, “MemberID”=>“”, “CardNoToken”=>“************1111”, “Expire”=>“2212”, “Method”=>“1”, “PayTimes”=>“”, “Forward”=>“2a99663”, “TranID”=>“1708012029111111111111771228”, “Approve”=>“5689128”, “ClientField1”=>“”, “ClientField2”=>“”, “ClientField3”=>“”, “PayType”=>“27”

Returns:

  • ###



647
648
649
650
651
652
# File 'lib/gmo/shop_api.rb', line 647

def search_trade_multi(options = {})
  name = "SearchTradeMulti.idPass"
  required = [:order_id, :pay_type]
  assert_required_options(required, options)
  post_request name, options
end

#secure_tran(options = {}) ⇒ Object

2.2.2.4 認証後決済実行



298
299
300
301
302
303
# File 'lib/gmo/shop_api.rb', line 298

def secure_tran(options = {})
  name = "SecureTran.idPass"
  required = [:pa_res, :md]
  assert_required_options(required, options)
  post_request name, options
end

#void_tran_brandtoken(options = {}) ⇒ Object

AccessID AccessPass OrderID AccessID AccessPass Status Forward Approve TranID TranDate example ### gmo.void_tran_brandtoken(

access_id: "139f8ec33a07c55f406937c52ce4473d",
access_pass: "2689b204d2c17192fa35f9269fa7e744",
order_id: "597ae8c36120b23a3c00014e"

)

> “AccessPass”=>“2689b204d2c17192fa35f9269fa7e744”, “Status”=>“VOID”, “Forward”=>“2a99663”, “Approve”=>“5537590”, “TranID”=>“1707311610111111111111771219”, “TranDate”=>“20170731161007”

Returns:

  • ###



527
528
529
530
531
532
# File 'lib/gmo/shop_api.rb', line 527

def void_tran_brandtoken(options = {})
  name = "VoidTranBrandtoken.idPass"
  required = [:access_id, :access_pass, :order_id]
  assert_required_options(required, options)
  post_request name, options
end