ERMS Plus Documentation
Welcome to the ERMS Plus Documentation! Here, you’ll find everything you need to manage property rates, bills, payments, and ownership data with the ERMS Plus API.
Quick start
Accept a Payment
ERMS Plus makes it easy for financial institutions—including banks, savings & loan companies, payment channels, and fintechs—to securely integrate and accept payments. Our robust API allows you to connect your core systems and start accepting a wide range of payments with minimal setup, high reliability, and world-class security.
curl https://api.ermsplus.com/transaction/initialize
-H "Authorization: Bearer YOUR_SECRET_KEY"
-H "Content-Type: application/json"
-X POST
Terminal
Learn how to build delightful in-person payment experiences with ERMS Plus Terminal
Getting started
ERMS Plus Terminal enables a developer to build custom applications that create unique branded in-person payment experiences. We provide the following integration flows that cater to different use cases:
API Bill Payments
Easily Initiate Bill Payments using the ERMS Plus API from any platform—web, mobile, or backend. Our API supports seamless integrations in Vue.js, Python, Java, C, C++, Node.js, and more.
Bill Payments — Code Examples
// Vue.js (Axios)
axios.post('https://api.ermsplus.com/transfer', {
recipient: '1234567890',
amount: 1500
}, {
headers: {
'Authorization': 'Bearer YOUR_SECRET_KEY',
'Content-Type': 'application/json'
}
})
.then(res => console.log(res.data))
.catch(err => console.error(err));
# Python (requests)
import requests
headers = {
'Authorization': 'Bearer YOUR_SECRET_KEY',
'Content-Type': 'application/json'
}
data = {
'recipient': '1234567890',
'amount': 1500
}
resp = requests.post('https://api.ermsplus.com/transfer', json=data, headers=headers)
print(resp.json())
// Java (HttpURLConnection)
URL url = new URL("https://api.ermsplus.com/transfer");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Authorization", "Bearer YOUR_SECRET_KEY");
con.setRequestProperty("Content-Type", "application/json");
con.setDoOutput(true);
String jsonInput = "{\"recipient\":\"1234567890\",\"amount\":1500}";
try(OutputStream os = con.getOutputStream()) {
byte[] input = jsonInput.getBytes("utf-8");
os.write(input, 0, input.length);
}
int code = con.getResponseCode();
/* C (libcurl) */
#include <curl/curl.h>
CURL *curl = curl_easy_init();
if(curl) {
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer YOUR_SECRET_KEY");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, "https://api.ermsplus.com/transfer");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "{\"recipient\":\"1234567890\",\"amount\":1500}");
CURLcode res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
// C++ (libcurl)
#include <curl/curl.h>
CURL *curl = curl_easy_init();
if(curl) {
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer YOUR_SECRET_KEY");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, "https://api.ermsplus.com/transfer");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "{\"recipient\":\"1234567890\",\"amount\":1500}");
CURLcode res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
// Node.js (fetch or axios)
const axios = require('axios');
axios.post('https://api.ermsplus.com/transfer', {
recipient: '1234567890',
amount: 1500
}, {
headers: {
Authorization: 'Bearer YOUR_SECRET_KEY',
'Content-Type': 'application/json'
}
}).then(res => console.log(res.data));
Identity Verification
Learn how to use ERMS Plus to verify your customer's identity.
Developer Tools
Integrate ERMS Plus into your systems with our suite of SDKs and tools, designed for efficient bill payment automation, seamless API connectivity, and secure callback handling on all platforms.
Web SDK
The ERMS Plus Web SDK lets you embed bill payment forms, initiate property and utility bill payments, and listen for payment completion callbacks in your web apps. It supports secure event handling—your app can auto-update the UI or database when a bill is paid.
Mobile SDKs
Accept and track bill payments in native and cross-platform mobile apps with the ERMS Mobile SDKs. They support instant payment status callbacks, digital receipts, and transaction validation—out of the box.
ErmsSdk.initiatePayment(context, params)
Android Integration
ErmsSdk.startPayment(from: viewController, ...)
iOS Integration
ErmsPlusFlutter.initiatePayment(...)
Flutter Integration
Server-side SDKs
Automate bill reconciliation, verify callbacks, and trigger advanced actions on your backend using our robust server SDKs.
erms.initiateTransfer({ ... })
Secure webhooks for payment and bill settlement events.
Node.js Docs
erms.initiate_payment(params)
Built-in verification of ERMS webhook signatures.
Python Docs
Test & Explore Tools
Quickly test the ERMS Plus API, review callback payloads, and simulate bill payment events using these tools.
User Manual
Everything you need to administer, operate, and supervise ERMS Plus at every level.