This is kind of bug?

Sometimes our subscribers get this message on an invoice emal.

We were unable to charge your card on file for this subscription.

When they update their card, they get another invoice email
Even though the webhook shows “PAID”
And the invoice shows the ‘Last 4’, indicating the invoice was paid
the message on the email still shows

We were unable to charge your card on file for this subscription.

That’s what the webhook listener shows, too:
PAID, and Unable to charge your card

invoice.payment_made: production invoice.payment_made inv:0-ChC7yVps-L4_MSMJI7CFCXh2ELsJ c63e2e50-9ab1-413a-b8fa-3b3a7280c378 2025-05-07 
Array
(
    [merchant_id] => 6TQPFRKRR4A7S
    [location_id] => 91F1VEX85751A
    [type] => invoice.payment_made
    [event_id] => c93eb88a-6a6b-54f4-b57c-b812d8c40f10
    [created_at] => 2025-04-07T20:26:05Z
    [data] => Array
        (
            [type] => invoice
            [id] => inv:0-ChC7yVps-L4_MSMJI7CFCXh2ELsJ
            [object] => Array
                (
                    [invoice] => Array
                        (
                            [accepted_payment_methods] => Array
                                (
                                    [bank_account] => 
                                    [buy_now_pay_later] => 
                                    [card] => 1
                                    [cash_app_pay] => 1
                                    [square_gift_card] => 
                                )

                            [created_at] => 2025-04-07T19:25:46Z
                            [delivery_method] => EMAIL
                            [description] => We were unable to charge your card on file for this subscription.
                            [id] => inv:0-ChC7yVps-L4_MSMJI7CFCXh2ELsJ
                            [invoice_number] => 002060
                            [location_id] => 91F1VEX85751A
                            [order_id] => NHRJzTmkD6egnuKXJpd67cEV3bbZY
                            [payment_requests] => Array
                                (
                                    [0] => Array
                                        (
                                            [automatic_payment_source] => NONE
                                            [computed_amount_money] => Array
                                                (
                                                    [amount] => 10800
                                                    [currency] => USD
                                                )

                                            [due_date] => 2025-04-07
                                            [request_type] => BALANCE
                                            [tipping_enabled] => 
                                            [total_completed_amount_money] => Array
                                                (
                                                    [amount] => 10800
                                                    [currency] => USD
                                                )

                                            [uid] => 078a3b3f-61db-46f0-9a49-3714ce692a46
                                        )

                                )

                            [primary_recipient] => Array
                                (
                                    [customer_id] => 05TD1H189D74Q7Y3D8XQYKQNMC
                                    [email_address] => [email protected]
                                    [family_name] => Folse
                                    [given_name] => Tina
                                    [phone_number] => +12147930153
                                )

                            [public_url] => https://app.squareup.com/pay-invoice/inv:0-ChC7yVps-L4_MSMJI7CFCXh2ELsJ
                            [status] => PAID
                            [store_payment_method_enabled] => 1
                            [subscription_id] => c63e2e50-9ab1-413a-b8fa-3b3a7280c378
                            [timezone] => America/New_York
                            [title] => EVERYTHING Subscription
                            [updated_at] => 2025-04-07T20:25:58Z
                            [version] => 2
                        )

                )

        )

)

:waving_hand: I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:

Additional Documentation

Create and Publish Invoices
Invoices API
Gift Card Webhooks

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.

The message “We were unable to charge your card on file for this subscription” is part of the invoice description field. This field is not automatically updated by Square when a payment is made or when the invoice status changes.

If you want to update the invoice description after a successful payment, you would need to use the UpdateInvoice endpoint of the Invoices API. In the request, you can specify a new description for the invoice.

However, please note that once an invoice is published, only invoices in the SCHEDULED, UNPAID, or PARTIALLY_PAID states can be updated. You cannot update invoices in the PAID, REFUNDED, PARTIALLY_REFUNDED, CANCELED, or FAILED terminal state.

In your case, since the invoice status is PAID, you won’t be able to update the description field. For future invoices, you might want to consider updating the description field immediately after a successful payment is made, and before the invoice reaches a terminal state.

This answer was reviewed by @Bryan-Square.

Perhaps you misunderstood me. Your answer confirms that this is SQUARE bug.

The message “We were unable to charge your card on file for this subscription” is part of the invoice description field. This field is not automatically updated by Square when a payment is made or when the invoice status changes.

Square creates this message on its own, and Square sends it to the subscribers email

  1. When the payment fails and
  2. Also when the payment method is updated and the payment SUCCEEDS.

This email message is set by Square in the background. You further tell me that

  1. I can use the the API to update the message
  2. But you also tell me that I can’t update the message when the invoice is in PAID status
  3. SO once the email has been sent, Square has sent the “unable to charge message” by email, and there is no way to fix it.

In other words:
This is a Square BUG.
The message should be changed by SQUARE when the payment succeeds and the success email is sent to the subscriber.

1 Like