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:

  • ###



349
350
351
352
353
354
# File 'lib/gmo/shop_api.rb', line 349

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:

  • ###



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

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:

  • ###



403
404
405
406
407
408
# File 'lib/gmo/shop_api.rb', line 403

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



499
500
501
502
503
504
# File 'lib/gmo/shop_api.rb', line 499

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:

  • ###



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

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



237
238
239
240
241
242
# File 'lib/gmo/shop_api.rb', line 237

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



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

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



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

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



247
248
249
250
251
252
# File 'lib/gmo/shop_api.rb', line 247

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



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

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:

  • ###



489
490
491
492
493
494
# File 'lib/gmo/shop_api.rb', line 489

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:

  • ###



459
460
461
462
463
464
# File 'lib/gmo/shop_api.rb', line 459

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



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

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:

  • ###



549
550
551
552
553
554
# File 'lib/gmo/shop_api.rb', line 549

def search_trade_multi(options = {})
  name = "SearchTradeMulti.idPass"
  required = [:order_id, :pay_type]
  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:

  • ###



429
430
431
432
433
434
# File 'lib/gmo/shop_api.rb', line 429

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