CustomerPaymentList
The CustomerPaymentList component renders a detailed history of a customer's payments. It automatically handles fetching, pagination via infinite scroll, and grouping of payments by date, providing a clear and organized view of a user's transaction history.
This component is ideal for user dashboards or account pages where customers need to review their past transactions.
Props#
Prop | Type | Required | Description |
|---|---|---|---|
|
| Yes | The unique identifier for the customer (e.g., the user's DID) whose payment history you want to display. |
Usage Example#
To use the CustomerPaymentList, you must wrap it in a PaymentProvider and provide the required customer_id.
Customer Payment History
import { PaymentProvider, CustomerPaymentList } from '@blocklet/payment-react';
import { useSessionContext } from './hooks/useSessionContext'; // Adjust path to your session context hook
export default function CustomerDashboard() {
const { session, connectApi } = useSessionContext();
// Ensure the user is logged in to get their DID
if (!session?.user?.did) {
return <div>Please log in to view your payment history.</div>;
}
return (
<PaymentProvider session={session} connect={connectApi}>
<h2>My Payment History</h2>
<CustomerPaymentList customer_id={session.user.did} />
</PaymentProvider>
);
}Features#
- Automatic Data Fetching: The component fetches payment intents from the API endpoint
/api/payment-intents. - Infinite Scroll: It automatically loads more payments as the user requests them, ensuring efficient data handling for long payment histories.
- Date Grouping: Payments are visually grouped by date, making the list easy to scan.
- Detailed Information: For each payment, it displays the creation time, amount, status, description, and a link to the blockchain transaction if available.
- Loading and Empty States: It includes a loading indicator during data fetching and displays a user-friendly message if the customer has no payment history.