agms 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.travis.yml +3 -0
- data/Gemfile +4 -0
- data/README.md +51 -0
- data/Rakefile +40 -0
- data/agms.gemspec +29 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/example/hpp.rb +18 -0
- data/example/invoicing.rb +23 -0
- data/example/recurring.rb +23 -0
- data/example/report.rb +16 -0
- data/example/safe.rb +17 -0
- data/example/transaction.rb +17 -0
- data/init.yml +9 -0
- data/lib/agms.rb +59 -0
- data/lib/agms/agms.rb +109 -0
- data/lib/agms/configuration.rb +71 -0
- data/lib/agms/connect.rb +176 -0
- data/lib/agms/error/agms_error.rb +9 -0
- data/lib/agms/error/authentication_error.rb +7 -0
- data/lib/agms/error/authorization_error.rb +7 -0
- data/lib/agms/error/client_error_error.rb +7 -0
- data/lib/agms/error/configuation_error.rb +7 -0
- data/lib/agms/error/down_for_maintenance_error.rb +7 -0
- data/lib/agms/error/forged_query_String_error.rb +7 -0
- data/lib/agms/error/invalid_parameter_error.rb +7 -0
- data/lib/agms/error/invalid_request_error.rb +7 -0
- data/lib/agms/error/invalid_signature_error.rb +7 -0
- data/lib/agms/error/not_found_error.rb +7 -0
- data/lib/agms/error/request_validation_error.rb +7 -0
- data/lib/agms/error/response_error.rb +7 -0
- data/lib/agms/error/server_error_error.rb +7 -0
- data/lib/agms/error/ssl_certificate_error.rb +7 -0
- data/lib/agms/error/unexpected_error.rb +7 -0
- data/lib/agms/error/upgrade_required_error.rb +7 -0
- data/lib/agms/hpp.rb +65 -0
- data/lib/agms/invoicing.rb +63 -0
- data/lib/agms/recurring.rb +76 -0
- data/lib/agms/report.rb +53 -0
- data/lib/agms/request/hpp_request.rb +181 -0
- data/lib/agms/request/invoicing_request.rb +8 -0
- data/lib/agms/request/recurring_request.rb +115 -0
- data/lib/agms/request/report_request.rb +106 -0
- data/lib/agms/request/request.rb +455 -0
- data/lib/agms/request/safe_request.rb +211 -0
- data/lib/agms/request/transaction_request.rb +217 -0
- data/lib/agms/response/hpp_response.rb +39 -0
- data/lib/agms/response/invoicing_response.rb +10 -0
- data/lib/agms/response/recurring_response.rb +28 -0
- data/lib/agms/response/report_response.rb +141 -0
- data/lib/agms/response/response.rb +48 -0
- data/lib/agms/response/safe_response.rb +51 -0
- data/lib/agms/response/transaction_response.rb +50 -0
- data/lib/agms/safe.rb +66 -0
- data/lib/agms/transaction.rb +37 -0
- data/lib/agms/version.rb +3 -0
- metadata +156 -0
@@ -0,0 +1,28 @@
|
|
1
|
+
module Agms
|
2
|
+
class RecurringResponse < Response
|
3
|
+
# A class representing AGMS Recurring Response objects.
|
4
|
+
|
5
|
+
def initialize(response, op)
|
6
|
+
@response = nil
|
7
|
+
@op = op
|
8
|
+
|
9
|
+
response = response['soap:Envelope']['soap:Body'][op + 'Response'][op + 'Result']
|
10
|
+
|
11
|
+
if @op == 'RecurringAdd' or @op == 'RecurringDelete' or @op == 'RecurringUpdate'
|
12
|
+
@mapping = {
|
13
|
+
:RESULT => 'result',
|
14
|
+
:MSG => 'message',
|
15
|
+
:RecurringID => 'recurring_id',
|
16
|
+
}
|
17
|
+
elsif @op == 'RetrieveRecurringID'
|
18
|
+
@mapping = {
|
19
|
+
:RecurringID => 'recurring_id'
|
20
|
+
}
|
21
|
+
else
|
22
|
+
raise InvalidRequestError, 'Invalid op in Response.'
|
23
|
+
end
|
24
|
+
@response = response
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,141 @@
|
|
1
|
+
module Agms
|
2
|
+
class ReportResponse < Response
|
3
|
+
# A class representing AGMS Report Response objects.
|
4
|
+
|
5
|
+
def initialize(response, op)
|
6
|
+
super(response, op)
|
7
|
+
@response = nil
|
8
|
+
@op = op
|
9
|
+
arr = _parseReportResponse(response)
|
10
|
+
|
11
|
+
if @op == 'TransactionAPI'
|
12
|
+
@mapping = {
|
13
|
+
:id => 'id',
|
14
|
+
:transactionid => 'transaction_id',
|
15
|
+
:transactiontype => 'transaction_type',
|
16
|
+
:paymenttype => 'payment_type',
|
17
|
+
:amount => 'amount',
|
18
|
+
:orderdescription => 'order_description',
|
19
|
+
:orderid => 'order_id',
|
20
|
+
:ponumber => 'po_number',
|
21
|
+
:tax => 'tax_amount',
|
22
|
+
:shipping => 'shipping_amount',
|
23
|
+
:tipamount => 'tip_amount',
|
24
|
+
:ccnumber => 'cc_number',
|
25
|
+
:ccexpdate => 'cc_exp_date',
|
26
|
+
:checkname => 'ach_name',
|
27
|
+
:checkaba => 'ach_routing_number',
|
28
|
+
:checkaccount => 'ach_account_number',
|
29
|
+
:accountholdertype => 'ach_business_or_personal',
|
30
|
+
:accounttype => 'ach_checking_or_savings',
|
31
|
+
:seccode => 'ach_sec_code',
|
32
|
+
:safeaction => 'safe_action',
|
33
|
+
:responsesafeid => 'safe_id',
|
34
|
+
:clerkid => 'clerk_id',
|
35
|
+
:firstname => 'first_name',
|
36
|
+
:lastname => 'last_name',
|
37
|
+
:company => 'company_name',
|
38
|
+
:address1 => 'address',
|
39
|
+
:address2 => 'address_2',
|
40
|
+
:city => 'city',
|
41
|
+
:state => 'state',
|
42
|
+
:zip => 'zip',
|
43
|
+
:country => 'country',
|
44
|
+
:phone => 'phone',
|
45
|
+
:fax => 'fax',
|
46
|
+
:email => 'email',
|
47
|
+
:website => 'website',
|
48
|
+
:shippingfirstname => 'shipping_first_name',
|
49
|
+
:shippinglastname => 'shipping_last_name',
|
50
|
+
:shippingcompany => 'shipping_company_name',
|
51
|
+
:shippingaddress1 => 'shipping_address',
|
52
|
+
:shippingaddress2 => 'shipping_address_2',
|
53
|
+
:shippingcity => 'shipping_city',
|
54
|
+
:shippingstate => 'shipping_state',
|
55
|
+
:shippingzip => 'shipping_zip',
|
56
|
+
:shippingcountry => 'shipping_country',
|
57
|
+
:shippingemail => 'shipping_email',
|
58
|
+
:shippingphone => 'shipping_phone',
|
59
|
+
:shippingfax => 'shipping_fax',
|
60
|
+
:shippingcarrier => 'shipping_carrier',
|
61
|
+
:trackingnumber => 'shipping_tracking',
|
62
|
+
:ipaddress => 'ip_address',
|
63
|
+
:customfield1 => 'custom_field_1',
|
64
|
+
:customfield2 => 'custom_field_2',
|
65
|
+
:customfield3 => 'custom_field_3',
|
66
|
+
:customfield4 => 'custom_field_4',
|
67
|
+
:customfield5 => 'custom_field_5',
|
68
|
+
:customfield6 => 'custom_field_6',
|
69
|
+
:customfield7 => 'custom_field_7',
|
70
|
+
:customfield8 => 'custom_field_8',
|
71
|
+
:customfield9 => 'custom_field_9',
|
72
|
+
:customfield10 => 'custom_field_10',
|
73
|
+
:customfield11 => 'custom_field_11',
|
74
|
+
:customfield12 => 'custom_field_12',
|
75
|
+
:customfield13 => 'custom_field_13',
|
76
|
+
:customfield14 => 'custom_field_14',
|
77
|
+
:customfield15 => 'custom_field_15',
|
78
|
+
:customfield16 => 'custom_field_16',
|
79
|
+
:customfield17 => 'custom_field_17',
|
80
|
+
:customfield18 => 'custom_field_18',
|
81
|
+
:customfield19 => 'custom_field_19',
|
82
|
+
:customfield20 => 'custom_field_20',
|
83
|
+
:receipttype => 'receipt_type',
|
84
|
+
:responsestatuscode => 'response_code',
|
85
|
+
:responsestatusmsg => 'response_message',
|
86
|
+
:responsetransid => 'response_transaction_id',
|
87
|
+
:responseauthcode => 'authorization_code',
|
88
|
+
:transactiondate => 'transaction_date',
|
89
|
+
:createdate => 'date_created',
|
90
|
+
:moddate => 'date_last_modified',
|
91
|
+
:createuser => 'created_by',
|
92
|
+
:moduser => 'modified_by',
|
93
|
+
:useragent => 'user_agent'
|
94
|
+
}
|
95
|
+
if arr
|
96
|
+
@response = arr
|
97
|
+
else
|
98
|
+
@response = Array.new
|
99
|
+
end
|
100
|
+
elsif @op == 'QuerySAFE'
|
101
|
+
if arr
|
102
|
+
@response = arr
|
103
|
+
else
|
104
|
+
@response = Array.new
|
105
|
+
end
|
106
|
+
else
|
107
|
+
raise InvalidRequestError, 'Invalid op in Response.'
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
def toArray
|
112
|
+
# Override toArray method to handle array response
|
113
|
+
response = Array.new
|
114
|
+
if @response
|
115
|
+
@response.each do |result|
|
116
|
+
response << mapResponse(result)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
return response
|
120
|
+
end
|
121
|
+
|
122
|
+
def getSafeId
|
123
|
+
response_array = toArray()
|
124
|
+
return response_array['safe_id']
|
125
|
+
end
|
126
|
+
|
127
|
+
# Parse transaction report response received from gateway
|
128
|
+
def _parseReportResponse(xml)
|
129
|
+
# Parse the response body
|
130
|
+
doc = Nokogiri::XML(xml)
|
131
|
+
# Remove the namespaces
|
132
|
+
doc.remove_namespaces!
|
133
|
+
response = {}
|
134
|
+
# Extract the response data from the ProcessTransactionResult node
|
135
|
+
doc.xpath("//transactions//transaction//*").each do |node|
|
136
|
+
response[node.name] = node.children.text
|
137
|
+
end
|
138
|
+
return response
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Agms
|
2
|
+
class Response
|
3
|
+
# A class representing AGMS Response objects.
|
4
|
+
|
5
|
+
def initialize(response, op)
|
6
|
+
@response = response
|
7
|
+
@op = op
|
8
|
+
@mapping = nil
|
9
|
+
end
|
10
|
+
|
11
|
+
def toArray
|
12
|
+
return mapResponse(@response)
|
13
|
+
end
|
14
|
+
|
15
|
+
def mapResponse(arr)
|
16
|
+
if @mapping
|
17
|
+
response = doMap(arr)
|
18
|
+
return response
|
19
|
+
else
|
20
|
+
raise UnexpectedError, 'Response mapping not defined for this API.'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def doMap(arr)
|
25
|
+
response = Hash.new
|
26
|
+
mapping = @mapping
|
27
|
+
if mapping
|
28
|
+
# We only map the end of the array containing data
|
29
|
+
# If this element is an array, then we map its individual sub-arrays
|
30
|
+
# Otherwise, we map
|
31
|
+
arr.each do |key, value|
|
32
|
+
|
33
|
+
if value.class == Hash
|
34
|
+
response << doMap(value)
|
35
|
+
else
|
36
|
+
|
37
|
+
if not mapping.has_key?(key)
|
38
|
+
raise UnexpectedError, "Unmapped field #{key} in response."
|
39
|
+
else
|
40
|
+
response[mapping[key]] = value
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
return response
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module Agms
|
2
|
+
class SAFEResponse < Response
|
3
|
+
# A class representing AGMS SAFE Response objects.
|
4
|
+
|
5
|
+
def initialize(response, op)
|
6
|
+
super(response, op)
|
7
|
+
@mapping = {
|
8
|
+
'STATUS_CODE' => 'response_code',
|
9
|
+
'STATUS_MSG' => 'response_message',
|
10
|
+
'TRANS_ID' => 'transaction_id',
|
11
|
+
'AUTH_CODE' => 'authorization_code',
|
12
|
+
'AVS_CODE' => 'avs_result',
|
13
|
+
'AVS_MSG' => 'avs_message',
|
14
|
+
'CVV2_CODE' => 'cvv_result',
|
15
|
+
'CVV2_MSG' => 'cvv_message',
|
16
|
+
'ORDERID' => 'order_id',
|
17
|
+
'SAFE_ID' => 'safe_id',
|
18
|
+
'FULLRESPONSE' => 'full_response',
|
19
|
+
'POSTSTRING' => 'post_string',
|
20
|
+
'BALANCE' => 'gift_balance',
|
21
|
+
'GIFTRESPONSE' => 'gift_response',
|
22
|
+
'MERCHANT_ID' => 'merchant_id',
|
23
|
+
'CUSTOMER_MESSAGE' => 'customer_message',
|
24
|
+
'RRN' => 'rrn'
|
25
|
+
}
|
26
|
+
|
27
|
+
@response = response
|
28
|
+
@op = op
|
29
|
+
|
30
|
+
if not isSuccessful()
|
31
|
+
response_array = toArray()
|
32
|
+
raise ResponseError.new("Transaction failed with error code #{response_array['response_code']} and message #{response_array['response_message']}", response_array)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def isSuccessful
|
37
|
+
response_array = toArray()
|
38
|
+
code = response_array['response_code']
|
39
|
+
if code != '1' and code != '2'
|
40
|
+
return false
|
41
|
+
else
|
42
|
+
return true
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def getSafeId
|
47
|
+
response_array = toArray()
|
48
|
+
return response_array['safe_id']
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module Agms
|
2
|
+
class TransactionResponse < Response
|
3
|
+
# A class representing AGMS Transaction Response objects.
|
4
|
+
|
5
|
+
def initialize(response, op)
|
6
|
+
super(response, op)
|
7
|
+
@mapping = {
|
8
|
+
'STATUS_CODE' => 'response_code',
|
9
|
+
'STATUS_MSG' => 'response_message',
|
10
|
+
'TRANS_ID' => 'transaction_id',
|
11
|
+
'AUTH_CODE' => 'authorization_code',
|
12
|
+
'AVS_CODE' => 'avs_result',
|
13
|
+
'AVS_MSG' => 'avs_message',
|
14
|
+
'CVV2_CODE' => 'cvv_result',
|
15
|
+
'CVV2_MSG' => 'cvv_message',
|
16
|
+
'ORDERID' => 'order_id',
|
17
|
+
'SAFE_ID' => 'safe_id',
|
18
|
+
'FULLRESPONSE' => 'full_response',
|
19
|
+
'POSTSTRING' => 'post_string',
|
20
|
+
'BALANCE' => 'gift_balance',
|
21
|
+
'GIFTRESPONSE' => 'gift_response',
|
22
|
+
'MERCHANT_ID' => 'merchant_id',
|
23
|
+
'CUSTOMER_MESSAGE' => 'customer_message',
|
24
|
+
'RRN' => 'rrn'
|
25
|
+
}
|
26
|
+
|
27
|
+
@response = response
|
28
|
+
@op = op
|
29
|
+
|
30
|
+
if not isSuccessful()
|
31
|
+
response_array = toArray()
|
32
|
+
raise ResponseError.new("Transaction failed with error code #{response_array['response_code']} and message #{response_array['response_message']}", response_array)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def isSuccessful
|
37
|
+
response_array = toArray()
|
38
|
+
if response_array['response_code'] != '1' and response_array['response_code'] != '2'
|
39
|
+
return false
|
40
|
+
else
|
41
|
+
return true
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def getAuthorization
|
46
|
+
response_array = toArray()
|
47
|
+
return response_array['transaction_id']
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
data/lib/agms/safe.rb
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
module Agms
|
2
|
+
class SAFE < Agms
|
3
|
+
# A class representing AGMS SAFE objects.
|
4
|
+
|
5
|
+
alias AgmsResetParameters resetParameters
|
6
|
+
alias AgmsSetParameter setParameter
|
7
|
+
alias AgmsDoConnect doConnect
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
super()
|
11
|
+
@api_url = 'https://gateway.agms.com/roxapi/AGMS_SAFE_API.asmx'
|
12
|
+
@requestObject = 'SAFERequest'
|
13
|
+
@responseObject = 'SAFEResponse'
|
14
|
+
end
|
15
|
+
|
16
|
+
# @return [Object]
|
17
|
+
def add(params)
|
18
|
+
@op = 'AddToSAFE'
|
19
|
+
AgmsResetParameters()
|
20
|
+
AgmsSetParameter(:SAFE_Action, {:value => 'add_safe'})
|
21
|
+
params.each do |param, config|
|
22
|
+
AgmsSetParameter(param, config)
|
23
|
+
end
|
24
|
+
self.execute()
|
25
|
+
return @response.toArray()
|
26
|
+
end
|
27
|
+
|
28
|
+
# @return [Object]
|
29
|
+
def update(params)
|
30
|
+
@op = 'UpdateSAFE'
|
31
|
+
AgmsResetParameters()
|
32
|
+
AgmsSetParameter(:SAFE_Action, {:value => 'update_safe'})
|
33
|
+
params.each do |param, config|
|
34
|
+
AgmsSetParameter(param, config)
|
35
|
+
end
|
36
|
+
self.execute()
|
37
|
+
return @response.toArray()
|
38
|
+
end
|
39
|
+
|
40
|
+
# @return [Object]
|
41
|
+
def delete(params)
|
42
|
+
@op = 'DeleteFromSAFE'
|
43
|
+
AgmsResetParameters()
|
44
|
+
AgmsSetParameter(:SAFE_Action, {:value => 'delete_safe'})
|
45
|
+
params.each do |param, config|
|
46
|
+
AgmsSetParameter(param, config)
|
47
|
+
end
|
48
|
+
self.execute()
|
49
|
+
return @response.toArray()
|
50
|
+
end
|
51
|
+
|
52
|
+
protected
|
53
|
+
def execute
|
54
|
+
if @op == 'AddToSAFE'
|
55
|
+
AgmsDoConnect('AddToSAFE', @responseObject)
|
56
|
+
elsif @op == 'UpdateSAFE'
|
57
|
+
AgmsDoConnect('UpdateSAFE', @responseObject)
|
58
|
+
elsif @op == 'DeleteFromSAFE'
|
59
|
+
AgmsDoConnect('DeleteFromSAFE', @responseObject)
|
60
|
+
else
|
61
|
+
raise InvalidRequestError, "Invalid request to Transaction API #{@op}"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Agms
|
2
|
+
class Transaction < Agms
|
3
|
+
# A class representing AGMS Transaction objects.
|
4
|
+
|
5
|
+
alias AgmsResetParameters resetParameters
|
6
|
+
alias AgmsSetParameter setParameter
|
7
|
+
alias AgmsDoConnect doConnect
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
super()
|
11
|
+
@api_url = 'https://gateway.agms.com/roxapi/agms.asmx'
|
12
|
+
@requestObject = 'TransactionRequest'
|
13
|
+
@responseObject = 'TransactionResponse'
|
14
|
+
end
|
15
|
+
|
16
|
+
# @return [Object]
|
17
|
+
def process(params)
|
18
|
+
@op = 'ProcessTransaction'
|
19
|
+
AgmsResetParameters()
|
20
|
+
params.each do |param, config|
|
21
|
+
AgmsSetParameter(param, config)
|
22
|
+
end
|
23
|
+
self.execute()
|
24
|
+
return @response.toArray()
|
25
|
+
end
|
26
|
+
|
27
|
+
protected
|
28
|
+
def execute
|
29
|
+
if @op == 'ProcessTransaction'
|
30
|
+
AgmsDoConnect('ProcessTransaction', @responseObject)
|
31
|
+
else
|
32
|
+
raise InvalidRequestError, "Invalid request to Transaction API #{@op}"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
data/lib/agms/version.rb
ADDED
metadata
ADDED
@@ -0,0 +1,156 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: agms
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Maanas Royy
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-04-12 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: nokogiri
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.8'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.8'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '10.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '10.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: mocha
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: Ruby Library for integrating AGMS Gateway
|
70
|
+
email:
|
71
|
+
- maanas@agms.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- .travis.yml
|
77
|
+
- Gemfile
|
78
|
+
- README.md
|
79
|
+
- Rakefile
|
80
|
+
- agms.gemspec
|
81
|
+
- bin/console
|
82
|
+
- bin/setup
|
83
|
+
- example/hpp.rb
|
84
|
+
- example/invoicing.rb
|
85
|
+
- example/recurring.rb
|
86
|
+
- example/report.rb
|
87
|
+
- example/safe.rb
|
88
|
+
- example/transaction.rb
|
89
|
+
- init.yml
|
90
|
+
- lib/agms.rb
|
91
|
+
- lib/agms/agms.rb
|
92
|
+
- lib/agms/configuration.rb
|
93
|
+
- lib/agms/connect.rb
|
94
|
+
- lib/agms/error/agms_error.rb
|
95
|
+
- lib/agms/error/authentication_error.rb
|
96
|
+
- lib/agms/error/authorization_error.rb
|
97
|
+
- lib/agms/error/client_error_error.rb
|
98
|
+
- lib/agms/error/configuation_error.rb
|
99
|
+
- lib/agms/error/down_for_maintenance_error.rb
|
100
|
+
- lib/agms/error/forged_query_String_error.rb
|
101
|
+
- lib/agms/error/invalid_parameter_error.rb
|
102
|
+
- lib/agms/error/invalid_request_error.rb
|
103
|
+
- lib/agms/error/invalid_signature_error.rb
|
104
|
+
- lib/agms/error/not_found_error.rb
|
105
|
+
- lib/agms/error/request_validation_error.rb
|
106
|
+
- lib/agms/error/response_error.rb
|
107
|
+
- lib/agms/error/server_error_error.rb
|
108
|
+
- lib/agms/error/ssl_certificate_error.rb
|
109
|
+
- lib/agms/error/unexpected_error.rb
|
110
|
+
- lib/agms/error/upgrade_required_error.rb
|
111
|
+
- lib/agms/hpp.rb
|
112
|
+
- lib/agms/invoicing.rb
|
113
|
+
- lib/agms/recurring.rb
|
114
|
+
- lib/agms/report.rb
|
115
|
+
- lib/agms/request/hpp_request.rb
|
116
|
+
- lib/agms/request/invoicing_request.rb
|
117
|
+
- lib/agms/request/recurring_request.rb
|
118
|
+
- lib/agms/request/report_request.rb
|
119
|
+
- lib/agms/request/request.rb
|
120
|
+
- lib/agms/request/safe_request.rb
|
121
|
+
- lib/agms/request/transaction_request.rb
|
122
|
+
- lib/agms/response/hpp_response.rb
|
123
|
+
- lib/agms/response/invoicing_response.rb
|
124
|
+
- lib/agms/response/recurring_response.rb
|
125
|
+
- lib/agms/response/report_response.rb
|
126
|
+
- lib/agms/response/response.rb
|
127
|
+
- lib/agms/response/safe_response.rb
|
128
|
+
- lib/agms/response/transaction_response.rb
|
129
|
+
- lib/agms/safe.rb
|
130
|
+
- lib/agms/transaction.rb
|
131
|
+
- lib/agms/version.rb
|
132
|
+
homepage: http://www.onlinepaymentprocessing.com
|
133
|
+
licenses: []
|
134
|
+
metadata:
|
135
|
+
allowed_push_host: https://rubygems.org
|
136
|
+
post_install_message:
|
137
|
+
rdoc_options: []
|
138
|
+
require_paths:
|
139
|
+
- lib
|
140
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - ! '>='
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '0'
|
145
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
146
|
+
requirements:
|
147
|
+
- - ! '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0'
|
150
|
+
requirements: []
|
151
|
+
rubyforge_project:
|
152
|
+
rubygems_version: 2.4.5
|
153
|
+
signing_key:
|
154
|
+
specification_version: 4
|
155
|
+
summary: AGMS Ruby Client Library
|
156
|
+
test_files: []
|