activemerchant 1.84.0 → 1.85.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.
- checksums.yaml +4 -4
- data/CHANGELOG +2 -0
- data/lib/active_merchant/billing/gateways/authorize_net.rb +24 -16
- data/lib/active_merchant/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3fdd27bb50be46ff07917a7dc873c045912fa92
|
4
|
+
data.tar.gz: 04d786332b1047ddc974bc53a989c656b79d9856
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 40f01dbedce7566d83da6aa05a068d3b93f86264905e5a34fc50ea08b90952f9cb9bf1206f045c3e76f369bf6012d4975047b74fac577f551108c37ab27e91b4
|
7
|
+
data.tar.gz: dae3bf98f0c4d86885ba4f9e0fd84c218ea9b84be55e1ca21a0eedb98596bd6ae3b19b1d695338c5bc8f29b616fe184ac58e486b16ac1ac874552e5538085c40
|
data/CHANGELOG
CHANGED
@@ -101,7 +101,7 @@ module ActiveMerchant
|
|
101
101
|
|
102
102
|
def purchase(amount, payment, options = {})
|
103
103
|
if payment.is_a?(String)
|
104
|
-
commit(:cim_purchase) do |xml|
|
104
|
+
commit(:cim_purchase, options) do |xml|
|
105
105
|
add_cim_auth_purchase(xml, 'profileTransAuthCapture', amount, payment, options)
|
106
106
|
end
|
107
107
|
else
|
@@ -113,7 +113,7 @@ module ActiveMerchant
|
|
113
113
|
|
114
114
|
def authorize(amount, payment, options={})
|
115
115
|
if payment.is_a?(String)
|
116
|
-
commit(:cim_authorize) do |xml|
|
116
|
+
commit(:cim_authorize, options) do |xml|
|
117
117
|
add_cim_auth_purchase(xml, 'profileTransAuthOnly', amount, payment, options)
|
118
118
|
end
|
119
119
|
else
|
@@ -273,10 +273,11 @@ module ActiveMerchant
|
|
273
273
|
add_tax_exempt_status(xml, options)
|
274
274
|
end
|
275
275
|
end
|
276
|
+
add_extra_options_for_cim(xml, options)
|
276
277
|
end
|
277
278
|
|
278
279
|
def cim_capture(amount, authorization, options)
|
279
|
-
commit(:cim_capture) do |xml|
|
280
|
+
commit(:cim_capture, options) do |xml|
|
280
281
|
add_order_id(xml, options)
|
281
282
|
xml.transaction do
|
282
283
|
xml.profileTransPriorAuthCapture do
|
@@ -287,6 +288,7 @@ module ActiveMerchant
|
|
287
288
|
xml.transId(transaction_id_from(authorization))
|
288
289
|
end
|
289
290
|
end
|
291
|
+
add_extra_options_for_cim(xml, options)
|
290
292
|
end
|
291
293
|
end
|
292
294
|
|
@@ -311,7 +313,7 @@ module ActiveMerchant
|
|
311
313
|
def cim_refund(amount, authorization, options)
|
312
314
|
transaction_id, card_number, _ = split_authorization(authorization)
|
313
315
|
|
314
|
-
commit(:cim_refund) do |xml|
|
316
|
+
commit(:cim_refund, options) do |xml|
|
315
317
|
add_order_id(xml, options)
|
316
318
|
xml.transaction do
|
317
319
|
xml.profileTransRefund do
|
@@ -324,6 +326,7 @@ module ActiveMerchant
|
|
324
326
|
xml.transId(transaction_id)
|
325
327
|
end
|
326
328
|
end
|
329
|
+
add_extra_options_for_cim(xml, options)
|
327
330
|
end
|
328
331
|
end
|
329
332
|
|
@@ -355,13 +358,14 @@ module ActiveMerchant
|
|
355
358
|
end
|
356
359
|
|
357
360
|
def cim_void(authorization, options)
|
358
|
-
commit(:cim_void) do |xml|
|
361
|
+
commit(:cim_void, options) do |xml|
|
359
362
|
add_order_id(xml, options)
|
360
363
|
xml.transaction do
|
361
364
|
xml.profileTransVoid do
|
362
365
|
xml.transId(transaction_id_from(authorization))
|
363
366
|
end
|
364
367
|
end
|
368
|
+
add_extra_options_for_cim(xml, options)
|
365
369
|
end
|
366
370
|
end
|
367
371
|
|
@@ -672,8 +676,12 @@ module ActiveMerchant
|
|
672
676
|
xml.poNumber(options[:po_number]) if options[:po_number]
|
673
677
|
end
|
674
678
|
|
679
|
+
def add_extra_options_for_cim(xml, options)
|
680
|
+
xml.extraOptions("x_delim_char=#{options[:delimiter]}") if options[:delimiter]
|
681
|
+
end
|
682
|
+
|
675
683
|
def create_customer_payment_profile(credit_card, options)
|
676
|
-
commit(:cim_store_update) do |xml|
|
684
|
+
commit(:cim_store_update, options) do |xml|
|
677
685
|
xml.customerProfileId options[:customer_profile_id]
|
678
686
|
xml.paymentProfile do
|
679
687
|
add_billing_address(xml, credit_card, options)
|
@@ -689,7 +697,7 @@ module ActiveMerchant
|
|
689
697
|
end
|
690
698
|
|
691
699
|
def create_customer_profile(credit_card, options)
|
692
|
-
commit(:cim_store) do |xml|
|
700
|
+
commit(:cim_store, options) do |xml|
|
693
701
|
xml.profile do
|
694
702
|
xml.merchantCustomerId(truncate(options[:merchant_customer_id], 20) || SecureRandom.hex(10))
|
695
703
|
xml.description(truncate(options[:description], 255)) unless empty?(options[:description])
|
@@ -712,7 +720,7 @@ module ActiveMerchant
|
|
712
720
|
end
|
713
721
|
|
714
722
|
def delete_customer_profile(customer_profile_id)
|
715
|
-
commit(:cim_store_delete_customer) do |xml|
|
723
|
+
commit(:cim_store_delete_customer, options) do |xml|
|
716
724
|
xml.customerProfileId(customer_profile_id)
|
717
725
|
end
|
718
726
|
end
|
@@ -742,17 +750,17 @@ module ActiveMerchant
|
|
742
750
|
test? ? test_url : live_url
|
743
751
|
end
|
744
752
|
|
745
|
-
def parse(action, raw_response)
|
753
|
+
def parse(action, raw_response, options = {})
|
746
754
|
if is_cim_action?(action) || action == :verify_credentials
|
747
|
-
parse_cim(raw_response)
|
755
|
+
parse_cim(raw_response, options)
|
748
756
|
else
|
749
757
|
parse_normal(action, raw_response)
|
750
758
|
end
|
751
759
|
end
|
752
760
|
|
753
|
-
def commit(action, &payload)
|
761
|
+
def commit(action, options = {}, &payload)
|
754
762
|
raw_response = ssl_post(url, post_data(action, &payload), headers)
|
755
|
-
response = parse(action, raw_response)
|
763
|
+
response = parse(action, raw_response, options)
|
756
764
|
|
757
765
|
avs_result_code = response[:avs_result_code].upcase if response[:avs_result_code]
|
758
766
|
avs_result = AVSResult.new(code: STANDARD_AVS_CODE_MAPPING[avs_result_code])
|
@@ -869,7 +877,7 @@ module ActiveMerchant
|
|
869
877
|
response
|
870
878
|
end
|
871
879
|
|
872
|
-
def parse_cim(body)
|
880
|
+
def parse_cim(body, options)
|
873
881
|
response = {}
|
874
882
|
|
875
883
|
doc = Nokogiri::XML(body).remove_namespaces!
|
@@ -904,7 +912,7 @@ module ActiveMerchant
|
|
904
912
|
(empty?(element.content) ? nil : element.content)
|
905
913
|
end
|
906
914
|
|
907
|
-
response.merge!(parse_direct_response_elements(response))
|
915
|
+
response.merge!(parse_direct_response_elements(response, options))
|
908
916
|
|
909
917
|
response
|
910
918
|
end
|
@@ -967,11 +975,11 @@ module ActiveMerchant
|
|
967
975
|
action && is_cim_action?(action)
|
968
976
|
end
|
969
977
|
|
970
|
-
def parse_direct_response_elements(response)
|
978
|
+
def parse_direct_response_elements(response, options)
|
971
979
|
params = response[:direct_response]
|
972
980
|
return {} unless params
|
973
981
|
|
974
|
-
parts = params.split(',')
|
982
|
+
parts = params.split(options[:delimiter] || ',')
|
975
983
|
{
|
976
984
|
response_code: parts[0].to_i,
|
977
985
|
response_subcode: parts[1],
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activemerchant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.85.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tobias Luetke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-09-
|
11
|
+
date: 2018-09-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|