mpower 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0b676c752996e39eb10bd0a16d09707ef74864ad
4
- data.tar.gz: 6aab320951cce7aac02945babeee8eb7fc9f15bd
3
+ metadata.gz: ba259b19d4fc1108a05c33a3d736e856bd15aacf
4
+ data.tar.gz: 6cfa7d0e610d3de5cc061bd40ea3defad5246e20
5
5
  SHA512:
6
- metadata.gz: 165d30e25eaaa2529add143af4fe0f4c8428d05d44787d5eac24226b63f7c6a427fee29cd83d9f359b0465b69690aee24cd140eec1aee4f5a0b940a509111da2
7
- data.tar.gz: e9da1047e1ef984d60bfc50365765180de2a668abfcff13f11eae3be799a97ab911280610280507b33523a16c60969592c85a9f40851e1c0249ddf786fda4e52
6
+ metadata.gz: 476ee9902f862bed3f948d24fdfb35151be6ec5a6e2fd0dc359e843f77fbb22ee3b8dffdf012d0ba005bbf6a30b4f5037f70f5de16ed42abb295e957df08a73d
7
+ data.tar.gz: 4a7bbc4b69626af9d9fdbda8bf7439122a094e28131266699036b2699987be15b0286b513fef1f3e580b82cbcde899365c3937d2fbd9ffbe1adc994288c8fc1b
@@ -2,8 +2,16 @@ module MPower
2
2
  module Checkout
3
3
  class Core
4
4
  include MPower::Utilities
5
+ attr_accessor :status, :response_text, :response_code, :transaction_id, :description, :token
5
6
 
6
- attr_accessor :status, :response_text, :response_code, :token
7
+ def push_results(result={})
8
+ @transaction_id = result["transaction_id"]
9
+ @description = result["description"]
10
+ @response_code = result["response_code"]
11
+ @response_text = result["response_text"]
12
+ @token = result["token"]
13
+ @response_code == "00" ? @status = MPower::SUCCESS : @status = MPower::FAIL
14
+ end
7
15
  end
8
16
  end
9
17
  end
@@ -0,0 +1,27 @@
1
+ module MPower
2
+ class DirectCard < MPower::Checkout::Core
3
+ attr_accessor :unity_transaction_id
4
+
5
+ def charge(amount,card_details={})
6
+ payload = {
7
+ :card_name => card_details[:card_name],
8
+ :card_number => card_details[:card_number],
9
+ :card_cvc => card_details[:card_cvc],
10
+ :exp_month => card_details[:exp_month],
11
+ :exp_year => card_details[:exp_year],
12
+ :amount => amount
13
+ }
14
+
15
+ result = http_json_request(MPower::Setup.direct_card_charge_base_url,payload)
16
+
17
+ if result["response_code"] == "00"
18
+ push_results(result)
19
+ @unity_transaction_id = result["unity_transaction_id"]
20
+ true
21
+ else
22
+ push_results(result)
23
+ false
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,7 +1,5 @@
1
1
  module MPower
2
- class DirectPay
3
- include MPower::Utilities
4
- attr_accessor :status, :response_text, :response_code, :transaction_id, :description
2
+ class DirectPay < MPower::Checkout::Core
5
3
 
6
4
  def credit_account(payee_account,amount)
7
5
  payload = {
@@ -11,15 +9,10 @@ module MPower
11
9
 
12
10
  result = http_json_request(MPower::Setup.direct_pay_credit_base_url,payload)
13
11
  if result["response_code"] == "00"
14
- @transaction_id = result["transaction_id"]
15
- @description = result["description"]
16
- @response_code = result["response_code"]
17
- @status = MPower::SUCCESS
12
+ push_results(result)
18
13
  true
19
14
  else
20
- @response_text = result["response_text"]
21
- @response_code = result["response_code"]
22
- @status = MPower::FAIL
15
+ push_results(result)
23
16
  false
24
17
  end
25
18
  end
data/lib/mpower/setup.rb CHANGED
@@ -23,6 +23,9 @@ module MPower
23
23
  LIVE_DIRECT_PAY_CREDIT_BASE_URL = "#{ROOT_URL_BASE}/api/v1/direct-pay/credit-account"
24
24
  TEST_DIRECT_PAY_CREDIT_BASE_URL = "#{ROOT_URL_BASE}/sandbox-api/v1/direct-pay/credit-account"
25
25
 
26
+ LIVE_DIRECT_CREDITCARD_CHARGE_URL = "#{ROOT_URL_BASE}/api/v1/direct-card/processcard"
27
+ TEST_DIRECT_CREDITCARD_CHARGE_URL = "#{ROOT_URL_BASE}/sandbox-api/v1/direct-card/processcard"
28
+
26
29
  def self.master_key=(master_key); @@master_key = master_key; end
27
30
  def self.master_key; @@master_key; end
28
31
  def self.private_key=(private_key); @@private_key = private_key; end
@@ -55,5 +58,9 @@ module MPower
55
58
  @@mode == "live" ? LIVE_DIRECT_PAY_CREDIT_BASE_URL : TEST_DIRECT_PAY_CREDIT_BASE_URL
56
59
  end
57
60
 
61
+ def self.direct_card_charge_base_url
62
+ @@mode == "live" ? LIVE_DIRECT_CREDITCARD_CHARGE_URL : TEST_DIRECT_CREDITCARD_CHARGE_URL
63
+ end
64
+
58
65
  end
59
66
  end
@@ -1,3 +1,3 @@
1
1
  module MPower
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
3
  end
data/lib/mpower.rb CHANGED
@@ -5,6 +5,7 @@ require "mpower/version"
5
5
  require "mpower/setup"
6
6
  require "mpower/utilities"
7
7
  require "mpower/checkout"
8
+ require "mpower/direct_card"
8
9
  require "mpower/direct_pay"
9
10
 
10
11
  module MPower
data/mpower.gemspec CHANGED
@@ -17,9 +17,9 @@ Gem::Specification.new do |gem|
17
17
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
- gem.add_dependency('rest-client', '~> 1.4')
21
- gem.add_dependency('multi_json', '~> 1.6.1')
22
- gem.add_dependency('faraday','~> 0.8.5')
20
+ gem.add_dependency('rest-client', '~> 1.6.7')
21
+ gem.add_dependency('multi_json', '~> 1.7.1')
22
+ gem.add_dependency('faraday','~> 0.8.6')
23
23
  gem.add_dependency('faraday_middleware','~> 0.9.0')
24
24
  gem.add_development_dependency('rake', '~> 10.0.2')
25
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mpower
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alfred Rowe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-12 00:00:00.000000000 Z
11
+ date: 2013-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: '1.4'
19
+ version: 1.6.7
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: '1.4'
26
+ version: 1.6.7
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: multi_json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 1.6.1
33
+ version: 1.7.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: 1.6.1
40
+ version: 1.7.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: faraday
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: 0.8.5
47
+ version: 0.8.6
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: 0.8.5
54
+ version: 0.8.6
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: faraday_middleware
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -98,6 +98,7 @@ files:
98
98
  - lib/mpower/checkout/onsite_invoice.rb
99
99
  - lib/mpower/checkout/redirect_invoice.rb
100
100
  - lib/mpower/checkout/store.rb
101
+ - lib/mpower/direct_card.rb
101
102
  - lib/mpower/direct_pay.rb
102
103
  - lib/mpower/setup.rb
103
104
  - lib/mpower/utilities.rb