Skip to main content
ParityEdge
Universal Integration Hub
Universal Integrations

Universal Platform & Multi-Language Integrations

Install ParityEdge across any modern website builder, CMS, static HTML site, JavaScript framework, or backend server runtime (Python, Go, PHP, Node) in under two minutes.

No-Code & CMS Platforms

Paste your single-line ParityEdge embed script into the custom code settings of your favorite website builder:

WebflowHead / Footer Code

Go to Project Settings → Custom Code → Head Code. Paste the script and tag any price text with data-parity-base="49" in the designer.

FramerGeneral Custom Code

Go to Site Settings → General → Custom Code → Head. Paste the script and publish your site.

Shopifytheme.liquid

Go to Online Store → Themes → Edit Code → theme.liquid. Paste the script right before the closing </head> tag.

WordPress / WooCommerceHeader Scripts

Add the script using any header code plugin or inside your child theme's header.php file.

<script
  src="https://api.parityedge.app/v1/parity.global.js"
  data-project-id="prj_live_YOUR_PROJECT_ID"
  data-position="bottom-pill"
  data-theme="dark"
  async>
</script>

Modern Frontend & Jamstack Frameworks

React & Vite Headless SDK

Package: parityedge

Full React Guide
import { useParityEdge, ParityBanner } from 'parityedge/react';

export function PricingPage() {
  const { data } = useParityEdge({
    projectId: 'prj_live_sample_key',
  });

  return (
    <div>
      <ParityBanner projectId="prj_live_sample_key" theme="dark" position="bottom-pill" />
      <h2>Pro Plan - $49 USD</h2>
      {data?.eligible && <p>{data.discountPercentage}% off with code {data.couponCode}</p>}
    </div>
  );
}

Next.js 14/15 App Router

Package: parityedge

Full Next.js Guide
// app/pricing/page.tsx
import { ParityBanner } from 'parityedge/react';

export default function PricingPage() {
  return (
    <main>
      <ParityBanner projectId="prj_live_sample_key" theme="dark" position="bottom-pill" />
      <h1>Global Pricing Plans</h1>
    </main>
  );
}

Next.js Pages Router (Next 12–14)

SSR: getServerSideProps • Near-Zero CLS

Pages Router Guide
export const getServerSideProps: GetServerSideProps = async (context) => {
  const ip = context.req.headers['x-forwarded-for'] || context.req.socket.remoteAddress;
  const res = await fetch(`https://api.parityedge.app/v1/lookup?pid=YOUR_KEY`, {
    headers: { 'x-forwarded-for': Array.isArray(ip) ? ip[0] : ip || '' }
  });
  return { props: { parity: await res.json() } };
};

Angular (v14–18+)

Guide →
// Angular Signals
readonly parity = toSignal(
  this.parityService.resolve(
    'prj_live_YOUR_KEY'
  )
);

Vue 3 / Nuxt 3

Guide →
<script setup>
const parity = ref(null);
onMounted(async () => {
  const res = await fetch('https://api.parityedge.app/v1/lookup?pid=YOUR_KEY');
  parity.value = await res.json();
});
</script>

Svelte 5 / SvelteKit

Guide →
<script>
  let parity = $state(null);
  onMount(async () => {
    const res = await fetch('https://api.parityedge.app/v1/lookup?pid=YOUR_KEY');
    parity = await res.json();
  });
</script>
---
// Server Island SSR
const res = await fetch('https://api.parityedge.app/v1/lookup?pid=YOUR_KEY');
const parity = await res.json();
---

Mobile Applications (iOS & Android)

Localize in-app purchases and subscription screens across native mobile devices:

React Native / Expo

Guide →
useEffect(() => {
  fetch('https://api.parityedge.app/v1/lookup?pid=YOUR_KEY')
    .then((r) => r.json())
    .then(setParity);
}, []);

Flutter (Dart)

Guide →
final res = await http.get(
  Uri.parse('https://api.parityedge.app/v1/lookup?pid=YOUR_KEY')
);
final parity = json.decode(res.body);

Backend Server Runtimes & Microservices

Evaluate parity pricing server-side in your backend API gateways before rendering templates or generating checkout sessions:

Node.js (Express / Fastify)

Guide →
const res = await fetch(`https://api.parityedge.app/v1/lookup?pid=${KEY}`, {
  headers: { 'x-forwarded-for': req.ip }
});
const parity = await res.json();

Python (FastAPI / Django)

Guide →
async with httpx.AsyncClient() as client:
    r = await client.get(
        "https://api.parityedge.app/v1/lookup",
        params={"pid": KEY},
        headers={"x-forwarded-for": ip}
    )
    parity = r.json()

Go (Golang / Gin)

Guide →
req, _ := http.NewRequest("GET", "https://api.parityedge.app/v1/lookup?pid="+KEY, nil)
req.Header.Set("x-forwarded-for", clientIP)
resp, err := http.DefaultClient.Do(req)

PHP / Laravel / WP

Guide →
$parity = Http::withHeaders([
    'x-forwarded-for' => request()->ip(),
])->get('https://api.parityedge.app/v1/lookup', [
    'pid' => $key,
])->json();

Java (Spring Boot)

Guide →
WebClient.create().get()
  .uri("https://api.parityedge.app/v1/lookup?pid={id}", id)
  .header("x-forwarded-for", clientIp)
  .retrieve()
  .bodyToMono(String.class);

C# (.NET / ASP.NET)

Guide →
var client = _clientFactory.CreateClient();
client.DefaultRequestHeaders.Add("x-forwarded-for", ip);
var parity = await client.GetFromJsonAsync<object>(url);

Ruby on Rails

Guide →
uri = URI("https://api.parityedge.app/v1/lookup?pid=KEY")
req = Net::HTTP::Get.new(uri)
req['x-forwarded-for'] = request.remote_ip
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |h| h.request(req) }

Rust (Axum / Actix)

Guide →
let res = reqwest::Client::new()
    .get("https://api.parityedge.app/v1/lookup?pid=KEY")
    .header("x-forwarded-for", addr.ip().to_string())
    .send().await;

Automatic Payment Links Promo Code Injection

ParityEdge automatically observes and mutates checkout links on your page without requiring any custom code:

Stripe Payment Links (`buy.stripe.com`)?prefilled_promo_code=COUPON
Lemon Squeezy Checkouts (`lemonsqueezy.com/checkout`)?checkout[discount_code]=COUPON

Next: Analytics & Privacy Telemetry

Understand your conversion velocity, CTR metrics, and zero-PII privacy guarantee.

Analytics Guide