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

## P3 Qualification (L2/L3)

New guide covering Visa's Commercial Enhanced Data Program (CEDP) — Run's implementation of Level 2/Level 3 data for commercial card interchange optimization:

- [P3 Qualification guide](/docs/guides/payments/p3-qualification): Documents all required fields to qualify a charge request for P3, including order-level fields, shipping fields, and the `line_items[]` array
- Supported on **Cardpointe**, **Payroc**, and **Cybersource** gateways
- Includes a complete example request and parameter reference tables
- Implementation notes covering `comm_card` detection, `order_date` format, tax reconciliation, and surcharge line-item handling

## Hosted Payment Pages — Edit Endpoint

New guide section documenting the HPP edit endpoint:

- [Hosted Payment Pages guide](/docs/guides/payments/hosted-payment-pages): Documents `PUT /api/v1/hpp/{hpp_client_id}` — update an existing payment page's name, amount, amount range (`min_amount`/`max_amount`), lock settings, and form field configuration
- Existing fields are preserved unless explicitly overridden

## Test Cards

New [Test Cards guide](/docs/guides/payments/test-cards) consolidating all UAT test card and decline scenario references:

- Basic test cards for Visa, Mastercard, AMEX, and Discover
- UAT response code tables for all four card brands — charge a specific cent amount to trigger a targeted decline scenario (Cardpointe gateway only)
- Setup and Validate & Deploy pages now link to this guide for quick access

## Runner.js Versions

Updated the [Runner.js Versions](/docs/guides/tokenization/versions) page with the full release history sourced from the production branch:

- Current stable release **1.5.5** clearly identified with a callout
- Complete version table from 1.4.0 through 1.5.5 with release dates and descriptions

## Runner.js — iStream Example

Added a full iStream ACH implementation example to the [Runner.js guide](/docs/guides/tokenization/runner-js):

- Demonstrates `last4` capture via the `message` event
- Shows `accountTypeField` and `customerNameField` wiring using native HTML elements
- Uses the `onTokenize` callback pattern