Issue Verifiable Digital Receipts — Without Building Receipt Infrastructure
Send transaction data from your POS or backend. RoboPurse validates, issues, and stores authoritative receipts for your customers — instantly.
Sign up or sign in in the modal — your API key is created on this page (no separate portal URL).
import { RoboPurseSDK } from '@robopurse/pos-sdk';
const sdk = new RoboPurseSDK({
apiKey: 'rp_live_...',
});
const result = await sdk.transactions.submit({
customerEmail: 'jane@example.com',
paymentMethod: 'card',
items: [
{ productName: 'Latte', quantity: 1, unitPrice: 4.95 },
],
tax: 0.50,
});
// ✓ Receipt issued automaticallyWhat This Does
RoboPurse lets you send transaction data from your system and receive a platform-issued, verifiable receipt that your customer can access anytime.
You submit transaction data. RoboPurse handles receipt issuance, storage, and verification.
Choose Your Integration Method
Pick the approach that fits your stack and timeline.
JavaScript SDK
RecommendedThe fastest way to start issuing receipts. Built-in QR parsing, session management, and TypeScript support.
- ✔POS systems
- ✔Frontend apps
- ✔Quick integrations
REST API
Full control over every request. Use from any language or platform with standard HTTP calls.
- ✔Backend systems
- ✔Server-to-server integrations
- ✔Existing POS infrastructure
RoboPurse POS
No code required. Use the RoboPurse POS app directly to accept payments and issue receipts.
- ✔Small businesses
- ✔Freelancers
- ✔No development required
JavaScript SDK
Get up and running in minutes with built-in QR parsing, session management, and automatic retries.
npm install @robopurse/pos-sdkWhy use the SDK?
- ✔Built-in QR parsing
- ✔Session management handled for you
- ✔Strong typing (TypeScript)
- ✔Retry + idempotency support
- ✔Faster integration (minutes, not days)
import { RoboPurseSDK } from '@robopurse/pos-sdk';
const sdk = new RoboPurseSDK({
apiKey: 'YOUR_API_KEY',
merchantContext: {
externalMerchantId: 'acme-store-01',
merchantName: 'Acme Coffee',
},
});
// 1. Start a session
const session = await sdk.sessions.start({
terminalId: 'terminal-01',
});
// 2. Customer scans QR code → parse the result
const qr = await sdk.qr.parse(scannedValue);
// 3. Submit the transaction
const result = await sdk.transactions.submit({
sessionId: session.sessionId,
customerEmail: qr.customerEmail,
paymentMethod: 'card',
items: [
{ productName: 'Latte', quantity: 2, unitPrice: 4.95 },
{ productName: 'Croissant', quantity: 1, unitPrice: 3.50 },
],
tax: 1.68,
});
console.log(result.submissionId, result.status);
// → "sub_abc123", "accepted"REST API
Use standard HTTP requests from any language. Authenticate with your API key and send JSON payloads.
https://robopurse.com
Authorization: Bearer YOUR_API_KEY
POST /integrations/receipts HTTP/1.1
Host: robopurse.com
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"receipt_number": "INV-2024-0042",
"type": "sale",
"format": "digital",
"customer_email": "jane@example.com",
"payment_method": "card",
"payment_status": "completed",
"items": [
{
"product_name": "Espresso",
"quantity": 2,
"unit_price": 3.95,
"discount": 0
},
{
"product_name": "Blueberry Muffin",
"quantity": 1,
"unit_price": 4.50,
"discount": 0.50
}
],
"tax": 1.48,
"discount": 0.50,
"total": 12.85
}{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"receipt_number": "INV-2024-0042",
"message": "Receipt created successfully and added to customer account.",
"submissionId": "f0e1d2c3-b4a5-6789-0abc-def123456789",
"receiptStatus": "ISSUED",
"authorizationStatus": "AUTHORIZED",
"platformReceiptId": "c3d4e5f6-a7b8-9012-cdef-345678901234"
}How It Works
A single API call. No receipt infrastructure to build or maintain.
Brand Your Receipts
Upload your logo and configure branding. The platform stores its own managed copy — your logo is embedded into every receipt at issuance time and remains stable over time.
- ✔Upload your logo via URL or base64
- ✔Platform stores and manages its own copy
- ✔Logo embedded into every issued receipt
- ✔Customize colors, taglines, and footer text
- ✔Historical receipts are never affected by branding changes
// Upload your logo — platform stores its own managed copy
await sdk.merchant.submitLogo({
logoUrl: 'https://your-cdn.com/logo.png',
});
// Update branding — embedded into every future receipt
await sdk.merchant.updateBranding({
displayName: 'Acme Coffee',
primaryColor: '#1a73e8',
receiptTagline: 'Your favorite coffee shop',
receiptFooterText: 'Thank you for your purchase!',
});Get Up and Running in Four Simple Steps
From signup to your first receipt in minutes.
Get API Key
Sign up and generate your API key from the developer dashboard.
Choose Integration
Pick the SDK for speed or the REST API for full control.
Send Transaction
Submit transaction data with line items, totals, and customer info.
Receipt Issued
RoboPurse validates, issues, and delivers the receipt to your customer.
Built for Every Use Case
Any system that processes payments can issue verifiable receipts through RoboPurse.
Receipt Verification
Every receipt issued through RoboPurse is uniquely identified and independently verifiable — regardless of the merchant system that originated the transaction.
- ✔Every receipt has a unique, tamper-evident ID
- ✔Verifiable by any party — no merchant cooperation needed
- ✔Independent of the originating POS or backend
- ✔Useful for audits, disputes, and compliance
POST /integrations/receipts/verify HTTP/1.1
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"receipt_id": "rcp_7f3a2b9c"
}Why Developers Choose RoboPurse
Try It Out
See receipt issuance in action. Scan a QR code, submit a transaction, and watch a verifiable receipt appear instantly.
Support
We are here to help you integrate.
Ready to start issuing receipts?
Join thousands of developers who trust RoboPurse for secure, verifiable receipt issuance. Get started today — no credit card required.