Skip to content

The membership button uses PayPal's legacy hosted-button flow #197

Description

@DZPM

The membership page pays through a PayPal hosted button, in layouts/shortcodes/membership/membership-process.html:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
    <input type="hidden" name="cmd" value="_s-xclick">
    <input type="hidden" name="hosted_button_id" value="6XH6B9ZGJ4PQA">
    <input type="image" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_subscribeCC_LG.gif" ...>
</form>

Two separate problems, one urgent only if the first turns out to be true.

The flow is legacy

cgi-bin/webscr with cmd=_s-xclick is Website Payments Standard, the oldest of PayPal's integrations. Several third-party sources say it is being retired, with dates around January 2027 quoted. I have not been able to confirm that from PayPal directly, and a date from a third party is not a date. So the first task on this issue is to find out, from the account, whether the button has an end date.

If it does, the association has a subscription payment method that stops working on a day nobody is watching for, and membership renewals stop silently.

The button image is a third-party request on every page view

btn_subscribeCC_LG.gif is loaded from paypalobjects.com when the page opens, before anyone clicks anything. Every visitor to the membership page tells PayPal they were there. The 1x1 tracking GIF that sat beside it has been removed in #196; this one stays because it is the button.

Copying the image into the repository fixes that half on its own, costs nothing, and does not depend on the answer to the first question.

What this needs

  1. Check the PayPal account for a retirement notice on the hosted button. This is the part that decides everything else.
  2. Self-host the button image regardless of the answer.
  3. If there is an end date, decide the replacement, which is a decision about money and accounts rather than about code.

Activity

  1. assigned and unassigned on Oct 5, 2026
  2. DZPM commented on Oct 5, 2026

    @DZPM
    MemberAuthor

    The decision on what replaces this, if anything replaces it, belongs to the Board: it is about the association's payment account, not about the site. Raising it there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions