WIP Process payments for expired invoices
This commit is contained in:
@@ -9,20 +9,29 @@ class BtcpayCheckDonationJob < ApplicationJob
|
||||
)
|
||||
|
||||
case invoice["status"]
|
||||
when "Settled"
|
||||
donation.paid_at = DateTime.now
|
||||
donation.payment_status = "settled"
|
||||
donation.save!
|
||||
|
||||
NotificationMailer.with(user: donation.user)
|
||||
.bitcoin_donation_confirmed
|
||||
.deliver_later
|
||||
when "Processing"
|
||||
re_enqueue_job(donation)
|
||||
when "Settled"
|
||||
mark_as_paid(donation)
|
||||
when "Expired"
|
||||
if invoice["additionalStatus"] &&
|
||||
invoice["additionalStatus"] == "PaidLate"
|
||||
mark_as_paid(donation)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def re_enqueue_job(donation)
|
||||
self.class.set(wait: 20.seconds).perform_later(donation)
|
||||
end
|
||||
|
||||
def mark_as_paid(donation)
|
||||
donation.paid_at = DateTime.now
|
||||
donation.payment_status = "settled"
|
||||
donation.save!
|
||||
|
||||
NotificationMailer.with(user: donation.user)
|
||||
.bitcoin_donation_confirmed
|
||||
.deliver_later
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user