module GMO::Payment::ShopAndSiteAPIMethods

Attributes

host[R]
locale[R]
shop_id[R]
shop_pass[R]
site_id[R]
site_pass[R]

Public Class Methods

new(options = {}) click to toggle source
   # File lib/gmo/shop_and_site_api.rb
18 def initialize(options = {})
19   @shop_id   = options[:shop_id]
20   @shop_pass = options[:shop_pass]
21   @site_id   = options[:site_id]
22   @site_pass = options[:site_pass]
23   @host      = options[:host]
24   @locale    = options.fetch(:locale, GMO::Const::DEFAULT_LOCALE)
25   unless @site_id && @site_pass && @shop_id && @shop_pass && @host
26     raise ArgumentError, "Initialize must receive a hash with :site_id, :site_pass, :shop_id, :shop_pass and either :host! (received #{options.inspect})"
27   end
28 end

Public Instance Methods

exec_tran_brandtoken(options = {}) click to toggle source
@params ###

AccessID AccessPass OrderID TokenType Token MemberID SeqMode TokenSeq ClientField1 ClientField2 ClientField3

@return ###

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>,
member_id: "mem10001"

})

> {“Status”=>“CAPTURE”, “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”}

    # File lib/gmo/shop_and_site_api.rb
 98 def exec_tran_brandtoken(options = {})
 99   name = "ExecTranBrandtoken.idPass"
100   options[:token_type] = GMO::Const::TOKEN_TYPES_MAP[options[:token_type]]
101   required = [:access_id, :access_pass, :member_id, :order_id]
102   assert_required_options(required, options)
103   post_request name, options
104 end
register_recurring_credit(options = {}) click to toggle source
@params ###

ShopID ShopPass RecurringID Amount Tax ChargeDay ChargeMonth ChargeStartDate ChargeStopDate RegistType SiteID SitePass MemberID CardNo Expire SrcOrderID ClientField1 ClientField2 ClientField3

@return ###

ShopID RecurringID Amount Tax ChargeDay ChargeMonth ChargeStartDate ChargeStopDate NextChargeDate Method

example ###

gmo.register_recurring_credit({

recurring_id: "1535964921",
amount: 100,
regist_type: GMO::Const::RECURRING_REGIST_TYPE[:member_id],
member_id: "mem10001"

})

> {“ShopID”=>“tshop0001”, “RecurringID”=>“1535964921”, “Amount”=>“100”, “Tax”=>“0”, “ChargeDay”=>“31”, “ChargeMonth”=>“01|02|03|04|05|06|07|08|09|10|11|12”, “ChargeStartDate”=>“20180904”, “ChargeStopDate”=>“”, “NextChargeDate”=>“20180930”, “Method”=>“RECURRING_CREDIT”, “CardNo”=>“”, “Expire”=>“”, “SiteID”=>“”, “MemberID”=>“mem1001”}

    # File lib/gmo/shop_and_site_api.rb
145 def register_recurring_credit(options = {})
146   name = "RegisterRecurringCredit.idPass"
147   required = [:recurring_id, :charge_day, :amount, :regist_type]
148   required += case options[:regist_type].to_i
149               when 1
150                 options.update(site_id: @site_id, site_pass: @site_pass)
151                 [:member_id]
152               when 2
153                 [:card_no, :expire]
154               when 3
155                 [:src_order_id]
156               end
157   assert_required_options(required, options)
158   post_request name, options
159 end
trade_brandtoken(options = {}) click to toggle source
@params ###

MemberID OrderID DefaultFlag SeqMode

@return ###

TokenSeq CardNoToken Forward

example ###

gmo.trade_brandtoken({

member_id: 'mem10001',
order_id: 'ord10001'

})

> {“TokenSeq”=>“0”, “CardNoToken”=>“*************111”, “Forward”=>“2a99663”}

   # File lib/gmo/shop_and_site_api.rb
59 def trade_brandtoken(options = {})
60   name = "TradedBrandtoken.idPass"
61   required = [:order_id, :member_id]
62   assert_required_options(required, options)
63   post_request name, options
64 end
trade_card(options = {}) click to toggle source

2.17.2.1.決済後カード登録指定されたオーダーID の取引に使用したカードを登録します。

@return ###

CardSeq CardNo Forward

   # File lib/gmo/shop_and_site_api.rb
37 def trade_card(options = {})
38   name = "TradedCard.idPass"
39   required = [:order_id, :member_id]
40   assert_required_options(required, options)
41   post_request name, options
42 end
unregister_recurring(options = {}) click to toggle source
@params ###

ShopID ShopPass RecurringID

@return ###

ShopID RecurringID Amount Tax ChargeDay ChargeMonth ChargeStartDate ChargeStopDate NextChargeDate Method SiteID MemberID CardNo Expire PrintStr ErrCode ErrInfo

example ###

gmo.unregister_recurring({

recurring_id: "1535964921"

})

> {“ShopID”=>“tshop0001”, “RecurringID”=>“1536039145”, “Amount”=>“100”, “Tax”=>“0”, “ChargeDay”=>“31”, “ChargeMonth”=>“01|02|03|04|05|06|07|08|09|10|11|12”, “ChargeStartDate”=>“20180905”, “ChargeStopDate”=>“”, “NextChargeDate”=>“”, “Method”=>“RECURRING_CREDIT”, “CardNo”=>“”, “Expire”=>“”, “SiteID”=>“tsite0001”, “MemberID”=>“mem1001”, “PrintStr”=>“”}

    # File lib/gmo/shop_and_site_api.rb
188 def unregister_recurring(options = {})
189   name = "UnregisterRecurring.idPass"
190   options.merge!(site_id: @site_id, site_pass: @site_pass)
191   required = [:recurring_id]
192   assert_required_options(required, options)
193   post_request name, options
194 end

Private Instance Methods

api_call(name, args = {}, verb = "post", options = {}) click to toggle source
    # File lib/gmo/shop_and_site_api.rb
198 def api_call(name, args = {}, verb = "post", options = {})
199   args.merge!({
200     "ShopID"   => @shop_id,
201     "ShopPass" => @shop_pass,
202     "SiteID"   => @site_id,
203     "SitePass" => @site_pass
204   })
205   api(name, args, verb, options) do |response|
206     if response.is_a?(Hash) && !response["ErrInfo"].nil?
207       raise APIError.new(response, locale)
208     end
209   end
210 end