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:

  • ###



357
358
359
360
361
362
# File 'lib/gmo/shop_api.rb', line 357

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:

  • ###



380
381
382
383
384
385
# File 'lib/gmo/shop_api.rb', line 380

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:

  • ###



411
412
413
414
415
416
# File 'lib/gmo/shop_api.rb', line 411

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. 支払停止 コンビニ決済センターとの通信を行い取引の支払停止処理を行います。



507
508
509
510
511
512
# File 'lib/gmo/shop_api.rb', line 507

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_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

#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:

  • ###



200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
# File 'lib/gmo/shop_api.rb', line 200

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:

  • ###



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

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. 決済実行 お客様が入力した情報で後続の決済センターと通信を行い決済を実施し、結果を返します。



245
246
247
248
249
250
# File 'lib/gmo/shop_api.rb', line 245

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. 決済実行



282
283
284
285
286
287
# File 'lib/gmo/shop_api.rb', line 282

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_linepay(options = {}) ⇒ Object

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



264
265
266
267
268
269
# File 'lib/gmo/shop_api.rb', line 264

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. 決済実行 お客様が入力した情報で後続の決済センターと通信を行い決済を実施し、結果を返します。



255
256
257
258
259
260
# File 'lib/gmo/shop_api.rb', line 255

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. 決済実行



273
274
275
276
277
278
# File 'lib/gmo/shop_api.rb', line 273

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

#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:

  • ###



497
498
499
500
501
502
# File 'lib/gmo/shop_api.rb', line 497

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:

  • ###



467
468
469
470
471
472
# File 'lib/gmo/shop_api.rb', line 467

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 の取引情報を取得します。



516
517
518
519
520
521
# File 'lib/gmo/shop_api.rb', line 516

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:

  • ###



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

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 認証後決済実行



235
236
237
238
239
240
# File 'lib/gmo/shop_api.rb', line 235

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:

  • ###



437
438
439
440
441
442
# File 'lib/gmo/shop_api.rb', line 437

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