killbill-paypal-express 5.0.13 → 5.0.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/paypal_express/api.rb +24 -2
- 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: 3f986a90b244426935eaf2dc513c48f6a27c6b8f
|
4
|
+
data.tar.gz: 348e81e5bdef89834a83b811c96521e42ae70ed2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9af7a1ceb33f2154b1747b9f0104d53c4b42dc802a43827e621224cd9a4140e430b75232a7e35610908747b70f6e85384e7e9f8484be2e78a53fe829982adb5
|
7
|
+
data.tar.gz: f62ec07a6d4350c2bcadfcdb855f0006fb61428079c818a3b8706eb787b74f9db30bbfadb0279a6c7467609a23d08037dc3b90559d2160eacac80e98295a6846
|
data/lib/paypal_express/api.rb
CHANGED
@@ -620,15 +620,19 @@ module Killbill #:nodoc:
|
|
620
620
|
end
|
621
621
|
|
622
622
|
def get_raw_payment_info(kb_payment_id, context)
|
623
|
-
ignored_api_calls = [:details_for]
|
624
623
|
responses = @response_model.from_kb_payment_id(@transaction_model, kb_payment_id, context.tenant_id)
|
624
|
+
details_for_response = responses.select {|r| r.api_call.to_sym == :details_for}.last
|
625
|
+
details_for_plugin_info = details_for_response.nil? ? nil : details_for_response.to_transaction_info_plugin
|
626
|
+
|
625
627
|
responses = responses.reject do |response|
|
626
|
-
|
628
|
+
response == details_for_response
|
627
629
|
end
|
628
630
|
t_info_plugins = responses.collect do |response|
|
629
631
|
response.to_transaction_info_plugin(response.send("#{@identifier}_transaction"))
|
630
632
|
end
|
631
633
|
|
634
|
+
merge_selected_properties_from_details_call(t_info_plugins, details_for_plugin_info, [:payerEmail])
|
635
|
+
|
632
636
|
# Completed purchases/authorizations will have two rows in the responses table (one for api_call 'build_form_descriptor', one for api_call 'purchase/authorize')
|
633
637
|
# Other transaction types don't support the :PENDING state
|
634
638
|
target_transaction_types = [:PURCHASE, :AUTHORIZE]
|
@@ -638,6 +642,24 @@ module Killbill #:nodoc:
|
|
638
642
|
t_info_plugins_without_pending = t_info_plugins.reject { |t_info_plugin| target_transaction_types.include?(t_info_plugin.transaction_type) && t_info_plugin.status == :PENDING }
|
639
643
|
[with_only_pending_trx ? t_info_plugins : t_info_plugins_without_pending, t_info_plugins, with_only_pending_trx]
|
640
644
|
end
|
645
|
+
|
646
|
+
def merge_selected_properties_from_details_call(plugin_infos, to_merge_plugin_info, merge_properties)
|
647
|
+
unless to_merge_plugin_info.nil?
|
648
|
+
matched_trx_plugin_info = plugin_infos.detect {|info| info.kb_transaction_payment_id == to_merge_plugin_info.kb_transaction_payment_id}
|
649
|
+
unless matched_trx_plugin_info.nil?
|
650
|
+
merge_properties.each do |p|
|
651
|
+
p_value = find_value_from_properties(to_merge_plugin_info.properties, p)
|
652
|
+
unless p_value.blank?
|
653
|
+
if matched_trx_plugin_info.properties.detect {|mp| mp.key.to_s == p.to_s}.nil?
|
654
|
+
matched_trx_plugin_info.properties << create_plugin_property(p.to_s, p_value)
|
655
|
+
else
|
656
|
+
matched_trx_plugin_info.properties.detect {|mp| mp.key.to_s == p.to_s} .value = p_value
|
657
|
+
end
|
658
|
+
end
|
659
|
+
end
|
660
|
+
end
|
661
|
+
end
|
662
|
+
end
|
641
663
|
end
|
642
664
|
end
|
643
665
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: killbill-paypal-express
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.
|
4
|
+
version: 5.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kill Bill core team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-07-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|