# Moflay > Developer documentation for integrating M-Pesa payments with Moflay. Learn account setup, API keys, sandbox and production credentials, webhooks, SDK usage, and the Moflay API. ## Docs - [Authentication](https://moflay.com/docs/api-reference/authentication.md): Authenticate Moflay API requests with sandbox or production API keys, permissions, and Bearer tokens. - [Create a customer](https://moflay.com/docs/api-reference/customers/create-a-customer.md): Create a customer in the organization - [Delete a customer](https://moflay.com/docs/api-reference/customers/delete-a-customer.md): Delete a customer by their ID in the organization - [Get a customer](https://moflay.com/docs/api-reference/customers/get-a-customer.md): Get a customer by their ID in the organization - [List all customers](https://moflay.com/docs/api-reference/customers/list-all-customers.md): Get a list of all customers in the organization - [Update a customer](https://moflay.com/docs/api-reference/customers/update-a-customer.md): Update a customer in the organization - [Errors](https://moflay.com/docs/api-reference/errors.md): Troubleshoot problems with this comprehensive breakdown of all error codes. - [Initiate express payment](https://moflay.com/docs/api-reference/express/initiate-express-payment.md): Initiate an M-Pesa Express (STK Push) payment. - [Introduction](https://moflay.com/docs/api-reference/introduction.md): Start with the Moflay REST API base URL, authentication model, core resources, payment status flow, and supporting reference pages. - [Pagination](https://moflay.com/docs/api-reference/pagination.md): Paginate Moflay list endpoints with cursor, limit, and hasNextPage response metadata. - [Get payment](https://moflay.com/docs/api-reference/payments/get-payment.md): Get the current status of an Express payment attempt using either the paymentId or related transactionId returned by POST /v1/express. - [Rate Limits](https://moflay.com/docs/api-reference/rate-limit.md): Understand Moflay API rate limits, response headers, and sandbox versus production quotas. - [Get transaction](https://moflay.com/docs/api-reference/transactions/get-transaction.md): Get a transaction in the organization - [List transactions](https://moflay.com/docs/api-reference/transactions/list-transactions.md): List all transactions in the organization - [Customer created](https://moflay.com/docs/api-reference/webhooks/customer-created.md) - [Customer deleted](https://moflay.com/docs/api-reference/webhooks/customer-deleted.md) - [Customer updated](https://moflay.com/docs/api-reference/webhooks/customer-updated.md) - [Payment completed](https://moflay.com/docs/api-reference/webhooks/payment-completed.md) - [Payment failed](https://moflay.com/docs/api-reference/webhooks/payment-failed.md) - [Set up production credentials](https://moflay.com/docs/daraja/setup-production-credentials.md): Connect your live Daraja credentials to Moflay so you can accept real M-Pesa payments in production. - [Manage API keys](https://moflay.com/docs/dashboard/api-keys/introduction.md): Rotate, revoke, and operate Moflay API keys safely across sandbox and production environments. - [Manage credentials](https://moflay.com/docs/dashboard/credentials.md): Configure the Daraja credentials Moflay uses for M-Pesa Express payments in sandbox and production. - [Credential security](https://moflay.com/docs/dashboard/credentials-security.md): Understand how Moflay protects stored Daraja credentials for each business and environment. - [Environments](https://moflay.com/docs/dashboard/environments.md): Understand how sandbox and production environments work in Moflay so you can test safely and go live cleanly. - [Make your first payment](https://moflay.com/docs/first-payment.md): Send a sandbox M-Pesa Express payment with the Node.js SDK and verify the result in the dashboard. - [Make your first payment with HTTP](https://moflay.com/docs/first-payment-http.md): Send a sandbox M-Pesa Express payment with the REST API, then check the payment status by payment ID. - [Go-live checklist](https://moflay.com/docs/go-live/checklist.md): Prepare production credentials, API keys, webhooks, and live payment checks before accepting real M-Pesa payments. - [How Moflay works](https://moflay.com/docs/how-moflay-works.md): Understand how Moflay adds a production API, webhook, reconciliation, and logging layer around Daraja-powered M-Pesa payments. - [Moflay: The fastest way to add M-Pesa Payments](https://moflay.com/docs/introduction.md): Understand what Moflay is, how it works with Daraja, and how to start accepting M-Pesa payments with the API, SDK, dashboard, and webhooks. - [Use the Moflay Node.js SDK](https://moflay.com/docs/sdk.md): Install the Node.js SDK, authenticate with an API key, create M-Pesa Express payments, and read Moflay records. - [Customer examples](https://moflay.com/docs/sdk-examples/customer-management.md): Create, read, update, delete, and list Moflay customers with the Node.js SDK. - [Express payment examples](https://moflay.com/docs/sdk-examples/express-payment.md): Create M-Pesa Express payments with the Moflay SDK using phone numbers, customer IDs, metadata, and error handling. - [Transaction examples](https://moflay.com/docs/sdk-examples/transaction-management.md): List and retrieve Moflay transactions with the Node.js SDK. - [Set up an API key](https://moflay.com/docs/setup-api-key.md): Create an API key for sandbox or production so your application can authenticate with Moflay. - [Set up your Moflay account](https://moflay.com/docs/setup-moflay.md): Create your account, organization, and initial sandbox setup so you can start integrating M-Pesa payments. - [Webhook events](https://moflay.com/docs/webhooks/events.md): Review the Moflay webhook event types your backend can subscribe to. - [Webhook overview](https://moflay.com/docs/webhooks/overview.md): Use signed Moflay webhooks to receive payment and customer events from your backend. - [Webhook retries and idempotency](https://moflay.com/docs/webhooks/retries-and-idempotency.md): Handle repeated Moflay webhook deliveries safely with idempotent event processing. - [Verify webhook signatures](https://moflay.com/docs/webhooks/signature-verification.md): Verify Svix-style Moflay webhook signatures before trusting event payloads. ## OpenAPI Specs - [openapi](https://moflay.com/docs/api-reference/openapi.json)