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

# PayCash Payments

> Accept cash payments in Mexico with PayCash references

## What is PayCash?

PayCash is an offline cash payment method for Mexico. Offer your customers a way to pay with cash at collection points without needing a card or bank account.

Cheqpay creates a **unique reference per order**. Your customer pays that reference in cash at a PayCash collection point, and your order is updated when the deposit is confirmed.

## When to Use PayCash

<CardGroup cols={2}>
  <Card title="Cash-First Customers" icon="money-bill">
    Ideal when your customers prefer paying with cash instead of cards.
  </Card>

  <Card title="No Bank/Card Required" icon="wallet">
    Works for users who do not have a card or bank account.
  </Card>

  <Card title="Retail Collection Flows" icon="store">
    Useful when payment is completed later at a physical collection point.
  </Card>

  <Card title="Alternative Payment" icon="arrows-left-right">
    Offer as an alternative when cards decline.
  </Card>
</CardGroup>

## How PayCash Works

<Steps>
  <Step title="Create Payment Request">
    You create a payment request with PayCash as the payment method.
  </Step>

  <Step title="Reference Assigned">
    Cheqpay assigns a unique PayCash reference for this payment.
  </Step>

  <Step title="Customer Pays">
    Display the reference to your customer who pays cash at a collection point.
  </Step>

  <Step title="Deposit Confirmed">
    PayCash confirms the cash deposit to Cheqpay usually instantly (with the exception of BBVA practicaja which could take from 30 minutes to 2 hours) .
  </Step>

  <Step title="Webhook Notification">
    You receive a webhook notification when the deposit is confirmed.
  </Step>
</Steps>

<Tip>
  Cash deposits can complete within minutes at the collection point, but customers may pay later depending on your checkout flow. Reference TTL is commonly 72 hours when expiration is enabled.
</Tip>

## Create a PayCash Payment

```http theme={null}
POST /v2/payment-orders
x-api-key: YOUR_API_KEY
x-merchant-id: YOUR_MERCHANT_ID
Content-Type: application/json
```

### Request Example

```json theme={null}
{
  "externalId": "order-2001",
  "customer": {
    "firstName": "Laura",
    "lastName": "Ramirez",
    "email": "laura@example.com",
    "phoneNumber": "+525512345678"
  },
  "amount": 125000,
  "currency": "MXN",
  "description": "Order #2001",
  "paymentMethod": {
    "type": "paycash"
  }
}
```

### Response with Reference

```json theme={null}
{
  "paymentOrder": {
    "id": "ord_paycash_123",
    "externalId": "order-2001",
    "status": "PENDING",
    "amount": 125000,
    "currency": "MXN",
    "description": "Order #2001"
  },
  "paymentMethod": {
    "type": "paycash",
    "paycashDetails": {
      "reference": "7041621293386809"
    }
  },
  "customer": {
    "id": "cus_abc123",
    "firstName": "Laura",
    "lastName": "Ramirez",
    "email": "laura@example.com"
  }
}
```

## Display Payment Instructions

Show the PayCash reference prominently so customers can complete the payment:

### Required Information

<CardGroup cols={2}>
  <Card title="PayCash Reference" icon="hashtag">
    Unique reference number for this payment
  </Card>

  <Card title="Amount" icon="dollar-sign">
    Exact amount to pay in cash, but could require comissions for the customer according to some Comercios.
  </Card>

  <Card title="Order Reference" icon="receipt">
    Your order number or external ID
  </Card>

  <Card title="Collection Points" icon="store">
    PayCash locations where the customer can pay
  </Card>
</CardGroup>

### Example Display

```html theme={null}
<div class="payment-instructions">
  <h2>Complete Your Payment</h2>
  <p>Pay the exact amount in cash using the following reference:</p>

  <div class="reference-display">
    <strong>Reference:</strong> 7041621293386809
    <button onclick="copyToClipboard()">Copy</button>
  </div>

  <div class="payment-details">
    <p><strong>Amount:</strong> $1,250.00 MXN</p>
    <p><strong>Order:</strong> #2001</p>
  </div>

  <p class="note">
    Pay at any PayCash collection point. Payment is confirmed after the deposit is processed.
  </p>
</div>
```

<Warning>
  Customer must pay the **exact amount**. Incorrect amounts may delay payment confirmation.
</Warning>

### Retail Chains

| Name                       | Maximum amount |
| -------------------------- | -------------- |
| 7-ELEVEN                   | \$10,000 MXN   |
| Soriana                    | \$10,000 MXN   |
| Soriana (Caja Auto Cobro)  | \$10,000 MXN   |
| Circulo K / Tiendas Extra  | \$6,000 MXN    |
| Walmart                    | \$10,000 MXN   |
| Walmart Express            | \$10,000 MXN   |
| Walmart (Caja Auto cobro)  | \$10,000 MXN   |
| Bodega Aurrera             | \$10,000 MXN   |
| Sam's Club                 | \$10,000 MXN   |
| Kiosko                     | \$15,000 MXN   |
| Calimax                    | \$5,000 MXN    |
| CITY CLUB                  | \$10,000 MXN   |
| Farmacia Roma              | \$10,000 MXN   |
| SMB Rural                  | \$10,000 MXN   |
| Caja Cerano                | \$10,000 MXN   |
| Caja Tamazula              | \$10,000 MXN   |
| Caja Oblatos               | \$10,000 MXN   |
| Vía servicios              | \$10,000 MXN   |
| Systienda (Corresponsales) | \$10,000 MXN   |
| Finabien (antes Telecom)\* | \$20,000 MXN   |
| Farmacias del Ahorro       | \$5,000 MXN    |
| Tiendas Neto               | \$5,000 MXN    |
| Farmacias Yza              | \$3,000 MXN    |
| Abarrey                    | \$10,000 MXN   |
| 7/24                       | \$4,000 MXN    |

### Banks

| Name                                                         | Maximum amount |
| ------------------------------------------------------------ | -------------- |
| Santander (integración online) - Puntos Físicos (Ventanilla) | \$20,000 MXN   |
| BBVA (integración offline) - Practicaja                      | \$20,000 MXN   |
| BBVA (integración offline) - Banca Digital                   | \$20,000 MXN   |
| Banorte (Integración Online) - Sucursales                    | \$20,000 MXN   |
| Banorte (Integración Online) - Banca Digital                 | \$20,000 MXN   |
| Afirme (integración online) - Banca Digital                  | \$20,000 MXN   |

<Note>
  Cheqpay supports PayCash payments up to **\$20,000 MXN** per order. Make sure the customer pays at a collection point whose limit covers the order amount.
</Note>

## Monitor Payment Status

PayCash payments start with status `PENDING` and update to `COMPLETED` when the cash deposit is confirmed.

### Polling (Not Recommended)

```bash theme={null}
curl -X GET https://api.sandbox.cheqpay.mx/pos/v2/payment-orders/ord_paycash_123 \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-merchant-id: YOUR_MERCHANT_ID"
```

### Webhooks (Recommended)

Use webhooks to receive instant notifications:

```json theme={null}
{
  "id": "evt_paycash_001",
  "event": "payment.capture.success",
  "data": {
    "paymentOrder": {
      "id": "ord_paycash_123",
      "externalId": "order-2001"
    },
    "paymentMethod": {
      "type": "paycash",
      "options": {
        "paycash": {
          "reference": "7041621293386809"
        }
      }
    },
    "amount": "125000",
    "currency": "MXN"
  }
}
```

<Card title="Set Up Webhooks" icon="webhook" href="/features/webhooks">
  Learn how to receive real-time PayCash notifications
</Card>

## PayCash Best Practices

<AccordionGroup>
  <Accordion title="Unique Reference Per Payment" icon="fingerprint">
    Each PayCash reference is unique per payment order. Never reuse references across different orders.
  </Accordion>

  <Accordion title="Display Instructions Clearly" icon="eye">
    Make the PayCash reference easy to copy. Provide clear instructions on how to pay at a collection point.
  </Accordion>

  <Accordion title="Send Email Instructions" icon="envelope">
    Email the reference to customers so they can complete the cash payment later.
  </Accordion>

  <Accordion title="Set Expiration Time" icon="clock">
    Consider setting a payment expiration (e.g., 72 hours) to avoid indefinite pending orders.
  </Accordion>

  <Accordion title="Use Webhooks" icon="bell">
    Don't poll for updates. Use webhooks to get instant notifications when payments complete.
  </Accordion>
</AccordionGroup>

## Testing PayCash in Sandbox

Unlike SPEI, PayCash does not auto-complete in sandbox. Use the webhook simulator in development:

<Steps>
  <Step title="Create PayCash Payment">
    Make a payment request with `type: "paycash"` in sandbox.
  </Step>

  <Step title="Simulate Deposit">
    Call the PayCash simulator with the reference from the order response.
  </Step>

  <Step title="Confirm Completion">
    Payment status updates to `COMPLETED` and your webhook receives `payment.capture.success`.
  </Step>
</Steps>

<Tip>
  No need to visit a collection point in development — use the [PayCash simulator](/testing/webhook-simulators) to trigger the deposit flow.
</Tip>

## Handling Payment Failures

PayCash transactions usually do not fail. A payment may be rejected at the collection point if the order amount exceeds that location's maximum limit (see [Retail Chains](#retail-chains) and [Banks](#banks) above). Once a chain or bank captures the deposit, Cheqpay receives a success notification and your order is updated accordingly. PayCash failures are very rare.
if you encounter an issue with a transaction, please contact support.

## Fees and Limits

### Processing Fees

PayCash typically has lower fees than card payments for supported transaction sizes.

<Note>
  Contact [sales@cheqpay.com](mailto:sales@cheqpay.com) for current PayCash pricing.
</Note>

### Transaction Limits

* **Minimum:** \$10.00 MXN
* **Maximum:** \$20,000.00 MXN per transaction
* **Settlements:** Paid every Monday, covering the second previous Friday through the previous Thursday

## Next Steps

<CardGroup cols={2}>
  <Card title="Accept Card Payments" icon="credit-card" href="/features/card-payments">
    Offer cards as primary payment method
  </Card>

  <Card title="Set Up Webhooks" icon="webhook" href="/features/webhooks">
    Get notified when PayCash deposits complete
  </Card>

  <Card title="SPEI Transfers" icon="building-columns" href="/features/spei-transfers">
    Offer bank transfers for higher amounts
  </Card>

  <Card title="Test Integration" icon="flask" href="/guides/testing">
    Test PayCash payments in sandbox
  </Card>
</CardGroup>
