Dashboard

Express Port: 3000 Django Port: 8000
Middleman Connection
ACTIVE
Proxying to Django sandbox
Total Transactions Initiated
0
Saved in local session store

Session Activity History

Ref ID / User Ref Type / Method Amount Status Created At Actions
No transactions initiated in this session yet. Create some payouts to test!

Batch Transfer List

Assemble multiple transactions to dispatch in a single atomic batch payload.

Select Transaction for Webhook Trigger

No transactions available in this session. Create a payout first!

Click a transaction from the list to open simulation actions

JWE Encrypted Console & API Headers Log

Console listening for API requests...

OAuth Token Status

No Stored OAuth Token

Middleware will attempt calls without a Bearer header. Run authorization flow to establish security context.

OAuth Control Center

Loading...

Loading...

Connect Bank Account

Redirects to Canara corporate login portal. Enter maker/checker username & password to receive an auth code.

Gateway Client Status

Auth Header Missing
Configure an API key to authenticate.
Webhook URL Not Set
No URL configured.
Keypair Not Generated
No RSA keypair yet.

Recent Webhook Deliveries

No webhook deliveries yet.

One-Shot Setup

Generates a fresh API key, an RSA keypair, a webhook secret, and a webhook URL pointing back at this sandbox. Everything is cached in data/client_config.json so subsequent requests authenticate automatically.

Asymmetric Client↔Server Crypto

End-to-end test of the RSA-OAEP + AES-256-GCM hybrid flow:
Outbound: we sign the request with our RSA private key — Django verifies with our RSA public key.
Inbound: Django encrypts the response with our RSA public key — only our RSA private key can decrypt it.

API Key

Webhook

RSA Keypair (for signing requests)

The private key is stored only in this sandbox. The sandbox signs every outgoing request with this private key — Django holds whatever public key was registered when the client was created, so signed requests succeed without any further sync step.

Show private key (sandbox-only)

Merchant VPA Management

Register, inquire, deactivate, or verify merchant VPAs (Virtual Payment Addresses) bound to your Canara Bank terminal. Created VPAs auto-fill the QR generation form below.

Create
Inquiry
Deactivate
Verify

Generate Dynamic QR

Issues a UPI Dynamic QR bound to the specified amount and merchant VPA. The customer scans the QR with any UPI app to complete the payment.

Active QRs (Session History)

All QRs generated in this browser session. Stored in localStorage. Selected row drives the simulator below.

0
Ext Transaction ID VPA Amount Status Created Actions
No QRs generated yet. Fill the form on the left and click "Generate Dynamic QR".

Status & Payment Simulator

Select a row from the history above (or generate a new QR) to view its details and simulate the bank's settlement webhook.