module GMO::Payment::ShopAndSiteAPIMethods
Attributes
Public Class Methods
# 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
@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
@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
@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
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
@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
# 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