Send email confirmation when BTC payment is confirmed
Some checks failed
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is failing

This commit is contained in:
2024-02-17 14:17:41 +01:00
parent 079ee8833c
commit 54220019bb
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

View File

@@ -23,4 +23,11 @@ class NotificationMailer < ApplicationMailer
@subject = "New invitations added to your account"
mail to: @user.email, subject: @subject
end
def bitcoin_donation_confirmed
@user = params[:user]
@donation = params[:donation]
@subject = "Donation confirmed"
mail to: @user.email, subject: @subject
end
end

View File

@@ -0,0 +1,11 @@
Hi <%= @user.display_name.presence || @user.cn %>,
Your bitcoin donation has been confirmed successfully. <3
Thank you so much for helping us with keeping the lights on, as well as with continually improving our services for you!
You can find all of your past financial contributions on this page:
<%= contributions_donations_url %>
Have a nice day!