Skip to content

Payments

The Payments area lists payments received through the platform for memberships, classes, and events. You can filter by type, date, or status, open a payment to see full details and how it links to a membership or enrollment, and identify failed or pending payments. Used by: Admin and Super Admin.

Routes: https://admin.uibeta.org/admin/payments (list), https://admin.uibeta.org/admin/payments/[id] (payment detail).


What the payments list shows

  1. Go to Payments in the sidebar (or https://admin.uibeta.org/admin/payments).
  2. The list shows payments with details such as amount, date, member (or customer), type (membership, class, event), and status. Click any row to open the payment detail page.
  3. Use filters to narrow the list, for example:
    • Type — Membership, class, or event payment.
    • Date range — Payments in a given period.
    • Status — Succeeded, pending, failed, refunded, partially refunded.

This page is for payments tied to memberships, classes, and events. Donations (if your organization uses them) are typically managed in a separate area.


What the payment detail page shows

When you open a payment (https://admin.uibeta.org/admin/payments/[id]), you see:

  • Amount — What was charged (and currency).
  • Line items — Breakdown of what was purchased (e.g. membership, class, event line).
  • Date and time — When the payment was made.
  • Status — Succeeded, pending, failed, refunded, or partially refunded.
  • Stripe reference — Link or ID to the payment in Stripe (for finance or support).
  • Linked membership or enrollment — The membership or class/event enrollment this payment is tied to. Use this to jump to that record (e.g. to extend a membership or view an enrollment).
  • LGL sync jobs — Information about Little Green Light sync tasks tied to this payment (so you can see whether the gift or payment was queued or sent to the CRM).
  • Customer — The user or member who paid.

Use this page to confirm what was paid for, to follow up on a refund, to troubleshoot a member’s question, or to check CRM sync status.


Identifying a failed or pending payment

  • Failed — The charge did not go through (e.g. card declined). The member does not have the product until they pay successfully. You may see a failed payment in the list; the member may need to update their payment method and try again on the site, or you may need to process their payment another way (e.g. manual/offline and then create membership or enrollment as appropriate).
  • Pending — The payment is still processing (e.g. some bank transfers). Wait for it to move to Succeeded; if it stays pending for a long time, check with Andrew or your finance lead.

Filter the payments list by Status (failed or pending) to find these quickly.


Refunds

Who can issue refunds

The Issue Refund button is visible to any Admin who holds the Manage payments permission (admin:manage_payments) — Admins have it by default — and to all Super Admins. If that permission has been revoked for a specific admin, they will not see the button.

How to issue a refund

  1. Open the payment detail page (https://admin.uibeta.org/admin/payments/[id]).
  2. Click Issue Refund — a modal appears.
  3. Select line items — the modal shows a checkbox for each line item on the payment. Check the items you want to refund. The refund amount is calculated automatically from your selection; there is no free-entry dollar field.
  4. Choose a reason (required) — pick one from the dropdown:
    • Requested by Customer
    • Duplicate
    • Fraudulent These map directly to Stripe's refund reason codes.
  5. Add internal notes (optional) — a free-text field for context visible only to staff.
  6. Choose the refund type (if processing fees are enabled):
    • Full refund — member gets back the full amount including the processing fee. Use for duplicate charges or errors where no service was delivered.
    • Fee-adjusted refund — member gets back the product subtotal only; the processing fee is non-refundable. Use when the service was partially or fully delivered.
    • For older payments where fee data is not stored, the modal shows an estimated fee.
  7. Click Confirm. The Stripe refund fires immediately, the payment status updates to Refunded or Partially Refunded, and LGL gift records are updated for the refunded items.

LGL sync failure after refund

If LGL sync fails after a successful Stripe refund, a warning appears: "Refund issued. LGL sync failed — check sync jobs." The Stripe refund stands regardless. Go to https://admin.uibeta.org/admin/sync, find the failed job, and retry. Contact Andrew if it fails repeatedly.

If you need to process a refund directly in Stripe (e.g. for a payment that isn't showing up here), do so in the Stripe dashboard. Enrollment or membership status in UIEngine will not update automatically in that case.

Refunds processed outside UIEngine (e.g. directly in Stripe) will not automatically update enrollment or membership status in the platform. Notify Andrew so records can be kept in sync.

Refunds ledger

To view a full history of all issued refunds, filter by date, or export to CSV, use the dedicated Refunds report at https://admin.uibeta.org/admin/reports/refunds (sidebar: Reports & Sync → Refunds).


Need help? Contact Andrew.

Maintained by 21 Ads Media