Overview
Payment Requests let you collect money fast in two ways:
- Links: Generate a pay link and share it anywhere.
- Push (Bank Push): Trigger a payment request straight to the customer’s banking app (currently Capitec Bank only).
No heavy integration, no complex checkout—just a simple path to getting paid.
Types of Payment Requests
| Type | How it works | Best for |
|---|
| Link | Create a URL that opens a secure checkout page. | One-time payments, DMs/WhatsApp, invoices. |
| Push (Bank Push) | We send a payment request to the customer’s bank app; they approve it there. | High-trust flows, phone orders, COD, collections. |
Push (Bank Push) is in Beta and currently supports Capitec Bank only. More banks coming soon.
Key Features
- No Partial Payments: Simplifies reconciliation by allowing only full payments.
- Multi-Channel Sharing (Links): Send via SMS, WhatsApp, email, or social.
- Real-Time Tracking: Monitor status in the dashboard or via webhooks.
- Secure Checkout: PCI DSS, OTPs, 3D Secure, and fraud controls.
- Multiple Payment Methods (Links): Cards, mobile money, bank transfers, and more.
- Fast Onboarding: Get started in minutes.
- No-Code Friendly (Links): Create and manage links from the dashboard (coming soon).
- Boost Cash Flow: Reminders, expiries, and smart retries.
- High Conversion: Optimized UX on a reliable, fast platform.
- Effortlessly Scalable: Works for 10 or 10,000+ requests.
- Low Friction (Push): No card entry; customer approves in their bank app.
- Lower Fraud Risk (Push): Bank-authenticated approval flow.
Common Use Cases
| Use Case | Description |
|---|
| Freelancers | Request payments for services—no code or setup. |
| Retail Stores | Share links for phone or WhatsApp orders without a website or PoS. |
| Home Businesses | Accept payments for custom orders (cakes, clothing, crafts). |
| Education & Clubs | Collect fees, tuition, or event registrations. |
| Medical Practitioners | Take appointment prepayments via SMS or email. |
| Delivery Agents | Payment on delivery without cash handling. |
| Sales Teams | Send instant payment requests post-deal closure. |
| Event Organizers | Charge for RSVPs, tickets, or booth bookings. |
| Real Estate Agents | Collect token/booking amounts for viewings or reservations. |
| Subscription Sellers | Charge one-off or recurring dues without a full billing system. |
| Call Centers / Collections (Push) | Trigger bank-approved payments during a live call. |
Need help deciding between Links and Push? Use Links for broad reach and instant sharing. Use Push when your customer is on a call/chat and can approve directly in their banking app (Capitec).
How It Works
A. Links
- Create a payment request (dashboard or API).
- Share the unique URL via WhatsApp, SMS, email, or social.
- Customer opens the secure checkout.
- Customer pays with their preferred method.
- You receive real-time status updates.
B. Push (Bank Push – Capitec)
- Create a push payment request via API (include customer identifier).
- The customer receives a payment prompt in their Capitec app.
- The customer reviews and approves the request.
- Status updates flow to your system via API/webhooks.
For Push, the customer must have an active and reachable Capitec banking app. The authorization window may be time-limited.
Ways to Create Payment Requests
Moment supports both no-code and developer options.
1) Dashboard (No-Code) COMING SOON
Ideal for: Teams wanting a manual, no-code flow.
Steps:
- Log in to the dashboard
- Open Payment Requests
- Click Create Payment Request
- Enter amount, currency, description, expiry (optional)
- Generate & copy the link
- Share it with your customer
Push (Bank Push) creation from dashboard is planned for a future release.
2) API Integration
Ideal for: Automating flows from CRMs, ERPs, or order systems.
Links
- Create:
POST /collect/payment_request with type link, this returns a unique link_url which can be forwarded for payment.
- Retrieve:
GET /collect/payment_request/:id
- Webhook events: Created, Paid & Updated.
Push (Capitec)
- Create:
POST /collect/payment_request with type push, this should send a push notification to the banking app.
- Retrieve:
GET /collect/payment_request/:id
- Webhook events: Created, Paid & Updated.
Status Lifecycles
| Status | Links | Push |
|---|
| active | Link has been created and is valid. | Payment request created and notification sent to banking app. |
| paid | Payment completed successfully. | Payment completed successfully. |
| expired | Link expired (default: 24h). | Authorization or validity window elapsed without approval. |
| failed | N/A | Payment failed or was declined by the customer. |
Customization Options
Links support:
- Logo/Branding
- Payment description
- Link expiry
- External Reference (tags or internal references)
- Metadata
Push uses the bank’s UI for approval. You can still pass:
- Description / Reference (shown to the customer in-app where supported)
- External Reference & Metadata (for your internal reconciliation)
Getting Started
- Sign up as a Moment merchant
- Choose Links or Push for your use case
- Create the request
- Share the link or let the bank app prompt the customer (Push)
- Track status via API and Webhooks
Next Steps