Class: ActiveMerchant::Billing::EpsilonLinkPaymentGateway

Inherits:
EpsilonBaseGateway show all
Defined in:
lib/active_merchant/billing/gateways/epsilon_link_payment.rb

Constant Summary collapse

RESPONSE_KEYS =
DEFAULT_RESPONSE_KEYS + [
  :redirect,
]

Constants inherited from EpsilonBaseGateway

ActiveMerchant::Billing::EpsilonBaseGateway::DEFAULT_RESPONSE_KEYS

Instance Method Summary collapse

Instance Method Details

#purchase(amount, detail = {}, delivery_info_required = true) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/active_merchant/billing/gateways/epsilon_link_payment.rb', line 9

def purchase(amount, detail = {}, delivery_info_required = true)
  params = {
    contract_code: self.contract_code,
    user_id:       detail[:user_id],
    user_name:     detail[:user_name],
    user_mail_add: detail[:user_email],
    item_code:     detail[:item_code],
    item_name:     detail[:item_name],
    order_number:  detail[:order_number],
    st_code:       detail[:st_code],
    mission_code:  EpsilonMissionCode::PURCHASE,
    item_price:    amount,
    process_code:  EpsilonProcessCode::FIRST,
    xml: 1, # 応答形式。1: xml形式を固定
  }

  # 注文情報の詳細が必要な場合のみ、セットする
  if delivery_info_required
    params[:delivery_code] = 99 # 配送区分。99で固定
    params[:consignee_postal] = detail[:consignee_postal]
    params[:consignee_name] = detail[:consignee_name]
    params[:consignee_address] = detail[:consignee_address]
    params[:consignee_tel] = detail[:consignee_tel]
    params[:orderer_postal] = detail[:orderer_postal]
    params[:orderer_name] = detail[:orderer_name]
    params[:orderer_address] = detail[:orderer_address]
    params[:orderer_tel] = detail[:orderer_tel]
  end

  params[:memo1] = detail[:memo1] if detail.has_key?(:memo1)
  params[:memo2] = detail[:memo2] if detail.has_key?(:memo2)
  params[:user_tel] = detail[:user_tel] if detail.has_key?(:user_tel)

  commit('receive_order3.cgi', params, RESPONSE_KEYS)
end

#void(order_number) ⇒ Object



45
46
47
48
49
50
51
52
# File 'lib/active_merchant/billing/gateways/epsilon_link_payment.rb', line 45

def void(order_number)
  params = {
    contract_code: self.contract_code,
    order_number: order_number
  }

  commit('cancel_payment.cgi', params)
end