Form-POST API Updates August 2025

Modified on Thu, Aug 21 at 2:55 PM

Autoagent is pleased to announce recent enhancements to our MuniciPay API, designed to improve performance, expand functionality, and streamline integrations.

Summary of Updates:



Defining MuniciPay API Credentials

A MuniciPay Account using our Legacy Form-POST structure is defined by 3 variables: an API User, represented by the SiteId and URLkey, and a Product ID, which defines the “Item” (and associated deposit account) the payment will be directed to.

SiteId+Urlkey: Unique to an “Account” (Agency, Municipality, Tax Collector.), and controls what Payment Methods are available on the hosted payment page checkout.

  • ECOM: Intended for Transactions generated through an online portal, by the end user.
  • OTC: Intended for Transactions generated “Over the Counter” by a clerk or other staff member from the Agency. Works with any Card Reader device provided by AutoAgent.

ProdId: Unique to an “Account”, tied directly to a deposit account/bank account for the agency.

 

Changes to Issued Credentials

In the past, you may have received Multiple sets of credentials, by payment entry method as well as the associated “department.” In order to streamline our setup process and simplify implementations for partners, we have adjusted our API to support a simplified structure. Moving forward, you can expect to receive:

  • 1 SiteId + UrlKey for each Entry Method (1 set for Online, 1 for Over the counter (if applicable))
  • 1 ProdId per Bank Account/MID used by the client.


For example, if you have a customer who will be accepting payments for "permits" and "licenses", depositing to 2 different bank accounts, you would receive a VAR with:

  • SiteID + Urlkey (ECOM)
  • ProdId 1 (licenses, bank account 1)
  • ProdID 2 (permits, bank account 2)


However, if that customer wanted to accept both ECOM and OTC, but only processing "Permits", under the new simplified structure, you would receive:

  • SiteID + Urlkey (ECOM)
  • SiteID + Urlkey (OTC)
  • ProdId 1 (licenses, bank account 1)


For reference, graphical representations of these variables are included below:

 

New Webhook Functionality for Form-POST

We are excited to announce the availability of a Webhook for Form-POST. Previously, a 'redirectURL' was the only way to confirm a payment through the form-post API. We have made every effort to make implementing the WebhookURL as simple as possible.

The MuniciPay Form-POST Webhook copies the existing functionality of the redirectURL 1:1. This means that when including a ‘webhookURL’ in your request, you will receive the same default fields, reserved fields, and custom fields that would be returned to a redirectURL today. This eliminates the key point of failure with the redirectURL method- the need for that page to be loaded by the end user's browser.

The Webhook URL itself has one requirement: the target webhookURL MUST return an http response of 200, with a plain text message of "success". If that expected response is not received after 2 attempts to POST, the transaction will be voided in order to keep our platform and your system in sync.


Implementation Details

Implementing the WebhookURL is as simple as replacing or duplicating your current redirectURL with a properly configured webhookURL.

For example if today, you are sending a redirectURL of:

https://yourreceiptpage.com/customer_receipt_display.html

and including these reserved fields:

&npsTransactionId=&npsCardType=&npsPaymentMethod=&npsFirstName=&npsLastName=&npsCFAmount=&npsAuthorization=

and a custom value:

&customfield=valueabc123


Your customer is sent to that url, with the following fields appended:

https://yourreceiptpage.com/customer_receipt_display.html?&npsTransactionId=1561967&npsCardType=visa&npsPaymentMethod=CREDIT_CARD&npsFirstName=ben&npsLastName=howard&npsCFAmount=4.58&customfield=valueabc123&success=true&cartId=XEHBRHANQZ&amount=173.00

 

Instead, passing the same redirectURL (your receipt page) and a webhookURL of

https://yoursoftware.com/webhook

would result in:


Your Customer still being sent to:

https://yoursoftware.com/customer_receipt_display.html 

(but no longer used to mark payments complete)


WebhookURL would receive the following, using logic detailed above:

https://yoursoftware.com/webhook? &npsTransactionId=1561967&npsCardType=visa&npsPaymentMethod=CREDIT_CARD&npsFirstName=ben&npsLastName=howard&npsCFAmount=4.58&customfield=valueabc123&success=true&cartId=XEHBRHANQZ&amount=173.00

NOTE: You can also opt to no longer include a RedirectURL. In these cases, the customer will be sent to a generic, MuniciPay generated receipt page.

 

Testing a Webhook with Form-POST

The webhookURL feature is currently live in our Stage and Production environments. If you have been issued Demo/Stage credentials in the past, you can begin testing with them immediately. If you do not have or need a new set of credentials issued for testing, please contact: onboarding@autoagent.com

  1. MuniciPay recommends webhook.site as a free resource to begin basic Webhook functionality testing. Simply Navigate to: https://webhook.site/

    And press + New in the top left
    A screenshot of a computer

AI-generated content may be incorrect.

  2. Leave status code and content type as is, and enter the expected response of 'success' for the content:
    A screenshot of a computer screen

AI-generated content may be incorrect.

  3. Then use the url presented in the [Your Unique URL field] as the webhookURL for your request:A screenshot of a web browser

AI-generated content may be incorrect.

  4. Webhook.site will log and breakdown the parameters returned after a successful test:A screenshot of a computer

AI-generated content may be incorrect.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article