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

# C2C Merchant API

> Accept deposits and send withdrawals through Pakistani mobile wallets, without integrating with each wallet provider yourself.

## What C2C does

C2C connects your platform to a network of **verified members** who hold JazzCash and Easypaisa accounts (account numbers, Till IDs and QR codes) and bank accounts. For every order, C2C assigns an available member with a matching account:

* **Deposits:** your customer pays the member's account through a C2C-hosted payment page. The member confirms receipt, and your merchant wallet is credited.
* **Withdrawals:** the member pays your customer's account. When the payout is confirmed, your merchant wallet is debited.

Your backend talks to one API, and C2C handles member assignment, payment instructions, confirmation and settlement to your merchant wallet.

## How an integration works

```mermaid theme={null}
flowchart LR
    A[Get API key<br/>and signing secret] --> B[Authenticate<br/>C2C-API-Key header]
    B --> C[Sign order body<br/>MD5 signature field]
    C --> D[Create deposit<br/>or withdrawal]
    D --> E[Store orderId<br/>redirect customer for deposits]
    E --> F[Webhook and/or<br/>status query]
    F --> G[Fulfil on Completed]
```

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Your first signed deposit, end to end
  </Card>

  <Card title="API reference" icon="code" href="/api-reference/introduction">
    Endpoints, fields, responses and errors
  </Card>

  <Card title="Signature Generation Guide" icon="signature" href="/api-reference/signature-guide">
    Required for deposits and withdrawals. Code in C#, Node.js and Python.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/guides/webhooks">
    Signed callbacks when orders complete or fail
  </Card>
</CardGroup>

## Core business processes

<CardGroup cols={2}>
  <Card title="Deposit flow" icon="arrow-down-to-line" href="/guides/deposit-flow">
    Collect payments through the hosted payment page
  </Card>

  <Card title="Withdrawal flow" icon="arrow-up-from-line" href="/guides/withdrawal-flow">
    Pay customers out to their own wallet
  </Card>

  <Card title="Payment methods" icon="credit-card" href="/guides/payment-methods">
    The six deposit methods and the `walletType` for each
  </Card>

  <Card title="Hosted payment page" icon="window-maximize" href="/guides/hosted-payment-page">
    What your customer sees during a deposit
  </Card>

  <Card title="Order status & tracking" icon="list-check" href="/guides/order-status">
    Statuses, identifiers and reliable outcome tracking
  </Card>
</CardGroup>

## At a glance

| | |
| - | - |
| **Style** | REST, JSON, HTTPS |
| **Authentication** | `C2C-API-Key: mk_live_...` header (`Authorization: Bearer` also accepted) |
| **Request signing** | MD5 `signature` field in the body. Always enforced for deposits and withdrawals. |
| **Idempotency** | `Idempotency-Key` header required on order creation |
| **Payment methods** | JazzCash and Easypaisa, each by account number, Till ID or QR code, for deposits; JazzCash, Easypaisa, Easypaisa Till ID and bank account for withdrawals (enabled per merchant). See [Payment methods](/guides/payment-methods). |
| **Currencies** | PKR (default), INR, BDT |
| **Notifications** | Webhooks `order.completed` / `order.failed` + status polling |
| **Rate limits** | None on the Merchant API |

## Need help?

Email [support@c2cplatform.com](mailto:support@c2cplatform.com) and include the `traceId` from any error response.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.