invoicing_payments_processing 1.1.31 → 1.1.41
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/bufferpaypalnotification.rb +4 -1
- data/lib/invoice.rb +17 -5
- 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: 8b262508f5bb5461883af0c385256bc6011ed4aa
|
4
|
+
data.tar.gz: f57520e8d02e50ecdd5638d5392680223bb0e77c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be69442d3cb147180d5a373f3bf1a71e81221de43957440df516751e954a1cdcd859da86685b8e76ab95fada8f63cd43044fec24dbc469b0c2daf33c866353b4
|
7
|
+
data.tar.gz: 9c6ee401ce0094ba5c08f8476a65e10f3720ac0350dcf43cd627f78e0b326897b2cd9c8c8d1d3f283e0a0ce81c9e3f89edc5199467f5e04ca92982a86f9b6802
|
@@ -236,6 +236,9 @@ module BlackStack
|
|
236
236
|
def self.process(params)
|
237
237
|
DB.transaction do
|
238
238
|
# verifico que no existe ya una notificacion
|
239
|
+
puts
|
240
|
+
puts
|
241
|
+
puts "params2:#{params.to_s}:."
|
239
242
|
b = BlackStack::BufferPayPalNotification.where(:id=>params['id']).first
|
240
243
|
if b.nil?
|
241
244
|
# proceso la notificacion
|
@@ -299,7 +302,7 @@ module BlackStack
|
|
299
302
|
|
300
303
|
# marco la factura como pagada
|
301
304
|
# registro contable - bookkeeping
|
302
|
-
i.
|
305
|
+
i.getPaidb.create_time) if i.canBePaid?
|
303
306
|
|
304
307
|
# crea una factura para el periodo siguiente (dia, semana, mes, anio)
|
305
308
|
j = BlackStack::Invoice.new()
|
data/lib/invoice.rb
CHANGED
@@ -10,10 +10,16 @@ module BlackStack
|
|
10
10
|
|
11
11
|
many_to_one :buffer_paypal_notification, :class=>:'BlackStack::BufferPayPalNotification', :key=>:id_buffer_paypal_notification
|
12
12
|
many_to_one :client, :class=>:'BlackStack::Client', :key=>:id_client
|
13
|
-
many_to_one :paypal_subscription, :class=>:'BlackStack::PayPalSubscription', :key=>:id_paypal_subscription
|
13
|
+
#many_to_one :paypal_subscription, :class=>:'BlackStack::PayPalSubscription', :key=>:id_paypal_subscription
|
14
14
|
many_to_one :previous, :class=>:'BlackStack::Invoice', :key=>:id_previous_invoice
|
15
15
|
one_to_many :items, :class=>:'BlackStack::InvoiceItem', :key=>:id_invoice
|
16
16
|
|
17
|
+
def paypal_subscription
|
18
|
+
return nil if self.subscr_id.nil?
|
19
|
+
return nil if self.subscr_id.to_s.size == 0
|
20
|
+
return BlackStack::PayPalSubscription.where(:subscr_id=>self.subscr_id.to_s).first
|
21
|
+
end
|
22
|
+
|
17
23
|
# compara 2 planes, y retorna TRUE si ambos pueden coexistir en una misma facutra, con un mismo enlace de PayPal
|
18
24
|
def self.compatibility?(h, i)
|
19
25
|
return false if h[:type]!=i[:type]
|
@@ -60,6 +66,7 @@ module BlackStack
|
|
60
66
|
#
|
61
67
|
def set_subscription(s)
|
62
68
|
self.subscr_id = s.subscr_id
|
69
|
+
self.delete_time = nil
|
63
70
|
self.save
|
64
71
|
# aplico la mismam modificacion a todas las factuas que le siguieron a esta
|
65
72
|
BlackStack::Invoice.where(:id_previous_invoice=>self.id).all { |j|
|
@@ -204,7 +211,7 @@ module BlackStack
|
|
204
211
|
trial2 = allow_trials && plan_descriptor[:trial2_fee]!=nil && plan_descriptor[:trial2_period]!=nil && plan_descriptor[:trial2_units]!=nil
|
205
212
|
|
206
213
|
values[:a3] = 0
|
207
|
-
self.items.each { |i|
|
214
|
+
self.items.each { |i|
|
208
215
|
if trial1 && i.units!=i.plan_descriptor[:trial_credits]
|
209
216
|
raise 'Cannot order more than 1 package and trial in the same invoice'
|
210
217
|
elsif trial1
|
@@ -308,6 +315,11 @@ module BlackStack
|
|
308
315
|
# marco la factura como pagada
|
309
316
|
self.status = BlackStack::Invoice::STATUS_PAID
|
310
317
|
self.delete_time = nil
|
318
|
+
if self.previous.nil? # si es la primer factura de una suscripcion, o no es una suscripcion
|
319
|
+
diff = payment_time - self.billing_period_from
|
320
|
+
self.billing_period_from = payment_time
|
321
|
+
self.billing_period_to += diff
|
322
|
+
end
|
311
323
|
self.save
|
312
324
|
# expiracion de creditos de la factura anterior
|
313
325
|
i = self.previous
|
@@ -413,7 +425,7 @@ module BlackStack
|
|
413
425
|
# le seteo la fecha de hoy
|
414
426
|
self.billing_period_from = now()
|
415
427
|
#puts
|
416
|
-
#puts
|
428
|
+
#puts
|
417
429
|
# si el plan tiene un primer trial, y
|
418
430
|
# es la primer factura, entonces:
|
419
431
|
# => se trata del primer pago por trial
|
@@ -422,7 +434,7 @@ module BlackStack
|
|
422
434
|
units = h[:trial_credits].to_i
|
423
435
|
unit_price = h[:trial_fee].to_f / h[:trial_credits].to_f
|
424
436
|
billing_period_to = DB["SELECT DATEADD(#{h[:trial_period].to_s}, +#{h[:trial_units].to_s}, '#{self.billing_period_from.to_s}') AS [now]"].map(:now)[0].to_s
|
425
|
-
|
437
|
+
|
426
438
|
# si el plan tiene un segundo trial, y
|
427
439
|
# es la segunda factura, entonces:
|
428
440
|
# => se trata del segundo pago por segundo trial
|
@@ -431,7 +443,7 @@ module BlackStack
|
|
431
443
|
units = h[:trial2_credits].to_i
|
432
444
|
unit_price = h[:trial2_fee].to_f / h[:trial2_credits].to_f
|
433
445
|
billing_period_to = DB["SELECT DATEADD(#{h[:trial2_period].to_s}, +#{h[:trial2_units].to_s}, '#{self.billing_period_from.to_s}') AS [now]"].map(:now)[0].to_s
|
434
|
-
|
446
|
+
|
435
447
|
# si el plan tiene un fee, y
|
436
448
|
elsif h[:fee].to_f != nil && h[:type] == BlackStack::InvoicingPaymentsProcessing::BasePlan::PAYMENT_SUBSCRIPTION
|
437
449
|
#puts 'c'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: invoicing_payments_processing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.41
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Leandro Daniel Sardi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-10-
|
11
|
+
date: 2020-10-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: websocket
|