activemerchant-paymentech-orbital 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +3 -1
- data/Rakefile +8 -2
- data/VERSION +1 -1
- data/activemerchant-paymentech-orbital.gemspec +38 -19
- data/config/gateway.yml.example +6 -0
- data/lib/active_merchant/billing/{paymentech_orbital.rb → paymentech_orbital/gateway.rb} +5 -2
- data/lib/active_merchant/billing/paymentech_orbital/request.rb +12 -5
- data/lib/active_merchant/billing/paymentech_orbital/request/end_of_day.rb +4 -0
- data/lib/active_merchant/billing/paymentech_orbital/request/new_order.rb +20 -1
- data/lib/active_merchant/billing/paymentech_orbital/request/profile_management.rb +29 -2
- data/lib/active_merchant/billing/paymentech_orbital/request/void.rb +6 -0
- data/lib/active_merchant/billing/paymentech_orbital/response.rb +57 -4
- data/lib/activemerchant-paymentech-orbital.rb +1 -1
- data/test/factories.rb +55 -4
- data/test/remote/auth_capture_test.rb +101 -0
- data/test/remote/auth_test.rb +42 -0
- data/test/remote/existing_profile_test.rb +137 -0
- data/test/remote/profile_test.rb +72 -0
- data/test/remote/recurring_test.rb +160 -0
- data/test/remote/refund_test.rb +87 -0
- data/test/remote/retry_test.rb +51 -0
- data/test/remote_helper.rb +28 -0
- data/test/test_helper.rb +0 -1
- data/test/unit_helper.rb +2 -0
- data/test/{payment_orbital → units/paymentech_orbital}/gateway_test.rb +1 -1
- data/test/{payment_orbital → units/paymentech_orbital}/request/end_of_day_test.rb +1 -1
- data/test/{payment_orbital → units/paymentech_orbital}/request/new_order_test.rb +1 -1
- data/test/{payment_orbital → units/paymentech_orbital}/request/profile_management_test.rb +6 -2
- data/test/{payment_orbital → units/paymentech_orbital}/request/void_test.rb +1 -1
- data/test/{payment_orbital → units/paymentech_orbital}/request_test.rb +1 -1
- metadata +53 -23
data/.gitignore
CHANGED
data/Rakefile
CHANGED
@@ -5,7 +5,7 @@ begin
|
|
5
5
|
Jeweler::Tasks.new do |gem|
|
6
6
|
gem.name = "activemerchant-paymentech-orbital"
|
7
7
|
gem.summary = "A gem to provide a ruby interface for Chase Paymentech Orbital payment gateway."
|
8
|
-
gem.description = "A gem to provide a ruby interface for Chase Paymentech Orbital payment gateway."
|
8
|
+
gem.description = "A gem to provide a ruby interface for Chase Paymentech Orbital payment gateway. It has been development thus far to meet specific ends, so not all functionality is present."
|
9
9
|
gem.email = "john@mintdigital.com"
|
10
10
|
gem.homepage = "http://github.com/johnideal/activemerchant-paymentech-orbital"
|
11
11
|
gem.authors = ["John Corrigan"]
|
@@ -19,7 +19,13 @@ end
|
|
19
19
|
require 'rake/testtask'
|
20
20
|
Rake::TestTask.new(:test) do |test|
|
21
21
|
test.libs << 'test'
|
22
|
-
test.pattern = 'test/**/*_test.rb'
|
22
|
+
test.pattern = 'test/units/**/*_test.rb'
|
23
|
+
test.verbose = true
|
24
|
+
end
|
25
|
+
|
26
|
+
Rake::TestTask.new(:remote) do |test|
|
27
|
+
test.libs << 'test'
|
28
|
+
test.pattern = 'test/remote/**/*_test.rb'
|
23
29
|
test.verbose = true
|
24
30
|
end
|
25
31
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
@@ -5,12 +5,12 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{activemerchant-paymentech-orbital}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["John Corrigan"]
|
12
|
-
s.date = %q{
|
13
|
-
s.description = %q{A gem to provide a ruby interface for Chase Paymentech Orbital payment gateway.}
|
12
|
+
s.date = %q{2010-03-24}
|
13
|
+
s.description = %q{A gem to provide a ruby interface for Chase Paymentech Orbital payment gateway. It has been development thus far to meet specific ends, so not all functionality is present.}
|
14
14
|
s.email = %q{john@mintdigital.com}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
@@ -24,7 +24,8 @@ Gem::Specification.new do |s|
|
|
24
24
|
"Rakefile",
|
25
25
|
"VERSION",
|
26
26
|
"activemerchant-paymentech-orbital.gemspec",
|
27
|
-
"
|
27
|
+
"config/gateway.yml.example",
|
28
|
+
"lib/active_merchant/billing/paymentech_orbital/gateway.rb",
|
28
29
|
"lib/active_merchant/billing/paymentech_orbital/request.rb",
|
29
30
|
"lib/active_merchant/billing/paymentech_orbital/request/end_of_day.rb",
|
30
31
|
"lib/active_merchant/billing/paymentech_orbital/request/new_order.rb",
|
@@ -36,31 +37,49 @@ Gem::Specification.new do |s|
|
|
36
37
|
"test/factories.rb",
|
37
38
|
"test/mocks/active_merchant/billing/gateway.rb",
|
38
39
|
"test/options.rb",
|
39
|
-
"test/
|
40
|
-
"test/
|
41
|
-
"test/
|
42
|
-
"test/
|
43
|
-
"test/
|
44
|
-
"test/
|
45
|
-
"test/
|
40
|
+
"test/remote/auth_capture_test.rb",
|
41
|
+
"test/remote/auth_test.rb",
|
42
|
+
"test/remote/existing_profile_test.rb",
|
43
|
+
"test/remote/profile_test.rb",
|
44
|
+
"test/remote/recurring_test.rb",
|
45
|
+
"test/remote/refund_test.rb",
|
46
|
+
"test/remote/retry_test.rb",
|
47
|
+
"test/remote_helper.rb",
|
48
|
+
"test/test_helper.rb",
|
49
|
+
"test/unit_helper.rb",
|
50
|
+
"test/units/paymentech_orbital/gateway_test.rb",
|
51
|
+
"test/units/paymentech_orbital/request/end_of_day_test.rb",
|
52
|
+
"test/units/paymentech_orbital/request/new_order_test.rb",
|
53
|
+
"test/units/paymentech_orbital/request/profile_management_test.rb",
|
54
|
+
"test/units/paymentech_orbital/request/void_test.rb",
|
55
|
+
"test/units/paymentech_orbital/request_test.rb"
|
46
56
|
]
|
47
57
|
s.homepage = %q{http://github.com/johnideal/activemerchant-paymentech-orbital}
|
48
58
|
s.rdoc_options = ["--charset=UTF-8"]
|
49
59
|
s.require_paths = ["lib"]
|
50
|
-
s.rubygems_version = %q{1.3.
|
60
|
+
s.rubygems_version = %q{1.3.6}
|
51
61
|
s.summary = %q{A gem to provide a ruby interface for Chase Paymentech Orbital payment gateway.}
|
52
62
|
s.test_files = [
|
53
63
|
"test/activemerchant-paymentech-orbital_test.rb",
|
54
64
|
"test/factories.rb",
|
55
65
|
"test/mocks/active_merchant/billing/gateway.rb",
|
56
66
|
"test/options.rb",
|
57
|
-
"test/
|
58
|
-
"test/
|
59
|
-
"test/
|
60
|
-
"test/
|
61
|
-
"test/
|
62
|
-
"test/
|
63
|
-
"test/
|
67
|
+
"test/remote/auth_capture_test.rb",
|
68
|
+
"test/remote/auth_test.rb",
|
69
|
+
"test/remote/existing_profile_test.rb",
|
70
|
+
"test/remote/profile_test.rb",
|
71
|
+
"test/remote/recurring_test.rb",
|
72
|
+
"test/remote/refund_test.rb",
|
73
|
+
"test/remote/retry_test.rb",
|
74
|
+
"test/remote_helper.rb",
|
75
|
+
"test/test_helper.rb",
|
76
|
+
"test/unit_helper.rb",
|
77
|
+
"test/units/paymentech_orbital/gateway_test.rb",
|
78
|
+
"test/units/paymentech_orbital/request/end_of_day_test.rb",
|
79
|
+
"test/units/paymentech_orbital/request/new_order_test.rb",
|
80
|
+
"test/units/paymentech_orbital/request/profile_management_test.rb",
|
81
|
+
"test/units/paymentech_orbital/request/void_test.rb",
|
82
|
+
"test/units/paymentech_orbital/request_test.rb"
|
64
83
|
]
|
65
84
|
|
66
85
|
if s.respond_to? :specification_version then
|
@@ -89,12 +89,16 @@ module ActiveMerchant #:nodoc:
|
|
89
89
|
|
90
90
|
commit('end of day', @request)
|
91
91
|
end
|
92
|
+
|
93
|
+
def to_a
|
94
|
+
request.to_a + response.to_a
|
95
|
+
end
|
92
96
|
|
93
97
|
private
|
94
98
|
def commit(action, request)
|
95
99
|
resp = ssl_post(endpoint_url, request.to_xml, headers)
|
96
100
|
|
97
|
-
@response
|
101
|
+
@response = Response.new(resp, request.request_type, {
|
98
102
|
:test => test?
|
99
103
|
})
|
100
104
|
end
|
@@ -110,4 +114,3 @@ module ActiveMerchant #:nodoc:
|
|
110
114
|
end
|
111
115
|
end
|
112
116
|
end
|
113
|
-
|
@@ -20,20 +20,27 @@ module ActiveMerchant
|
|
20
20
|
@_headers ||= options.headers || {}
|
21
21
|
end
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
23
|
+
def to_a
|
24
|
+
[ to_s, Time.now, merchant_id, order_id, industry_type,
|
25
|
+
money, currency_code, customer_ref_num, address[:phone],
|
26
|
+
address[:name], full_street_address ]
|
27
|
+
end
|
28
28
|
|
29
29
|
def address
|
30
30
|
@_address ||= options.billing_address || options.address || {}
|
31
31
|
end
|
32
32
|
|
33
|
+
delegate :login, :password, :merchant_id,
|
34
|
+
:bin, :terminal_id, :currency_code,
|
35
|
+
:currency_exponent, :customer_ref_num,
|
36
|
+
:order_id, :to => :options
|
37
|
+
|
33
38
|
def full_street_address
|
34
39
|
"#{address[:address1]} #{address[:address2]}".strip
|
35
40
|
end
|
36
41
|
|
42
|
+
private
|
43
|
+
|
37
44
|
# Implement me. I should be the parent tag for the request.
|
38
45
|
def request_type; "RequestType"; end
|
39
46
|
|
@@ -20,6 +20,16 @@ module ActiveMerchant
|
|
20
20
|
|
21
21
|
def request_type; "NewOrder"; end
|
22
22
|
|
23
|
+
def to_s
|
24
|
+
"#{self.class.message_map[@message_type]}: Credit Card (#{credit_card.type if credit_card})"
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.message_map
|
28
|
+
{ "A" => "Auth",
|
29
|
+
"AC" => "Auth/Capture",
|
30
|
+
"R" => "Refund" }
|
31
|
+
end
|
32
|
+
|
23
33
|
def recurring?
|
24
34
|
industry_type == "RC"
|
25
35
|
end
|
@@ -56,6 +66,15 @@ module ActiveMerchant
|
|
56
66
|
add_currency(xml)
|
57
67
|
end
|
58
68
|
end
|
69
|
+
|
70
|
+
def card_sec_val_ind
|
71
|
+
return "" unless credit_card
|
72
|
+
if credit_card.type == "amex"
|
73
|
+
""
|
74
|
+
else
|
75
|
+
"1"
|
76
|
+
end
|
77
|
+
end
|
59
78
|
|
60
79
|
def add_currency(xml)
|
61
80
|
xml.tag! "CurrencyCode", currency_code
|
@@ -108,7 +127,7 @@ module ActiveMerchant
|
|
108
127
|
xml.tag! "MBOrderIdGenerationMethod", "DI"
|
109
128
|
xml.tag! "MBRecurringStartDate", recurring_start_date || (Date.today + 1).strftime("%m%d%Y")
|
110
129
|
xml.tag! "MBRecurringEndDate", recurring_end_date
|
111
|
-
xml.tag! "MBRecurringNoEndDateFlag", recurring_end_date_flag || (recurring_end_date ? "N" : "Y")
|
130
|
+
xml.tag! "MBRecurringNoEndDateFlag", recurring_end_date_flag # || (recurring_end_date ? "N" : "Y")
|
112
131
|
xml.tag! "MBRecurringMaxBillings", recurring_max_billings
|
113
132
|
xml.tag! "MBRecurringFrequency", recurring_frequency
|
114
133
|
xml.tag! "MBDeferredBillDate", deferred_bill_date
|
@@ -21,7 +21,19 @@ module ActiveMerchant
|
|
21
21
|
|
22
22
|
def request_type; "Profile"; end
|
23
23
|
|
24
|
+
def to_s
|
25
|
+
"Profile #{@action}"
|
26
|
+
end
|
27
|
+
|
28
|
+
def industry_type; nil; end
|
29
|
+
def money; nil; end
|
30
|
+
|
24
31
|
private
|
32
|
+
delegate :mb_type, :mb_order_id_generation_method, :mb_recurring_start_date,
|
33
|
+
:mb_recurring_end_date, :mb_recurring_max_billings,
|
34
|
+
:mb_recurring_frequency, :mb_deferred_bill_date, :mb_cancel_date,
|
35
|
+
:mb_restore_billing_date, :mb_remove_flag, :mb_recurring_no_end_date_flag, :to => :options
|
36
|
+
|
25
37
|
def customer_profile_action
|
26
38
|
self.class.action_map[action.downcase.to_s]
|
27
39
|
end
|
@@ -39,6 +51,7 @@ module ActiveMerchant
|
|
39
51
|
add_customer_profile_management_options(xml)
|
40
52
|
add_account_info(xml) if writing?
|
41
53
|
add_credit_card_info(xml) if writing? && credit_card
|
54
|
+
add_managed_billing_info(xml)
|
42
55
|
end
|
43
56
|
|
44
57
|
def add_meta_info(xml)
|
@@ -68,15 +81,29 @@ module ActiveMerchant
|
|
68
81
|
|
69
82
|
def add_account_info(xml)
|
70
83
|
xml.tag! "CustomerAccountType", "CC"
|
71
|
-
xml.tag! "Status", options
|
84
|
+
xml.tag! "Status", options.status || "A"
|
72
85
|
end
|
73
86
|
|
74
87
|
def add_credit_card_info(xml)
|
75
88
|
xml.tag! "CCAccountNum", credit_card.number
|
76
89
|
xml.tag! "CCExpireDate", "#{credit_card.month}#{credit_card.year}"
|
77
90
|
end
|
91
|
+
|
92
|
+
def add_managed_billing_info(xml)
|
93
|
+
xml.tag! "MBType", mb_type if mb_type
|
94
|
+
xml.tag! "MBOrderIdGenerationMethod", mb_order_id_generation_method if mb_order_id_generation_method
|
95
|
+
xml.tag! "MBRecurringStartDate", mb_recurring_start_date if mb_recurring_start_date
|
96
|
+
xml.tag! "MBRecurringEndDate", mb_recurring_end_date if mb_recurring_end_date
|
97
|
+
xml.tag! "MBRecurringNoEndDateFlag", mb_recurring_no_end_date_flag if mb_recurring_no_end_date_flag
|
98
|
+
xml.tag! "MBRecurringMaxBillings", mb_recurring_max_billings if mb_recurring_max_billings
|
99
|
+
xml.tag! "MBRecurringFrequency", mb_recurring_frequency if mb_recurring_frequency
|
100
|
+
xml.tag! "MBDeferredBillDate", mb_deferred_bill_date if mb_deferred_bill_date
|
101
|
+
xml.tag! "MBCancelDate", mb_cancel_date if mb_cancel_date
|
102
|
+
xml.tag! "MBRestoreBillingDate", mb_restore_billing_date if mb_restore_billing_date
|
103
|
+
xml.tag! "MBRemoveFlag", mb_remove_flag if mb_remove_flag
|
104
|
+
end
|
78
105
|
end
|
79
106
|
end
|
80
107
|
end
|
81
108
|
end
|
82
|
-
end
|
109
|
+
end
|
@@ -9,13 +9,17 @@ module ActiveMerchant
|
|
9
9
|
:industry_type, :message_type, :merchant_id,
|
10
10
|
:terminal_id, :card_brand, :account_num,
|
11
11
|
:order_id, :tx_ref_num, :tx_ref_idx, :proc_status,
|
12
|
-
:approval_status, :resp_code, :
|
13
|
-
:
|
12
|
+
:approval_status, :resp_code, :AVSRespCode,
|
13
|
+
:CVV2RespCode, :auth_code, :status_msg, :resp_msg,
|
14
14
|
:customer_ref_num, :customer_name, :profile_proc_status,
|
15
15
|
:customer_profile_message, :resp_time, :batch_seq_num,
|
16
16
|
:CCAccountNum, :customer_address_1, :customer_address_2,
|
17
17
|
:customer_city, :CustomerZIP, :customer_state,
|
18
|
-
:
|
18
|
+
:CCExpireDatem, :MBRecurringNoEndDateFlag,
|
19
|
+
:MBCancelDate, :MBType, :MBOrderIdGenerationMethod,
|
20
|
+
:MBRecurringStartDate, :MBRecurringFrequency,
|
21
|
+
:MBRecurringEndDate, :MBRecurringMaxBillings,
|
22
|
+
:MBRemoveFlag
|
19
23
|
]
|
20
24
|
|
21
25
|
def initialize(doc, request_type, options={})
|
@@ -62,7 +66,51 @@ module ActiveMerchant
|
|
62
66
|
end
|
63
67
|
|
64
68
|
def cvv_result
|
65
|
-
@cvv_result ||= CVVResult.new({:code =>
|
69
|
+
@cvv_result ||= CVVResult.new({:code => cvv2_resp_code})
|
70
|
+
end
|
71
|
+
|
72
|
+
def avs_resp_code
|
73
|
+
send(:AVSRespCode)
|
74
|
+
end
|
75
|
+
|
76
|
+
def cvv2_resp_code
|
77
|
+
send(:CVV2RespCode)
|
78
|
+
end
|
79
|
+
|
80
|
+
def mb_cancel_date
|
81
|
+
send(:MBCancelDate)
|
82
|
+
end
|
83
|
+
|
84
|
+
def mb_recurring_no_end_date_flag
|
85
|
+
send(:MBRecurringNoEndDateFlag)
|
86
|
+
end
|
87
|
+
|
88
|
+
def mb_type
|
89
|
+
send(:MBType)
|
90
|
+
end
|
91
|
+
|
92
|
+
def mb_order_id_generation_method
|
93
|
+
send(:MBOrderIdGenerationMethod)
|
94
|
+
end
|
95
|
+
|
96
|
+
def mb_recurring_start_date
|
97
|
+
send(:MBRecurringStartDate)
|
98
|
+
end
|
99
|
+
|
100
|
+
def mb_recurring_frequency
|
101
|
+
send(:MBRecurringFrequency)
|
102
|
+
end
|
103
|
+
|
104
|
+
def mb_recurring_end_date
|
105
|
+
send(:MBRecurringEndDate)
|
106
|
+
end
|
107
|
+
|
108
|
+
def mb_recurring_max_billings
|
109
|
+
send(:MBRecurringMaxBillings)
|
110
|
+
end
|
111
|
+
|
112
|
+
def mb_remove_flag
|
113
|
+
send(:MBRemoveFlag)
|
66
114
|
end
|
67
115
|
|
68
116
|
def to_xml
|
@@ -72,6 +120,11 @@ module ActiveMerchant
|
|
72
120
|
end
|
73
121
|
@_xml
|
74
122
|
end
|
123
|
+
|
124
|
+
def to_a
|
125
|
+
[ auth_code, avs_resp_code, cvv2_resp_code, tx_ref_num,
|
126
|
+
customer_ref_num, profile_proc_status ]
|
127
|
+
end
|
75
128
|
|
76
129
|
private
|
77
130
|
def tagify(s)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'active_merchant'
|
2
2
|
|
3
|
-
require 'active_merchant/billing/paymentech_orbital'
|
3
|
+
require 'active_merchant/billing/paymentech_orbital/gateway'
|
4
4
|
require 'active_merchant/billing/paymentech_orbital/request'
|
5
5
|
require 'active_merchant/billing/paymentech_orbital/request/end_of_day'
|
6
6
|
require 'active_merchant/billing/paymentech_orbital/request/new_order'
|
data/test/factories.rb
CHANGED
@@ -2,13 +2,50 @@ Factory.define :credit_card, {
|
|
2
2
|
:class => ActiveMerchant::Billing::CreditCard,
|
3
3
|
:default_strategy => :build
|
4
4
|
} do |f|
|
5
|
-
f.
|
6
|
-
f.
|
7
|
-
f.year Time.now.year + 1
|
5
|
+
f.month 10
|
6
|
+
f.year 12
|
8
7
|
f.first_name 'Joe'
|
9
8
|
f.last_name 'Smith'
|
9
|
+
end
|
10
|
+
|
11
|
+
Factory.define :amex, {
|
12
|
+
:class => ActiveMerchant::Billing::CreditCard,
|
13
|
+
:default_strategy => :build,
|
14
|
+
:parent => :credit_card
|
15
|
+
} do |f|
|
16
|
+
f.number "371449635398431"
|
17
|
+
f.add_attribute :type, 'AX'
|
18
|
+
f.verification_value '1234'
|
19
|
+
end
|
20
|
+
|
21
|
+
Factory.define :discover, {
|
22
|
+
:class => ActiveMerchant::Billing::CreditCard,
|
23
|
+
:default_strategy => :build,
|
24
|
+
:parent => :credit_card
|
25
|
+
} do |f|
|
26
|
+
f.number "6011000995500000"
|
27
|
+
f.add_attribute :type, 'DI'
|
28
|
+
f.verification_value '123'
|
29
|
+
end
|
30
|
+
|
31
|
+
Factory.define :master_card, {
|
32
|
+
:class => ActiveMerchant::Billing::CreditCard,
|
33
|
+
:default_strategy => :build,
|
34
|
+
:parent => :credit_card
|
35
|
+
} do |f|
|
36
|
+
f.number "5454545454545454"
|
37
|
+
f.add_attribute :type, 'MC'
|
38
|
+
f.verification_value '123'
|
39
|
+
end
|
40
|
+
|
41
|
+
Factory.define :visa, {
|
42
|
+
:class => ActiveMerchant::Billing::CreditCard,
|
43
|
+
:default_strategy => :build,
|
44
|
+
:parent => :credit_card
|
45
|
+
} do |f|
|
46
|
+
f.number "4444444444444448"
|
47
|
+
f.add_attribute :type, 'VI'
|
10
48
|
f.verification_value '123'
|
11
|
-
f.add_attribute :type, 'visa'
|
12
49
|
end
|
13
50
|
|
14
51
|
# Option factories
|
@@ -60,6 +97,20 @@ def gateway(options={})
|
|
60
97
|
ActiveMerchant::Billing::PaymentechOrbital::Gateway.new(Options(:gateway_auth, options))
|
61
98
|
end
|
62
99
|
|
100
|
+
def gateway_config
|
101
|
+
@_gateway_config ||= YAML.load_file("config/gateway.yml")["gateway"]
|
102
|
+
end
|
103
|
+
|
104
|
+
def remote_gateway(options={})
|
105
|
+
ActiveMerchant::Billing::PaymentechOrbital::Gateway.new({
|
106
|
+
:login => gateway_config["login"],
|
107
|
+
:password => gateway_config["password"],
|
108
|
+
:bin => gateway_config["bin"],
|
109
|
+
:terminal_id => gateway_config["terminal_id"],
|
110
|
+
:merchant_id => gateway_config["merchant_id"]
|
111
|
+
})
|
112
|
+
end
|
113
|
+
|
63
114
|
def base_request(options={})
|
64
115
|
ActiveMerchant::Billing::PaymentechOrbital::Request::Base.new(
|
65
116
|
Options(:request_options, options)
|