Send email confirmation when BTC payment is confirmed
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2024-02-17 14:17:41 +01:00
parent 18ff3d3f0d
commit f57fff0087
4 changed files with 45 additions and 7 deletions

View File

@@ -4,15 +4,19 @@ class BtcpayCheckDonationJob < ApplicationJob
def perform(donation)
return if donation.completed?
invoice = BtcpayManager::FetchInvoice.call(invoice_id: donation.btcpay_invoice_id)
invoice = BtcpayManager::FetchInvoice.call(
invoice_id: donation.btcpay_invoice_id
)
case invoice["status"]
when "Settled"
# TODO use time from actual payment confirmation
donation.paid_at = DateTime.now
donation.payment_status = "settled"
donation.save!
# TODO send email
NotificationMailer.with(user: donation.user)
.bitcoin_donation_confirmed
.deliver_later
when "Processing"
re_enqueue_job(donation)
end