Skip to Content Skip to Search
Methods
P

Instance Public methods

perform(member, subscription, status)

# File engines/member/app/jobs/member/failed_payment_recorder_job.rb, line 5
def perform(member, subscription, status)
  amount_due = PaymentGateway.upcoming_invoice_amount_due(
    customer: member,
    subscription: subscription,
    site: member.site
  )

  member.site.failed_payments.create!(
    member: member,
    payment_gateway_id: "recover_cancellation",
    subscription: subscription,

    amount_due: DB::FailedPayment.recovery_amount(amount_due, subscription.plan.amount),
    # TODO: FailedPayment should handle this internally

    currency: subscription.plan.currency,
    status: status
  )
end