Module: WebPayConnect

Defined in:
lib/webpay/scaffold/templates/models/web_pay_connect.rb

Class Method Summary collapse

Class Method Details

.charge_create(amount, card, description) ⇒ Object

新しい課金の作成



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/webpay/scaffold/templates/models/web_pay_connect.rb', line 3

def self.charge_create(amount, card, description)
  WebPay.api_key = Settings.web_pay_api_key
  response = WebPay::Charge.create(
    amount: amount,
    currency: Settings.web_pay_currency,
    card: {
      number:    card[:number],
      exp_month: card[:exp_month],
      exp_year:  card[:exp_year],
      cvc:       card[:cvc],
      name:      card[:name],
    },
    description: description
  ).to_hash

  card = response['card']
  card['kind']             = card['type']
  card['last_four_number'] = card['last4']
  card.delete('type')
  card.delete('last4')

  response['provider']       = 'WebPay'
  response['transaction_id'] = response['id']
  response['created']        = Time.at(response['created']) rescue nil
  response.delete('id')
  response.delete('card')

  return response, card
end

.charge_list(count = 10, offset = 0, created = nil, customer = nil) ⇒ Object

課金リストの取得



44
45
46
# File 'lib/webpay/scaffold/templates/models/web_pay_connect.rb', line 44

def self.charge_list(count=10, offset=0, created=nil, customer=nil)
  WebPay::Charge.all(count: count, offset: offset, created: created, customer: customer).map{ |x| x.to_hash }
end

.charge_retrieve(transaction_id) ⇒ Object

課金情報の取得



34
35
36
37
38
39
40
41
# File 'lib/webpay/scaffold/templates/models/web_pay_connect.rb', line 34

def self.charge_retrieve(transaction_id)
  WebPay.api_key = Settings.web_pay_api_key
  response = WebPay::Charge.retrieve(transaction_id).to_hash

  return response
rescue => e
  return e.message
end