> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clickpesa.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mobile USSD-PUSH API

> Collect payments from customers' mobile money wallets using USSD-PUSH requests

## Prerequisites

1. **API Keys** -
   [Create an Application](/application/api-application-setup) to generate **Client ID** and **API Keys** for API acces

2. **Authorization Token** -
   Use **API Keys** to [Generate Authorization Token](/api-reference/authorization/generate-token)

## How It Works

**Step 1** - Validate push request details

<Card title="Preview USSD-PUSH Request" icon="brackets-curly" href="/api-reference/collection/ussd-push-requests/preview-ussd-push-request" horizontal>
  This endpoint validates payment details like **Mobile Number**, **Amount**, **Order Reference** and verifies **Payment Methods** availability
</Card>

**Step 2** -  Send push request

<Card title="Initiate USSD-PUSH Request" icon="brackets-curly" href="/api-reference/collection/ussd-push-requests/initiate-ussd-push-request" horizontal>
  This endpoint sends the **USSD-PUSH** request to customer's mobile device.
  The customer will be prompted to enter their mobile money wallet PIN/password to complete the transaction
</Card>

**Step 3** -  Check payment status

<Card title="Check Payment Status" icon="brackets-curly" href="/api-reference/collection/querying-for-payments/querying-for-payments" horizontal>
  This endpoint queries for the payment status using payment's **Order Reference**
</Card>
