> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.solvimon.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.solvimon.com/_mcp/server.

# Payment history

The Payment history component renders the list of payment attempts for a specific invoice. Use it when you want to show a customer what payment attempts have been made against an invoice.

---

![](/_fern-img/7a87b20f7a22c2b2dace4f67c756b7f7f256527c3543bf02cde221311e437835.webp)

---

## Overview

Payment history is driven by a `portalObject` your backend generates for a specific customer, combined with an `invoiceId` you pass in configuration. The SDK fetches and displays all payment attempts for that invoice. Your frontend never handles API keys directly.

## Mount the component

**`Payment history component`**

```js Payment history component
import { createSolvimonCore } from '@solvimon/solvimon-web/core';

// Generated by your backend via the Solvimon API.
const customerPortalObject = {
    object_type: 'PORTAL_URL',
    id: 'purl_example',
    type: 'CUSTOMER_PORTAL',
    customer_id: 'cust_example',
    token: 'replace-with-a-real-portal-token',
    status: 'PUBLISHED',
};

const solvimon = createSolvimonCore({
    environment: 'TEST',
    locale: 'en-US',
});

const unmount = solvimon.createComponent('payment-history', {
    container: '#sdk-root',
    portalObject: customerPortalObject,
    configuration: {
        invoiceId: 'inv_example',
    },
});

window.addEventListener('beforeunload', () => {
    unmount?.();
});
```

## Configuration

| Option      | Type     | Required | Description                                              |
| ----------- | -------- | -------- | -------------------------------------------------------- |
| `invoiceId` | `string` | Yes      | The ID of the invoice whose payment attempts to display. |

## Events

This component does not fire any events.