alpha_card 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +14 -4
- data/alpha_card.gemspec +5 -2
- data/lib/alpha_card.rb +12 -0
- data/lib/alpha_card/billing.rb +1 -0
- data/lib/alpha_card/errors/alpha_card_error.rb +8 -2
- data/lib/alpha_card/order.rb +1 -0
- data/lib/alpha_card/shipping.rb +4 -0
- metadata +30 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69ecf71ff5367ce0a63a519ade5ba21a8cdce81c
|
4
|
+
data.tar.gz: 582d9831fa7344b5c52ca4b1c93b30044c27ff24
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9fd3179c4edad7500d6d280a56ab61fcd125e39e1469618271d951b94a53a837a1b4f5cf101b4a4793c170c974fb208b86bd5800ee1b6f848977df3f85bf3da
|
7
|
+
data.tar.gz: 91ce299981bb899e15bab63279ae58a7ef3575a3b525160d790328d406a899af0c9601df3c2fc2484c5bfd0403ae9cf55fbecb8c69ba52e0ad2562fa752bdf39
|
data/README.md
CHANGED
@@ -41,7 +41,8 @@ Dependencies required:
|
|
41
41
|
* rest_client;
|
42
42
|
* virtus (for nice OOP objects of AlphaCard).
|
43
43
|
|
44
|
-
|
44
|
+
|
45
|
+
## Alpha Card Objects
|
45
46
|
|
46
47
|
Alpha Card sales operates with next 5 objects:
|
47
48
|
|
@@ -51,9 +52,11 @@ Alpha Card sales operates with next 5 objects:
|
|
51
52
|
- Shipping
|
52
53
|
* Sale
|
53
54
|
|
55
|
+
Let us consider each of them.
|
56
|
+
|
54
57
|
### Account
|
55
58
|
|
56
|
-
Account represents credentials data to access Alpha Card
|
59
|
+
Account represents credentials data to access Alpha Card Gateway.
|
57
60
|
All sales will be created for the specified account.
|
58
61
|
|
59
62
|
_Required fields_:
|
@@ -77,6 +80,7 @@ _Unnecessary fields_:
|
|
77
80
|
* orderdescription : String
|
78
81
|
* ponumber : String
|
79
82
|
* tax : String
|
83
|
+
* ipaddress : String
|
80
84
|
* billing : AlphaCard::Billing
|
81
85
|
* shipping : AlphaCard::Shipping
|
82
86
|
|
@@ -95,6 +99,7 @@ _Unnecessary fields_:
|
|
95
99
|
* firstname : String
|
96
100
|
* lastname : String
|
97
101
|
* email : String
|
102
|
+
* fax : String
|
98
103
|
* phone : String
|
99
104
|
* company : String
|
100
105
|
* address1 : String
|
@@ -117,11 +122,15 @@ Specify Shipping information for Order.
|
|
117
122
|
|
118
123
|
_Unnecessary fields_:
|
119
124
|
|
125
|
+
* firstname : String
|
126
|
+
* lastname : String
|
127
|
+
* company : String
|
120
128
|
* address_1 : String
|
121
129
|
* address_2 : String
|
122
130
|
* city : String
|
123
131
|
* state : String
|
124
132
|
* zip_code : String
|
133
|
+
* country : String
|
125
134
|
* email : String
|
126
135
|
|
127
136
|
_Constructor_:
|
@@ -176,7 +185,8 @@ def create_payment
|
|
176
185
|
order.billing = billing
|
177
186
|
order.shipping = shipping
|
178
187
|
|
179
|
-
|
188
|
+
# Format of amount: "XX.XX" ("%.2f" % Float)
|
189
|
+
sale = AlphaCard::Sale.new({ccexp: '0117', ccnumber: '4111111111111111', amount: "1.50", cvv: '123'})
|
180
190
|
sale.create(order, account)
|
181
191
|
rescue AlphaCard::AlphaCardError => e
|
182
192
|
puts e.message
|
@@ -184,7 +194,7 @@ rescue AlphaCard::AlphaCardError => e
|
|
184
194
|
end
|
185
195
|
```
|
186
196
|
|
187
|
-
`Billing` and `
|
197
|
+
`Billing` and `Shipping` is an _optional_ parameters and can be not specified.
|
188
198
|
|
189
199
|
_Note_: take a look at the `amount` of the Order. It's format must be 'xx.xx'. All information about variables formats
|
190
200
|
can be found on _Alpha Card Payment Gateway Integration Portal_ -> _Direct Post API_ -> _Documentation_ -> _Transaction Variables_
|
data/alpha_card.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |gem|
|
2
2
|
gem.name = 'alpha_card'
|
3
|
-
gem.version = '0.2.
|
4
|
-
gem.date = '2014-07-
|
3
|
+
gem.version = '0.2.1'
|
4
|
+
gem.date = '2014-07-11'
|
5
5
|
gem.summary = 'Alpha Card Services DirectPost API for Ruby'
|
6
6
|
gem.description = 'Gem for creating sales with Alpha Card Services DirectPost API'
|
7
7
|
gem.authors = ['Nikita Bulaj']
|
@@ -12,5 +12,8 @@ Gem::Specification.new do |gem|
|
|
12
12
|
gem.license = 'MIT'
|
13
13
|
gem.required_ruby_version = '>= 1.9.3'
|
14
14
|
|
15
|
+
gem.add_dependency 'virtus', '~> 1.0'
|
16
|
+
gem.add_dependency 'rest_client', '~> 1.7'
|
17
|
+
|
15
18
|
gem.add_development_dependency "rspec", '~> 3'
|
16
19
|
end
|
data/lib/alpha_card.rb
CHANGED
@@ -65,6 +65,18 @@ module AlphaCard
|
|
65
65
|
# "responsetext"=>"SUCCESS", "authcode"=>"123", "transactionid"=>"123",
|
66
66
|
# "avsresponse"=>"", "cvvresponse"=>"N", "orderid"=>"", "type"=>"",
|
67
67
|
# "response_code"=>"100"}>
|
68
|
+
#
|
69
|
+
# account = AlphaCard::Account.new('demo', 'password')
|
70
|
+
# response = AlphaCard.request(
|
71
|
+
# {
|
72
|
+
# cexp: '0720',
|
73
|
+
# ccnumber: '123',
|
74
|
+
# amount: '10.00'
|
75
|
+
# },
|
76
|
+
# account
|
77
|
+
# )
|
78
|
+
#
|
79
|
+
# #=> AlphaCard::AlphaCardError: AlphaCard::AlphaCardError
|
68
80
|
def self.request(params = {}, account)
|
69
81
|
unless account.filled?
|
70
82
|
raise AlphaCardError.new('You must set credentials to create the sale!')
|
data/lib/alpha_card/billing.rb
CHANGED
@@ -2,14 +2,20 @@ module AlphaCard
|
|
2
2
|
##
|
3
3
|
# Common class for Alpha Card Gateway errors and exceptions.
|
4
4
|
class AlphaCardError < StandardError
|
5
|
+
# Alpha Card Gateway response.
|
6
|
+
# @attr_reader [AlphaCard::AlphaCardResponse] response
|
5
7
|
attr_reader :response
|
8
|
+
# Error message.
|
9
|
+
# @attr_reader [String] message
|
6
10
|
attr_reader :message
|
7
11
|
|
8
12
|
##
|
9
13
|
# <code>AlphaCard::AlphaCardError</code> constructor.
|
10
14
|
#
|
11
|
-
# @param [String]
|
12
|
-
#
|
15
|
+
# @param [String] response
|
16
|
+
# Error message
|
17
|
+
# @param [AlphaCard::AlphaCardResponse] response
|
18
|
+
# AlphaCard Gateway response
|
13
19
|
#
|
14
20
|
# @example
|
15
21
|
# AlphaCard::AlphaCardError.new
|
data/lib/alpha_card/order.rb
CHANGED
data/lib/alpha_card/shipping.rb
CHANGED
@@ -3,11 +3,15 @@ module AlphaCard
|
|
3
3
|
# Implementation of Alpha Card Services order shipping information.
|
4
4
|
# Contains all the shipping information (address, city, zip, etc).
|
5
5
|
class Shipping < AlphaCardObject
|
6
|
+
attribute :firstname, String
|
7
|
+
attribute :lastname, String
|
8
|
+
attribute :company, String
|
6
9
|
attribute :address_1, String
|
7
10
|
attribute :address_2, String
|
8
11
|
attribute :city, String
|
9
12
|
attribute :state, String
|
10
13
|
attribute :zip_code, String
|
14
|
+
attribute :country, String
|
11
15
|
attribute :email, String
|
12
16
|
end
|
13
17
|
end
|
metadata
CHANGED
@@ -1,15 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alpha_card
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nikita Bulaj
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: virtus
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rest_client
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.7'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.7'
|
13
41
|
- !ruby/object:Gem::Dependency
|
14
42
|
name: rspec
|
15
43
|
requirement: !ruby/object:Gem::Requirement
|