Payment Links
Learn how to create, customize, and use payment links in PCE.
Overview
Payment Links in PCE allow merchants to collect payments without integrating a full online checkout system. They provide a simple and secure way to accept payments via a hosted link or embedded form.
Please note payment links should not be confused with integrated online shopping carts.
Creating a payment link
To create a new payment link in PCE, make a POST request to the following endpoint:
POST https://api.pcecommerce.com/checkout/v3/device?echo=true
This call creates a hosted payment form (Link2Pay) for your merchant account. The request includes basic link details, redirect URLs for successful or failed transactions, and optional parameters to restrict the payment amount.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | Unique name identifying the payment link. |
| description | String | No | Descriptive text shown at the top of the payment page. |
| deviceType | String | Yes | Set to Link2Pay for payment links. |
| merchantId | Integer | Yes | The merchant’s unique identifier. |
| enabled | Boolean | Yes | Activates or deactivates the link. |
| onSuccessUrl | String (URL) | No | Redirect page for successful payments. |
| onFailureUrl | String (URL) | No | Redirect page for failed payments. |
| MinPaymentAmount | Integer | No | Minimum allowed payment amount. Prevents users from entering a smaller value. |
| MaxPaymentAmount | Integer | No | Maximum allowed payment amount. Prevents users from entering a larger value. |
Example request:
{
"name": "Omna ACH Demo",
"description": "Demo for PCE Gateway ACH Flow",
"deviceType": "Link2Pay",
"enabled": true,
"onSuccessUrl": "http://localhost:8000",
"onFailureUrl": "http://localhost:5500",
"merchantId": 418284137,
"MinPaymentAmount": 250,
"MaxPaymentAmount": 250
}These values effectively lock the payment amount, ensuring that end users cannot modify the transaction total.
Response fields
When the payment link is successfully created, the API returns a 201 Created response with the following fields:
| Field | Type | Description |
|---|---|---|
| id | UUID | Unique identifier for the created payment link. |
| name | String | Payment link name. |
| description | String | Description displayed to customers. |
| deviceType | String | Device type, such as Link2Pay. |
| deviceTypeName | String | Human-readable name for the device type. |
| UDID | String | Unique device identifier. |
| enabled | Boolean | Indicates whether the link is active. |
| merchantId | Integer | Associated merchant ID. |
| dba | String | Doing-business-as name for the merchant. |
| onSuccessUrl | String (URL) | Redirect URL for successful transactions. |
| onFailureUrl | String (URL) | Redirect URL for failed transactions. |
| MinPaymentAmount | String | Minimum allowed payment amount configured on the link. |
| MaxPaymentAmount | String | Maximum allowed payment amount configured on the link. |
| updated | String (Timestamp) | Timestamp for the last update. |
Example response:
{
"id": "359ce004-43a4-46d2-9481-e2340e478065",
"name": "Omna ACH Demo",
"description": "Demo for PCE ACH Flow",
"deviceType": "Link2Pay",
"deviceTypeName": "Payment Link",
"UDID": "B1D8BE81-41E8-47D5-99E6-023B1CD9C58E",
"enabled": true,
"onSuccessUrl": "http://localhost:8200",
"onFailureUrl": "http://localhost:5200",
"merchantId": 1000016337,
"MinPaymentAmount": "250",
"MaxPaymentAmount": "250",
...
}Adding custom fields
You can add additional fields to your payment pages in Payment Links Settings under the PCE UI.
Select Add Custom Field and define the field’s name and type.
| Field type | Description |
|---|---|
| Text | Accepts alphanumeric or short text entries. |
| Boolean (Yes/No) | Displays a toggle for true/false options. |
| Number (Integer) | Accepts whole numbers only. |
| Decimal | Accepts numeric values with decimals. |
| List (Comma-Separated String) | Allows multiple selectable options separated by commas. |
Managing payment links
To view or edit existing payment links in the PCE Portal, go to Settings → Payment Links, and click the link name.
You can:
- Use URL: Direct customers to a hosted PCE payment page.
- Embed HTML: Integrate the payment form into your own website.
Remember to click Save after making any changes.
URL parameters
You can pass optional query parameters to pre-fill or customize fields in the payment form.
| Query Parameter | Values | Description |
|---|---|---|
| Address | Street address | Populates billing address line 1 |
| AllowPartial | 1 or 0 | Allows partial payments if 1 |
| Amt | Numeric float | Amount due |
| City | City | Populates billing city |
| ClientData | JSON object | Custom metadata for reporting |
| CustomerName | Text | Billing contact name |
| customerId | PCE customer ID | Links to an existing customer record |
| Email address | Billing email | |
| hideRequired | 1 or 0 | Hides the “required” label |
| Lang | en / es | Display language |
| Memo | Text | Invoice memo text |
| ShowMemo | 1 or 0 | Displays memo field on payment page |
| Phone | Number | Billing phone number |
| Cell | Number | Mobile number |
| PONumber | Alphanumeric | Purchase order reference |
| showHeader | 1 or 0 | Displays merchant info at the top |
| showOrder | 1 or 0 | Displays order info or device name |
| State | Text | Billing state |
Sandbox vs production
Security filters protect payment links from fraudulent activity. Production environments enforce stricter rules, which can affect how some links behave compared to sandbox testing.
Use sandbox for testing and validation before deployment to production.
Updated 6 days ago