Managing products
Products are server-defined price points. The embed references them by id, so buyers can't tamper with the amount.
Create a product
POST /api/partner/clients/{client_id}/products
Authorization: Bearer pmn_partner_...
Content-Type: application/json
{
"name": "Pro Plan",
"description": "Monthly subscription",
"amount": 2500,
"currency": "usd"
}
Response:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Pro Plan",
"description": "Monthly subscription",
"amount": 2500,
"currency": "usd",
"active": true,
"created_at": "2026-10-02T10:00:00Z"
}
| Field | Required | Notes |
|---|---|---|
name |
yes | Shown to the buyer in the modal title. |
amount |
yes | In the currency's smallest unit (cents, pence, etc). |
currency |
no | Lowercase ISO 4217. Defaults to usd. |
description |
no | Shown under the product name. |
Returns 404 if the client_id does not belong to your partner account.
Using the product in the embed
<div id="paymenow-form"
data-api-key="pmn_live_..."
data-product-id="550e8400-e29b-41d4-a716-446655440000">
</div>
<script src="https://paymenow.dev/embed/paymenow.js"></script>
The buyer sees the product name and price. The amount is resolved server-side at charge time — it cannot be overridden from the browser.
Updating or deactivating
Partners cannot edit or deactivate products on behalf of a merchant. The merchant owns these through their dashboard once they log in. If you want programmatic lifecycle control, let us know and we'll scope out additional endpoints.