Payments shouldn't create
more work.
Manual verification is slow, error-prone, and scales poorly. Perpay connects the entire flow so you can focus on growing your business.
Manual Verification
Staff manually cross-checking SMS logs for each transaction.
Orders Stuck
Customers waiting hours before their payment is acknowledged.
Fragmented Experience
Inconsistent checkout, screenshot requests, payment slips.
Seamless Hosted Checkout
Clear payment instructions, auto-expiry, mobile-optimized UI.
Instant Detection
Android Collector detects SMS receipts in seconds, not hours.
Auto Order Updates
HMAC-signed webhooks update your store the moment payment is verified.
How it works
From checkout to PAID
in seconds.
A seamless, automated flow that eliminates manual payment management entirely.
Create a Checkout Session
Your backend calls our API to generate a session for the order amount and reference.
Redirect to Hosted Checkout
Customer is sent to a clean, mobile-optimized Perpay page showing your bKash details.
Payment Detected & Verified
The Perpay Android Collector reads the SMS receipt and verifies it instantly.
payment.verified Webhook
An HMAC-SHA256 signed webhook is securely dispatched to your server endpoint.
Your Order Becomes PAID
WooCommerce, Next.js, or your custom system updates the order automatically.
Create a Checkout Session
Your backend calls our API to generate a session for the order amount and reference.
Redirect to Hosted Checkout
Customer is sent to a clean, mobile-optimized Perpay page showing your bKash details.
Payment Detected & Verified
The Perpay Android Collector reads the SMS receipt and verifies it instantly.
payment.verified Webhook
An HMAC-SHA256 signed webhook is securely dispatched to your server endpoint.
Your Order Becomes PAID
WooCommerce, Next.js, or your custom system updates the order automatically.
Product
Everything you need,
in one dashboard.
Real-time analytics, payment tracking, order management, and developer tools — all in one place.
My Store
merchant
Today's Volume
৳ 24,500
↑ 12% from yesterday
Paid Orders
142
Today
Collector
2
Active now
Payment Volume
Last 12 hours
Recent Payments
Integrate payments without rebuilding your stack.
Create a checkout session with a single API call. We handle the UI, the payment detection, and the verification. You just listen for the webhook.
const response = await fetch('https://api.perpay.com/v1/checkout/sessions', {
method: 'POST',
headers: {
'Authorization': `Bearer ${PERPAY_SECRET_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
amount: 1250.00,
reference: 'ORD-90210',
successUrl: 'https://store.com/success'
})
});
const { checkoutUrl } = await response.json();
// Redirect customer to checkoutUrlConnect to your existing stack.
Whether you use a platform or build custom, integration is straightforward.
WooCommerce
Native plug-and-play gateway plugin. Automatically marks orders as Processing upon webhook.
Next.js
Seamless integration via Server Actions or API Routes for modern headless commerce.
Custom Website
Language-agnostic REST API. Works with any stack that makes HTTP requests.
Laravel / PHP
Drop-in controller integration. Verify HMAC signatures with native PHP `hash_equals`.
Designed securely
from the ground up.
Practical, implemented security that protects your transactions and your credentials — without making promises we can't keep.
Server-Side API Keys
API keys are used exclusively on your backend for Checkout Session generation. Never exposed to the browser.
HMAC-SHA256 Signatures
Every webhook includes a cryptographic signature and timestamp to prevent tampering and replay attacks.
Zero Credential Access
Perpay never requests your bKash PIN, OTP, or login credentials. Verification is entirely SMS-receipt based.
Idempotent Processing
Strict idempotency keys and deduplication prevent any transaction from being credited more than once.
Know what happened to every payment.
The Merchant Dashboard provides a real-time overview of your infrastructure. Monitor connected Android Collectors, track webhook deliveries, and view detailed payment matching metrics all in one place.
Real-time payment matching status
Watch transactions match instantly as SMS receipts arrive.
Device heartbeat monitoring
Know exactly when your Android Collectors are online.
Webhook delivery logs and retries
Track every payload and automatically retry failures.
Paid Orders
3,810
Today's Revenue
৳ 42,500
Collector Active
Pixel 6 (Receiving heartbeats)
Live Stream
Webhook Delivered
Order #1092
A frictionless
checkout experience.
Provide clear instructions on how to pay via bKash. We wait for real-time confirmation so you don't have to.
1. Customer Checks Out
Your store redirects them to Perpay's secure hosted checkout page.
2. Customer Sends Money
They use their bKash app to send the exact amount to your number.
3. Verified & Returned
Perpay confirms the transaction instantly and sends them back.
Store Name
৳ 2,500
Send exactly ৳ 2,500 to the following bKash number:
bKash Personal
017XX-XXXXXX
Session expires in 14:59
Secure Payment
End-to-end encrypted
Integrate payments without rebuilding your stack.
Create a checkout session with a single API call. We handle the UI, the payment detection, and the verification. You just listen for the webhook.
const response = await fetch('https://api.perpay.com/v1/checkout/sessions', {
Pricing
Simple, transparent
pricing.
Start free. Upgrade when you're ready. No hidden fees.
Starter
For individuals and small shops getting started.
99
/moYour 1st month is completely free!
Renews at ৳99/mo.
What's included
What's included
All plans include a 14-day free trial. No credit card required to get started.