Stripe cancellation doesn't get processed

Cancellations at Stripe haven’t been working for a while on our site, and I have established it’s probably due to a move from the subdomain to main domain we did a few months ago.

Can you please explain what the role of the ‘custom’ field is in the Stripe pro buttons?

I’ve been working through a record today, trying to fix it and resending the webhook to test it. If I can work out what’s wrong with this, I’m hoping I can fix the rest of my data.

The first problem was that the Stripe subscription and customer id weren’t set on the record. This resulted in s2member reporting in the log that no action was required. I don’t know why they weren’t set - do you know what might have caused this?

I then updated the User record to have the relevant subscription and customer id. s2member now processes the webhook, but doesn’t downgrade the user or set an EOT.

The Core IPN log is reporting a problem. Is this relevant?

 [s2member_log] => Array
        (
            [0] => IPN received on: Thu Sep 7, 2023 5:29:06 pm UTC
            [1] => s2Member POST vars verified with a Proxy Key
            [2] => Unable to verify `$_SERVER["HTTP_HOST"]`. Please check the `custom` value in your Button Code. It MUST start with your domain name.
        )

Do you know what that is about and how I can fix it?

Thanks for your help.