Send email when the invoice processed #1534
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Improve invoice charging function
We manually charge invoices. I've resolved some issues we encountered during the charging process.
Firstly, I switched the logging method from 'puts' to 'Clog'.
We attempted to charge each payment method listed in the billing information sequentially. Sometimes, the Stripe Ruby SDK throws an error when a payment fails. In such cases, we need to catch the error and proceed to charge the next payment method.
If we successfully charge an invoice, there's no need to continue trying other payment methods, so we break the loop.
If all payment methods fail, we leave the invoice unpaid.
Add cc parameter to the email sending function
We need to cc the support email when sending a failed payment email to the customer. This way, the support team can follow up with the customer if necessary.
Send an email when the invoice is successfully charged
We email the customer once the invoice is successfully processed.
We plan to include the invoice as a PDF attachment in future emails. However, generating a PDF on the backend is complex, so we'll add this feature in the next update.
Send an email when the invoice is failed to charge
We automate the process of sending emails when an invoice fails to charge, including error details from the Stripe API.
We also add the support email as a CC, allowing the entire team to follow up with the customer if needed.