uc-pay examples

Donate

One-off or monthly giving to Undercurrent. Preset amounts are an enhancement; the amount field is the real input. Donations are not tax-deductible.

Defaults

Secure checkout on Stripe. Card details never touch this page.

Markup
<uc-donate data-brand="uc" data-env="qa">
    <form class="ucp" method="post" action="https://pay-qa.undercurrent.ai/v1/checkout" accept-charset="utf-8">
    <input type="hidden" name="kind" value="donation">
    <input type="hidden" name="brand" value="uc">
    <input type="hidden" name="src" value="embed">
    <fieldset class="ucp-chips" hidden data-ucp-js>
    <legend>Amount</legend>
    <label class="ucp-chip">
    <input type="radio" name="ucp_preset" value="5">
    <span>$5</span></label>
    <label class="ucp-chip">
    <input type="radio" name="ucp_preset" value="25" checked>
    <span>$25</span></label>
    <label class="ucp-chip">
    <input type="radio" name="ucp_preset" value="100">
    <span>$100</span></label></fieldset>
    <label>Amount (USD)<input name="amount" inputmode="decimal" required pattern="[0-9]+(\.[0-9]{1,2})?" value="25"></label>
    <label class="ucp-check">
    <input type="checkbox" name="recurring" value="month"> Make it monthly (whole dollars)</label>
    <button type="submit" class="ucp-btn">Donate</button>
    <div hidden>
    <label>Company<input name="hp_company" tabindex="-1" autocomplete="off"></label></div>
    <p class="ucp-status" aria-live="polite"></p>
    <p class="ucp-note">Secure checkout on Stripe. Card details never touch this page.</p></form>
</uc-donate>

Custom amounts, donor details, credits an org

Secure checkout on Stripe. Card details never touch this page.

Markup
<uc-donate data-brand="uc" data-env="qa" data-org="demo-org" data-amounts="10,50,250" data-default="50" data-fields="name,message,public" data-label="Support Undercurrent">
    <form class="ucp" method="post" action="https://pay-qa.undercurrent.ai/v1/checkout" accept-charset="utf-8">
    <input type="hidden" name="kind" value="donation">
    <input type="hidden" name="brand" value="uc">
    <input type="hidden" name="src" value="embed">
    <input type="hidden" name="org" value="demo-org">
    <fieldset class="ucp-chips" hidden data-ucp-js>
    <legend>Amount</legend>
    <label class="ucp-chip">
    <input type="radio" name="ucp_preset" value="10">
    <span>$10</span></label>
    <label class="ucp-chip">
    <input type="radio" name="ucp_preset" value="50" checked>
    <span>$50</span></label>
    <label class="ucp-chip">
    <input type="radio" name="ucp_preset" value="250">
    <span>$250</span></label></fieldset>
    <label>Amount (USD)<input name="amount" inputmode="decimal" required pattern="[0-9]+(\.[0-9]{1,2})?" value="50"></label>
    <label class="ucp-check">
    <input type="checkbox" name="recurring" value="month"> Make it monthly (whole dollars)</label>
    <label>Name (optional)<input name="donor_name" maxlength="120" autocomplete="name"></label>
    <label>Message (optional)<textarea name="message" maxlength="500" rows="2"></textarea></label>
    <label class="ucp-check">
    <input type="checkbox" name="public" value="true"> Show my name on the supporters list</label>
    <button type="submit" class="ucp-btn">Support Undercurrent</button>
    <div hidden>
    <label>Company<input name="hp_company" tabindex="-1" autocomplete="off"></label></div>
    <p class="ucp-status" aria-live="polite"></p>
    <p class="ucp-note">Secure checkout on Stripe. Card details never touch this page.</p></form>
</uc-donate>

Monthly only, dark theme

Secure checkout on Stripe. Card details never touch this page.

Markup
<uc-donate data-brand="uc" data-env="qa" data-recurring="only" data-label="Give monthly" data-theme="dark">
    <form class="ucp" method="post" action="https://pay-qa.undercurrent.ai/v1/checkout" accept-charset="utf-8">
    <input type="hidden" name="kind" value="donation">
    <input type="hidden" name="brand" value="uc">
    <input type="hidden" name="src" value="embed">
    <fieldset class="ucp-chips" hidden data-ucp-js>
    <legend>Amount</legend>
    <label class="ucp-chip">
    <input type="radio" name="ucp_preset" value="5">
    <span>$5</span></label>
    <label class="ucp-chip">
    <input type="radio" name="ucp_preset" value="25" checked>
    <span>$25</span></label>
    <label class="ucp-chip">
    <input type="radio" name="ucp_preset" value="100">
    <span>$100</span></label></fieldset>
    <label>Amount (USD)<input name="amount" inputmode="decimal" required pattern="[0-9]+(\.[0-9]{1,2})?" value="25"></label>
    <input type="hidden" name="recurring" value="month">
    <button type="submit" class="ucp-btn">Give monthly</button>
    <div hidden>
    <label>Company<input name="hp_company" tabindex="-1" autocomplete="off"></label></div>
    <p class="ucp-status" aria-live="polite"></p>
    <p class="ucp-note">Secure checkout on Stripe. Card details never touch this page.</p></form>
</uc-donate>

QA today: Stripe is not connected yet, so pressing the button lands on the pay service's own "Payments aren't switched on yet โ€” no charge was made" page (HTTP 503). That is the designed degraded state, not a bug. Once Stripe test mode is connected the same button lands on Stripe Checkout; pay with 4242 4242 4242 4242.

Works with JavaScript off: the element wraps a plain <form method="post">. Turn JS off and reload โ€” you get an unstyled form that still reaches checkout.