Fast to integrate. Built to scale. No mystery meat.
Our scoring engine is trained in-house, updated in real time, and fully exposed via API.
No mystery logic. Just real signals your team can see, use, and build on.
Online
In-person
Mobile

Your Language. Your Stack. Our Firepower.
pmtbox APIs are clean, composable, and built for speed—whether you're working in TypeScript, Python, or something your backend team swears is still relevant. Clear docs, real control, and no unexpected nonsense.
Build and Scale faster with developer friendly APIs
We give you the tools. Then we get out of your way. No Fluff. No Friction.
But if you hit a wall, we’re right here—whether you need quick answers, deep docs, or real a human to unblock your integration.
# Fetch data from API and display it
curl -X GET "https://api.example.com/data" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/json"
# You can also save the output to a file
curl -o output.json "https://api.example.com/data"
// Fetch API data and process it
async function fetchData() {
const res = await fetch("https://api.example.com/data");
const data = await res.json();
// Filter for active items
const active = data.filter((item: any) => item.active);
console.log("Active items:", active);
import requests
# Request data from API
res = requests.get("https://api.example.com/data")
data = res.json()
# Loop through items and print their names
for item in data:
if item.get("active"):
print("Active item:", item["name"])
<?php
// Fetch JSON data from API
$res = file_get_contents("https://api.example.com/data");
$data = json_decode($res, true);
// Print active items
foreach ($data as $item) {
if ($item['active']) {
echo "Active: " . $item['name'] . "\n";
}
}
?>
import java.net.*;
import java.io.*;
import org.json.*;
URL url = new URL("https://api.example.com/data");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
StringBuilder sb = new StringBuilder();
String input;
while ((input = in.readLine()) != null) {
sb.append(input);
}
in.close();
JSONArray items = new JSONArray(sb.toString());
for (int i = 0; i < items.length(); i++) {
JSONObject obj = items.getJSONObject(i);
if (obj.getBoolean("active")) {
System.out.println("Active: " + obj.getString("name"));
}
}
require 'net/http'
require 'json'
uri = URI('https://api.example.com/data')
res = Net::HTTP.get(uri)
data = JSON.parse(res)
# Print all active items
data.each do |item|
puts "Active: #{item['name']}" if item['active']
end
using System;
using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;
var client = new HttpClient();
var json = await client.GetStringAsync("https://api.example.com/data");
var data = JsonSerializer.Deserialize<dynamic[]>(json);
foreach (var item in data)
{
if (item.active)
Console.WriteLine("Active: " + item.name);
}
package main
import (
"fmt"
"io/ioutil"
"net/http"
"encoding/json"
)
func main() {
resp, _ := http.Get("https://api.example.com/data")
body, _ := ioutil.ReadAll(resp.Body)
defer resp.Body.Close()
var items []map[string]interface{}
json.Unmarshal(body, &items)
for _, item := range items {
if item["active"].(bool) {
fmt.Println("Active:", item["name"])
}
}
}
Bring Order to the Chaos. Own Your Revenue Stack.
No more duct-taped systems or brittle flows. pmtbox gives you one API and real-time visibility across online, mobile, and in-store—so you can build faster and fix less.
Online
In-person
Mobile