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

# PrestaShop

> Accept mobile money payments in your PrestaShop store with the Simiz module.

The Simiz PrestaShop module lets you accept mobile money payments directly in your online store. Customers pay via Orange Money, MTN MoMo, and other mobile wallets — with automatic order updates through webhooks.

## Prerequisites

Before installing, make sure your environment meets these requirements:

| Requirement   | Minimum version                              |
| ------------- | -------------------------------------------- |
| PrestaShop    | 1.7.8                                        |
| PHP           | 8.0                                          |
| Simiz account | [Create one free](https://simiz.io/register) |

<Warning>
  You need your Simiz API keys before configuring the module. Find them in **Dashboard > Settings > API Keys**.
</Warning>

## Installation

<Steps>
  <Step title="Download the module">
    Download the Simiz for PrestaShop module from your [Simiz dashboard](https://dashboard.simiz.io/plugins).

    You'll receive a `.zip` file named `simiz-prestashop.zip`.
  </Step>

  <Step title="Upload and install">
    1. Go to your PrestaShop back office
    2. Navigate to **Modules > Module Manager > Upload a module**
    3. Select the `simiz-prestashop.zip` file
    4. The module is automatically installed after upload

    <Tip>
      You can also install manually by extracting the module to `/modules/simizpayments/` via FTP.
    </Tip>
  </Step>

  <Step title="Configure the module">
    1. Go to **Modules > Module Manager**
    2. Find **Simiz Payments** and click **Configure**
    3. Enter your API key and webhook secret
    4. Select your environment (Sandbox or Production)
    5. Save your settings

    The module is now ready to accept payments.
  </Step>
</Steps>

## Configuration

Navigate to **Modules > Module Manager > Simiz Payments > Configure** to access all settings.

### General settings

| Setting            | Description                                                      |
| ------------------ | ---------------------------------------------------------------- |
| **Enable/Disable** | Toggle Simiz as a payment method at checkout                     |
| **Title**          | Payment method name shown to customers (default: "Mobile Money") |
| **Description**    | Description shown during checkout                                |

### API credentials

| Setting                 | Description                                   |
| ----------------------- | --------------------------------------------- |
| **Environment**         | Toggle between Sandbox and Production         |
| **Test API Key**        | Your sandbox key (`smz_test_xxxxxxxxxxxx`)    |
| **Test Webhook Secret** | Sandbox webhook signing secret                |
| **Live API Key**        | Your production key (`smz_live_xxxxxxxxxxxx`) |
| **Live Webhook Secret** | Production webhook signing secret             |

<Warning>
  **Never share your API keys publicly.** Store them securely and never commit them to version control.
</Warning>

### Webhook URL

The module automatically registers a webhook endpoint at:

```
https://your-store.com/module/simizpayments/webhook
```

Copy this URL into your Simiz dashboard under **Settings > Webhooks** to receive payment notifications.

## Payment flow

<Steps>
  <Step title="Customer checks out">
    The customer selects **Mobile Money** as the payment method and chooses their provider (Orange Money, MTN MoMo, etc.).
  </Step>

  <Step title="Payment is initiated">
    The module sends a request to the Simiz API to create a transaction. The customer is redirected to the Simiz checkout page or receives a prompt on their phone.
  </Step>

  <Step title="Customer confirms payment">
    The customer confirms the payment by entering their mobile money PIN.
  </Step>

  <Step title="Webhook confirms the order">
    Simiz sends a `transaction.completed` webhook to your store. The module verifies the signature, updates the order status to **Payment accepted**, and sends the confirmation email.
  </Step>
</Steps>

## Supported payment methods

| Method           | Type         | Status      |
| ---------------- | ------------ | ----------- |
| Orange Money     | Mobile Money | Available   |
| MTN Mobile Money | Mobile Money | Available   |
| Wave             | Mobile Money | Coming Soon |
| Moov Money       | Mobile Money | Coming Soon |

## Supported currencies

| Currency                  | Code | Countries                                                                   |
| ------------------------- | ---- | --------------------------------------------------------------------------- |
| Central African CFA Franc | XAF  | Cameroon, Central African Republic, Chad, Congo, Equatorial Guinea, Gabon   |
| West African CFA Franc    | XOF  | Benin, Burkina Faso, Ivory Coast, Guinea-Bissau, Mali, Niger, Senegal, Togo |

## Webhooks

The module handles webhook events automatically:

| Event                   | Order action                                   |
| ----------------------- | ---------------------------------------------- |
| `transaction.created`   | Order created with **Awaiting payment** status |
| `transaction.completed` | Order marked as **Payment accepted**           |
| `transaction.failed`    | Order marked as **Payment error**              |
| `transaction.cancelled` | Order marked as **Cancelled**                  |
| `transaction.expired`   | Order marked as **Payment error**              |
| `refund.created`        | Refund initiated                               |
| `refund.completed`      | Refund recorded on the order                   |
| `refund.failed`         | Note added to the order                        |

## Test mode

1. Go to **Modules > Module Manager > Simiz Payments > Configure**
2. Set the environment to **Sandbox**
3. Enter your sandbox API key (`smz_test_*`)
4. Save changes

When sandbox mode is enabled, the module connects to `sandbox.api.simiz.io` and no real money is charged.

<Card title="Full sandbox documentation" icon="flask" href="/en/guides/sandbox-testing">
  See all test numbers and scenarios in the Sandbox Testing guide.
</Card>

## Troubleshooting

<Tabs>
  <Tab title="Payment not completing">
    **Symptoms:** Order stays in "Awaiting payment" after the customer pays.

    **Solutions:**

    * Verify your webhook URL is correctly configured in the Simiz dashboard
    * Check that your webhook secret matches between PrestaShop and Simiz
    * Ensure your server allows incoming POST requests to the webhook endpoint
    * Check PrestaShop logs in **Advanced Parameters > Logs**
  </Tab>

  <Tab title="Module not appearing at checkout">
    **Symptoms:** Simiz is not shown as a payment option.

    **Solutions:**

    * Confirm the module is installed and enabled
    * Check that your store currency matches a supported currency
    * Ensure PrestaShop is version 1.7.8 or higher
    * Clear the PrestaShop cache
  </Tab>

  <Tab title="Invalid signature errors">
    **Symptoms:** Webhooks return 401 errors in the Simiz dashboard.

    **Solutions:**

    * Regenerate your webhook secret in the Simiz dashboard
    * Update the new secret in your module configuration
    * Ensure no WAF or security module is modifying webhook request headers
  </Tab>
</Tabs>

## Next steps

<CardGroup cols={2}>
  <Card title="Webhook Verification" icon="shield-check" href="/en/core-concepts/webhooks/overview">
    Learn about webhook configuration and signature verification.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference">
    Explore the full Simiz API.
  </Card>

  <Card title="Sandbox Testing" icon="flask" href="/en/guides/sandbox-testing">
    Test all payment scenarios before going live.
  </Card>

  <Card title="Support" icon="headset" href="https://support.simiz.io">
    Need help? Contact our support team.
  </Card>
</CardGroup>

## Changelog

<Accordion title="Version history" defaultOpen>
  | Version | Date       | Changes                                                    |
  | ------- | ---------- | ---------------------------------------------------------- |
  | `1.0.0` | 2026-03-01 | Initial release — mobile money payments, webhooks, sandbox |
</Accordion>
