killbill-paypal-express 5.0.14 → 5.0.15
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/lib/paypal_express/api.rb +24 -22
- 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: 94d76dc9e50ed47e45f0d06f190f34779df7a42e
|
4
|
+
data.tar.gz: cbf2a9ded0e14f69741e1a78e82d30d532234be5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bfae427c8064df1985796fbbfeb71d89458ec295f616a2dbce13126237619b0a6eaf0b557482241e0ad9164aa76baeeb890b2435b343175fe3a1938e0f0d0955
|
7
|
+
data.tar.gz: da9ce852cbc8139824b15a19318948600edb7921f5047b42b9130e229f8a51b124783c37b13492d6199ec2485488f1bc5b558e4647ddb7e60ec9eae131d9887f
|
data/lib/paypal_express/api.rb
CHANGED
@@ -382,22 +382,9 @@ module Killbill #:nodoc:
|
|
382
382
|
# Find the payment_processor_id if not provided
|
383
383
|
payment_processor_account_id ||= find_payment_processor_id_from_initial_call(kb_account_id, context.tenant_id, options[:token])
|
384
384
|
options[:payment_processor_account_id] = payment_processor_account_id
|
385
|
+
options[:payer_id] = ::Killbill::Plugin::ActiveMerchant::Utils.normalized(properties_hash, :payer_id)
|
385
386
|
|
386
|
-
|
387
|
-
if options[:reference_id]
|
388
|
-
if is_authorize
|
389
|
-
gateway_call_proc = Proc.new do |gateway, linked_transaction, payment_source, amount_in_cents, options|
|
390
|
-
# Can't use default implementation: the purchase signature is for one-off payments only
|
391
|
-
gateway.authorize_reference_transaction(amount_in_cents, options)
|
392
|
-
end
|
393
|
-
else
|
394
|
-
gateway_call_proc = Proc.new do |gateway, linked_transaction, payment_source, amount_in_cents, options|
|
395
|
-
# Can't use default implementation: the purchase signature is for one-off payments only
|
396
|
-
gateway.reference_transaction(amount_in_cents, options)
|
397
|
-
end
|
398
|
-
end
|
399
|
-
else
|
400
|
-
# One-off payment
|
387
|
+
if options.has_key?(:token)
|
401
388
|
# Retrieve payer_id and payer_email
|
402
389
|
begin
|
403
390
|
payer_info = get_payer_info(options[:token],
|
@@ -423,12 +410,27 @@ module Killbill #:nodoc:
|
|
423
410
|
:message => { :payment_plugin_status => :CANCELED, :exception_class => e.class.to_s, :exception_message => e.message }.to_json)
|
424
411
|
return response.to_transaction_info_plugin(nil)
|
425
412
|
end
|
426
|
-
options[:payer_id] = ::Killbill::Plugin::ActiveMerchant::Utils.normalized(properties_hash, :payer_id)
|
427
413
|
if options[:payer_id].nil?
|
428
414
|
options[:payer_id] = payer_info.payer_id
|
429
415
|
end
|
430
416
|
options[:payer_email] = payer_info.payer_email
|
417
|
+
end
|
431
418
|
|
419
|
+
# We have a baid on file
|
420
|
+
if options[:reference_id]
|
421
|
+
if is_authorize
|
422
|
+
gateway_call_proc = Proc.new do |gateway, linked_transaction, payment_source, amount_in_cents, options|
|
423
|
+
# Can't use default implementation: the purchase signature is for one-off payments only
|
424
|
+
gateway.authorize_reference_transaction(amount_in_cents, options)
|
425
|
+
end
|
426
|
+
else
|
427
|
+
gateway_call_proc = Proc.new do |gateway, linked_transaction, payment_source, amount_in_cents, options|
|
428
|
+
# Can't use default implementation: the purchase signature is for one-off payments only
|
429
|
+
gateway.reference_transaction(amount_in_cents, options)
|
430
|
+
end
|
431
|
+
end
|
432
|
+
else
|
433
|
+
# One-off payment
|
432
434
|
if is_authorize
|
433
435
|
gateway_call_proc = Proc.new do |gateway, linked_transaction, payment_source, amount_in_cents, options|
|
434
436
|
gateway.authorize(amount_in_cents, options)
|
@@ -640,20 +642,20 @@ module Killbill #:nodoc:
|
|
640
642
|
|
641
643
|
# Filter out the pending transaction if there is already a response tied with the same transaction but indicating a final state
|
642
644
|
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 }
|
643
|
-
[with_only_pending_trx ? t_info_plugins : t_info_plugins_without_pending, t_info_plugins, with_only_pending_trx]
|
645
|
+
result = [with_only_pending_trx ? t_info_plugins : t_info_plugins_without_pending, t_info_plugins, with_only_pending_trx]
|
646
|
+
result
|
644
647
|
end
|
645
648
|
|
646
649
|
def merge_selected_properties_from_details_call(plugin_infos, to_merge_plugin_info, merge_properties)
|
647
650
|
unless to_merge_plugin_info.nil?
|
648
|
-
|
649
|
-
unless matched_trx_plugin_info.nil?
|
651
|
+
plugin_infos.each do |trx_plugin_info|
|
650
652
|
merge_properties.each do |p|
|
651
653
|
p_value = find_value_from_properties(to_merge_plugin_info.properties, p)
|
652
654
|
unless p_value.blank?
|
653
|
-
if
|
654
|
-
|
655
|
+
if trx_plugin_info.properties.detect {|mp| mp.key.to_s == p.to_s}.nil?
|
656
|
+
trx_plugin_info.properties << create_plugin_property(p.to_s, p_value)
|
655
657
|
else
|
656
|
-
|
658
|
+
trx_plugin_info.properties.detect {|mp| mp.key.to_s == p.to_s} .value = p_value
|
657
659
|
end
|
658
660
|
end
|
659
661
|
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.15
|
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-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|