Aggiunge pagamento con bonifico e importo concordato per società.

Il piano si attiva solo dopo la conferma admin; Stripe resta a listino se non c'è un prezzo commerciale.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-18 23:20:43 +02:00
co-authored by Cursor
parent 1e4e0560f1
commit e436f5ece4
56 changed files with 1571 additions and 53 deletions
@@ -0,0 +1,35 @@
module Billing
class BankTransferMailer < ApplicationMailer
def instructions
@order = params[:order]
@club = @order.club
@iban = MatchLiveTv.bank_transfer_iban
@holder = MatchLiveTv.bank_transfer_account_holder
@bank_name = MatchLiveTv.bank_transfer_bank_name
@bic = MatchLiveTv.bank_transfer_bic
@proof_email = MatchLiveTv.bank_transfer_proof_email
mail(
to: recipient_email,
subject: t("mailers.bank_transfer.instructions.subject", plan: @order.plan.name)
)
end
def plan_activated
@order = params[:order]
@club = @order.club
@subscription = @club.subscription
mail(
to: recipient_email,
subject: t("mailers.bank_transfer.plan_activated.subject", plan: @order.plan.name)
)
end
private
def recipient_email
@club.billing_email.presence || @club.owner&.email
end
end
end
+26 -6
View File
@@ -5,17 +5,37 @@ module Billing
@club = @invoice.club
I18n.with_locale(I18n.locale) do
prefix = t("mailers.invoice.attachment_prefix")
attachments["#{prefix}-#{@invoice.number.parameterize}.pdf"] = {
mime_type: "application/pdf",
content: @invoice.pdf.download
}
attach_invoice_pdf!
mail(
to: @club.billing_email,
subject: t("mailers.invoice.subject", number: @invoice.display_number)
)
end
end
def plan_activated_with_invoice
@invoice = params[:invoice]
@club = @invoice.club
I18n.with_locale(I18n.locale) do
attach_invoice_pdf!
mail(
to: @club.billing_email,
subject: t("mailers.invoice_activated.subject",
plan: @club.subscription&.plan&.name || @invoice.display_number,
number: @invoice.display_number)
)
end
end
private
def attach_invoice_pdf!
prefix = t("mailers.invoice.attachment_prefix")
attachments["#{prefix}-#{@invoice.number.parameterize}.pdf"] = {
mime_type: "application/pdf",
content: @invoice.pdf.download
}
end
end
end