killbill-paypal-express 5.0.14 → 5.0.15
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 -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
|