Direct answer
Webhook is push, API is pull. Webhook notifies you when something happens; API lets you query Mundpay when you want. For automatic access release, sending messages or CRM integration, webhook is enough. For generating reports, fetching customer data or auditing sales, use API. Most operations use both together.
What is the practical difference between webhook and API?
Webhook is real-time notification that Mundpay sends to you. API is a data library that you query when you need it.
| Aspect | Webhook | API |
|---|---|---|
| Direction | Push: Mundpay sends to you | Pull: you ask Mundpay |
| Latency | Seconds, as soon as event happens | On demand, when you make request |
| Volume | One event at a time | Batch or filtered queries |
| Typical use | Access release, message trigger, real-time logging | Report, audit, backup, customer lookup |
| Complexity | Simple, doesn't need robust server | More complex, requires error handling and pagination |
In practice: Sale approves, webhook arrives at your CRM in two seconds. Customer wants to know how much they spent, your page queries API to fetch sales history. Webhook makes things happen now. API provides the truth when someone wants to know.
The latency difference matters. Webhook moves at payment network speed, typically under five seconds from approval to your server. API works on your schedule: if you ask at 3 AM, you get the answer at 3 AM. If you ask during peak traffic, there might be a slight delay. So when a sale depends on immediate action (unlock access, send link), webhook is the only option. When you just need to know the facts for a report tomorrow morning, API is perfect.
When is webhook enough?
When all you need to do is react to an event that just happened. Sale approved, refund, new customer, sale denied, dispute opened. For each one, webhook notifies and your system acts.
- Access release. Buyer purchases, webhook arrives, you release access to members area or LMS right away. Without webhook, you open dashboard manually or wait for cronjob to run at night.
- Message trigger. Sale approved, webhook triggers welcome message via WhatsApp or email. Sale denied, webhook triggers alternative payment method offer. All automatic.
- CRM integration. Webhook sends customer data (name, email, amount bought) to ActiveCampaign, RD Station or other CRM right away. So support already sees the new customer when they ask questions.
- Pixel tracking. Sale approved, webhook triggers event to Meta Pixel or Google, confirming conversion as it happens.
- Real-time audit. Webhook logs every sale, refund, dispute in your spreadsheet or database, so you always have the truth in one place.
If your flow is "sale happens and react", webhook is the way.
Your margin is my opportunity.
When do you need API and webhook is not enough?
When you need to fetch what already happened or pull a report on demand. Webhook doesn't offer this. API does.
- Sales report by period. "How much did I sell last week? How many sales? What was average CAC?" You query API and pull. Webhook doesn't offer this because it doesn't notify past events.
- Specific customer query. "How many times did this customer buy from me? When was the last purchase? Any open dispute?" API lets you search by email or ID. Webhook only notifies new events.
- Product transaction audit. "List all approved sales for Product X between January and March." API filters and returns the list. Webhook doesn't keep history.
- Backup and reconciliation. You pull all transactions from the month via API to verify against your accounting. Webhook cannot do this automatically.
- Custom dashboard. You want to show the affiliate how many commissions they have pending. You query API when they access the dashboard. Webhook cannot work this way.
If the flow is "I need to fetch information", API is the way.
Can I use webhook and API together?
Yes, and that is the most common combination. Most robust operations use webhook for real-time events and API for on-demand queries.
Real example: Seller uses webhook to release access automatically in the same second as purchase. Uses API to generate a sales report every Monday, showing how much they sold over the weekend. Uses API again when a customer shows up saying "I didn't receive my purchase", to check if the transaction actually approved.
It is not either/or. It is and/and.
How to choose in practice?
Start with webhook. If you need to do something automatic when a sale happens, webhook solves it. Later, as you grow, add API for reports and audits.
The typical roadmap is:
- Week 1: Implement generic webhook to automatically release LMS access.
- Week 4: Add webhook for CRM (ActiveCampaign or RD Station).
- Month 2: Consume API to generate weekly sales and commission report.
- Month 3: Use API for custom dashboard visible to affiliate.
Start simple. Add when operation needs it.
A common mistake is overengineering on day one. Some sellers think they need API before any sale, building a custom dashboard or syncing with accounting software from the beginning. The better path is to start with webhook connected to a No-Code automation (Make, Zapier, n8n) that costs almost nothing to set up. Then, when the operation scales and manual reports become a bottleneck, you add API for advanced queries. This way you don't pay for complexity you don't need, and you launch faster.
Users spend most of their time on other sites. This means that users prefer your site to work the same way as all the other sites they already know.
Where does Mundpay enter the integration?
Mundpay offers generic webhook to connect your operation with Make, Zapier, n8n, any No-Code or serverless platform. The generic webhook works by sending checkout data (sale approved, Pix generated, refund) to the URL you configure. Check Mundpay Help Center on how to integrate any platform via generic webhook to see all available events and the format of data sent.
About API: an API, in general, serves to query data on demand, period reports, a customer's history, transaction verification. If you need that kind of functionality in Mundpay, check the Help Center to see what the platform offers and how to implement it. Both webhook and API work with Mundpay's 190 countries, automatic currency conversion, and same payment methods.
Sources consulted
- Documentation for generic webhook for payment checkout: based on proven practice of integration between gateway and digital product operations.
In summary: Webhook vs API for checkout integration
- Webhook is real-time notification, API is on-demand query.
- Webhook is enough for access release, message trigger, CRM update, pixel tracking.
- API is necessary for reports, audits, dashboards, customer lookups.
- Mundpay offers generic webhook that works with Make, Zapier, n8n and any No-Code platform.
- Start with webhook. If you need API, check the Help Center for what is available.
Frequently asked questions
What is the practical difference between webhook and API?
Webhook is push: Mundpay sends. API is pull: you ask. Webhook notifies when something happens, API queries information when you want. For automatic access release or message trigger, webhook is faster. For report or audit of past sales, API is better.
When is webhook enough and I don't need API?
When you only need to know that a sale happened and react right away. Release access, send welcome email, trigger WhatsApp, update CRM with customer data. Webhook can do all this. You don't need to query Mundpay again.
When do I need API and webhook is not enough?
When you need to fetch information on demand. Sales report by period, query specific customer, audit transactions, list chargebacks of a product. Webhook cannot do this. API lets you read data whenever you need.
Can I use webhook and API together?
Yes. Most operations use webhook for real-time events (sale approved, refund) and API for on-demand queries (generate report, fetch customer). Each does what it does best.
How do I test that my integration is ready?
For webhook: make a test purchase and see if the event reaches your destination URL in less than ten seconds. Use Webhook.site if you are testing. For API: use Postman or curl to make a GET request to the API, verify the response comes with expected data and HTTP 200.






