Built for builders

Build on the pandriva API

Embed cross-border digital trade infrastructure straight into your own product with our REST API, SDKs, and developer tooling — engineered for predictability, consistency, and speed.

01

Create an order

One POST returns the order, the tax line it resolved, and the settlement record it will reconcile against. Fraud screening runs on the way in, not after.

POST /v1/orders
orders · create 201 created
$ curl -X POST "$PDR_API/v1/orders" \
    -H "Authorization: Bearer $PDR_KEY" \
    -d '{"amount":129.99,"currency":"USD","market":"DE"}'

{
  "id": "ord_9f41c7",
  "status": "screening",
  "tax": { "region": "DE", "calculated": true },
  "settlement": "stl_7d1c2f"
}
02

Ship it

Hand the order to the routing layer. Carrier selection, the label, and the tracking number come back on the same object — no second integration.

POST /v1/shipments
shipments · create 201 created
$ curl -X POST "$PDR_API/v1/shipments" \
    -H "Authorization: Bearer $PDR_KEY" \
    -d '{"order":"ord_9f41c7","carrier":"auto"}'

{
  "id": "shp_2b8e11",
  "carrier": "pdr-eu-express",
  "label": "/v1/shipments/shp_2b8e11/label.pdf",
  "tracking": "PDR8841209EU"
}
03

Settle and reconcile

Send the settlement with an idempotency key and the split rules you configured take over. Replay the same request and you get the same record back, never a second payout.

POST /v1/settlements
settlements · create 200 ok
$ curl -X POST "$PDR_API/v1/settlements" \
    -H "Authorization: Bearer $PDR_KEY" \
    -H "Idempotency-Key: 7d1c2f" \
    -d '{"order":"ord_9f41c7","payouts":["bank_transfer"]}'

{ "id": "stl_7d1c2f", "status": "scheduled", "corridor": "US-EU" } 

Three calls, one account. Sandbox keys in about a minute.

Try it free
API reference

Core endpoints

Built to behave the same way across every resource, with few surprises.

POST /v1/orders

Create a cross-border order while multi-currency handling, tax calculation, and fraud screening look after themselves.

GET /v1/orders/{id}

Retrieve a single order in full — status, settlement details, and every compliance check attached to it.

POST /v1/shipments

Generate shipments with carrier routing, labels, and live tracking already built into the flow.

GET /v1/rates

Query live FX rates for the currencies you settle in, with tight spreads and the option to lock in a rate.

POST /v1/settlements

Start multi-party settlements; reconciliation runs on its own and split rules follow whatever you configure.

GET /v1/compliance

Run compliance checks covering KYC/KYB verification, sanctions screening, and risk scoring.

The developer experience

Built by engineers, for engineers

All the tooling you need to ship digital trade products to a professional standard.

01

Isolated Sandbox

Build and break things freely in a full sandbox. Simulate transactions, fire webhooks, and cover edge cases well before go-live.

02

Complete Documentation

API references sit beside walkthroughs and tutorials. Every endpoint ships with request and response examples, plus code samples you can run.

03

Webhook Notifications

Events pushed the moment they happen for orders, settlements, disputes, and compliance status changes, backed by retry logic you can rely on.

04

Security by Default

API key authentication, IP whitelisting, request signing, and TLS 1.3 — infrastructure built to SOC 2 Type II control requirements.

05

Performance at Scale

Served from a distributed edge network with automatic failover and rate limiting already in place.

06

Hands-On Support

Priority email support, an active developer forum, and a dedicated Slack channel with direct access to the engineers who build the platform.

Quickstart guide

Install, initialize, go live

Add the SDK, initialize the client with your API key, and place your first cross-border order — a few lines is all it takes.

Every endpoint follows the same conventions, so what you learn once carries over directly to orders, shipments, rates, settlements, and compliance.

Start with a Free Account
quickstart.js node 18+
// Install the SDK
npm install pandriva-sdk

// Initialize the client
const pandriva = require('pandriva-sdk');

const client = new pandriva.Client({
  apiKey: process.env.PDR_API_KEY,
  environment: 'sandbox' // or 'production'
});

// Create an order
const order = await client.orders.create({
  amount: 129.99,
  currency: 'USD',
  description: 'Premium e-commerce order #12345'
});

console.log(`Order created: ${order.id}`);
Client libraries

First-party SDKs

Idiomatic libraries covering every major programming language.

Node.js

$ npm install pandriva-sdk

Python

$ pip install pandriva-sdk

Java

$ // Maven: pandriva-sdk

Go

$ go get github.com/pandriva/sdk

PHP

$ composer require pandriva/sdk

C#

$ dotnet add package pandriva.SDK

REST

JSON API and webhooks

6

Supported languages

TLS 1.3

Encryption in transit

Sandbox

Complete test environment

Events

The webhook, as it arrives

Orders, settlements, disputes, and compliance status changes are pushed the moment they happen — signed, ordered, and retried until your endpoint answers.

webhook · order.status_changed delivered
{ "event": "order.status_changed",
  "order": "ord_9f41c7", "status": "cleared",
  "settlement": "stl_7d1c2f",
  "checks": [ "kyc", "sanctions", "risk" ] }
Start now

06 endpoints · 06 SDKs

Start your integration

Grab your API keys and start integrating within minutes — no commitment involved.