The Benji Pays integration adds a Pay Now button next to every unpaid invoice on the Invoices page. Click it, and your client lands on a pre-filled Benji Pays checkout for that specific invoice and balance, no typing required. Unlike PSA, RMM, and backup connectors, Benji Pays has no API and no credentials. The entire integration is a single payment-link template that MSPortal stores once and re-uses for every invoice. We swapDocumentation Index
Fetch the complete documentation index at: https://docs.msportal.ai/llms.txt
Use this file to discover all available pages before exploring further.
[INVOICENUMBER] and [AMOUNTDUE] into your link at render time.
Prerequisites
- Active Benji Pays merchant account
- A Benji Pays shop with an issued custom payment link
- MSPortal user with the Manage Integrations permission
- At least one PSA integration (ConnectWise, Autotask, or Halo PSA) syncing invoices, otherwise there are no invoices to render Pay Now buttons on
Part 1: Get Your Payment Link from Benji Pays
The link MSPortal needs lives in your Benji Pays account. You’re looking for the Custom Payment Link format, the one with the[INVOICENUMBER] and [AMOUNTDUE] tokens embedded.
Copy the Custom Payment Link
Scroll to the very bottom of the page. The Custom Payment Link will look like this:Copy the link exactly as Benji Pays displays it, including both
[INVOICENUMBER] and [AMOUNTDUE] placeholders. Do not replace the placeholders, MSPortal needs them to substitute the live invoice values per row.Part 2: Configure Benji Pays in MSPortal
Open Integrations settings
In MSPortal, go to Settings > Integrations. Use the Payments filter or scroll to find the Benji Pays card.
Paste the payment link template
In the Payment link template field, paste the URL you copied from Benji Pays.MSPortal validates the link in real time and shows inline errors for any of the following:
| Issue | Fix |
|---|---|
| Not a valid URL | Re-copy the link from Benji Pays |
Missing [INVOICENUMBER] placeholder | Re-add the literal token, brackets and all |
Missing [AMOUNTDUE] placeholder | Re-add the literal token, brackets and all |
Not an https:// URL | Benji Pays links must use https |
| Host is not benjipays.com or benjipays.io | Pasted the wrong link, this is rejected to prevent phishing |
(Optional) Set the button color
The Button color field controls the background color of the Pay Now button on the Invoices page. The default is teal (
#10B981).Use the color picker, or type a hex value directly. To match your brand, paste your brand color here.(Optional) Customize the button label
The Button label field controls the text on the button. The default is Pay Now. You can rename it to anything up to 40 characters, for example “Pay Online” or “Settle Invoice”.
Check the live preview
The Live preview panel renders the button with your current color and label, then shows the URL it would generate for a sample invoice (invoice
INV-1024, amount 499.00).Click the preview button to open the generated link in a new tab. This is the same URL your clients will hit, just with sample values. Use it to confirm Benji Pays accepts the link before going live.How Pay Now Buttons Render
Once enabled, every unpaid invoice on the Invoices page gets a Pay Now button in its row.- The button only appears when the invoice has a balance greater than zero, voided, cancelled, or fully paid invoices don’t get a button
- Clicking the button opens your Benji Pays checkout in a new tab with the invoice number and balance pre-filled
- The button uses the color and label you configured, the same way for every client
Balance comes from your PSA’s invoice sync. If your PSA reports the wrong balance (for example because a payment hasn’t posted yet), the Pay Now button will use that stale figure. Refresh your PSA’s invoice sync if amounts look wrong.
Editing or Disconnecting
To change your template, color, or label after enabling:- Go to Settings > Integrations
- Click Configure on the Benji Pays card
- Edit any field, then click Save changes
- Open the Benji Pays setup page
- Click Disconnect in the bottom-left corner
- Confirm in the dialog
Troubleshooting
| Issue | Solution |
|---|---|
| ”Payment link must include the [INVOICENUMBER] placeholder” | The URL you pasted doesn’t contain the literal text [INVOICENUMBER]. Re-copy from Benji Pays, the placeholder is required. |
| ”Payment link must include the [AMOUNTDUE] placeholder” | Same as above, but for [AMOUNTDUE]. |
| ”Payment link must point to a benjipays.com or benjipays.io address” | The URL points somewhere else (a typo, a redirect, or the wrong link). Re-copy the Custom Payment Link from Benji Pays. |
| ”Payment link must use https://“ | Benji Pays issues https URLs only. If you have an http link, contact Benji Pays support. |
| Pay Now buttons not showing on the Invoices page | Confirm the Benji Pays card shows an Active badge in Settings > Integrations. Confirm the invoice has a balance greater than zero and is not voided. Refresh the Invoices page. |
| Pay Now opens to the wrong amount | Your PSA’s invoice balance is stale. Trigger an invoice sync from your PSA integration. |
| Pay Now opens to “Invoice not found” on Benji Pays | The invoice number in your PSA doesn’t exist as a transaction in Benji Pays yet. Create the corresponding transaction in Benji Pays first. |
Permissions
| Action | Permission Required |
|---|---|
| View Benji Pays setup page | Any authenticated user in the tenant |
| Save, change, or disconnect Benji Pays | manage_settings_integrations |
| See Pay Now buttons on Invoices | Whatever permission grants access to the Invoices page |
Related Resources
- Invoices — Where the Pay Now buttons render
- ConnectWise Integration — Source of invoice data
- Autotask Integration — Source of invoice data
- Halo PSA Integration — Source of invoice data