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_requests with type link, this returns a unique link_url which can be forwarded for payment.
- Retrieve:
GET /collect/payment_requests/:id
- Webhook events: Created, Paid & Updated.
Push (Capitec)
- Create:
POST /collect/payment_requests with type push, this should send a push notification to the banking app.
- Retrieve:
GET /collect/payment_requests/: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
Webhooks
Moment sends webhook events to your registered endpoint as a payment request moves through its lifecycle. Use these to trigger downstream workflows, send confirmations, or update internal records.
See Webhook Setup to register your endpoint and Webhook Verification to validate incoming events.
Next Steps