Skip to content

Commit 820be62

Browse files
committed
chore: fixed some data in cinetpay readme according to docs.
1 parent eaae678 commit 820be62

1 file changed

Lines changed: 16 additions & 12 deletions

File tree

docs/integrations/cinetpay.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
Before starting, ensure you have:
4141
- **Python 3.7+** installed on your system
42-
- A **CinetPay merchant account** (sign up at [CinetPay.com](https://cinetpay.com))
42+
- A **CinetPay merchant account** (sign up at [CinetPay Registration](https://app-new.cinetpay.com/register))
4343
- Your **API credentials** from CinetPay dashboard
4444
- A **text editor** or IDE (VS Code, PyCharm, etc.)
4545

@@ -55,8 +55,8 @@ pip install easyswitch
5555

5656
### Step 3: Get Your CinetPay Credentials
5757

58-
1. **Login to CinetPay Dashboard**
59-
- Go to [CinetPay Dashboard](https://dashboard.cinetpay.com)
58+
1. **Login to CinetPay Merchant Portal**
59+
- Go to [CinetPay Merchant Portal](https://app-new.cinetpay.com)
6060
- Navigate to **Settings****API Keys**
6161

6262
2. **Copy Your Credentials**
@@ -67,7 +67,7 @@ pip install easyswitch
6767
```
6868

6969
3. **Create Webhook Endpoint**
70-
- In dashboard, go to **Webhooks**
70+
- In merchant portal, go to **Webhooks**
7171
- Add your webhook URL: `https://yoursite.com/webhook/cinetpay`
7272

7373
### Step 4: Environment Setup
@@ -252,13 +252,13 @@ Once testing is complete:
252252
### Getting Your CinetPay Credentials
253253

254254
**Step 1: Create CinetPay Account**
255-
1. Visit [CinetPay.com](https://cinetpay.com) and click "Sign Up"
255+
1. Visit [CinetPay Merchant Registration](https://app-new.cinetpay.com/register) to create your account
256256
2. Choose "Merchant Account" for business use
257257
3. Complete KYC verification process
258258
4. Wait for account approval (usually 24-48 hours)
259259

260260
**Step 2: Access Your Dashboard**
261-
1. Login to [CinetPay Dashboard](https://dashboard.cinetpay.com)
261+
1. Login to [CinetPay Merchant Portal](https://app-new.cinetpay.com)
262262
2. Navigate to **Settings****API Integration**
263263
3. Copy your credentials (keep them secure!)
264264

@@ -317,9 +317,9 @@ set CINETPAY_ENVIRONMENT=sandbox
317317

318318
| Channel | Code | Countries | Description |
319319
|---------------|-----------------|--------------------|-------------------------------|
320-
| Mobile Money | `MOBILE_MONEY` | CI, SN, ML, BF, NE | Orange Money, MTN, Moov, Wave |
321-
| Bank Cards | `CARD` | All | Visa, Mastercard, local bank cards |
322-
| Bank Transfer | `BANK_TRANSFER` | CI, SN | Direct bank-to-bank transfers |
320+
| Mobile Money | `MOBILE_MONEY` | CI, SN, ML, BF, NE, CM, TD, CF, CD, GN | Orange Money, MTN, Moov, Wave |
321+
| Bank Cards | `CREDIT_CARD` | Excludes GN, CD | Visa, Mastercard, local bank cards (not available for GNF/CDF) |
322+
| Wallet | `WALLET` | Various | Electronic wallets |
323323
| All Methods | `ALL` | All | Let customer choose payment method |
324324

325325
### Multiple Initialization Methods
@@ -500,8 +500,8 @@ CinetPay follows a **redirect-based payment flow** where customers are redirecte
500500

501501
| Currency | Code | Countries | Minimum Amount |
502502
|----------|------|-----------|----------------|
503-
| West African CFA Franc | XOF | Côte d'Ivoire, Senegal, Mali, Burkina Faso, Niger | 100 XOF |
504-
| Central African CFA Franc | XAF | Cameroon, Chad, Central African Republic | 100 XAF |
503+
| West African CFA Franc | XOF | Côte d'Ivoire, Senegal, Mali, Burkina Faso, Niger | 100 XOF (must be multiple of 5) |
504+
| Central African CFA Franc | XAF | Cameroon, Chad, Central African Republic | 100 XAF (must be multiple of 5) |
505505
| Congolese Franc | CDF | Democratic Republic of Congo | 1000 CDF |
506506
| Guinean Franc | GNF | Guinea | 1000 GNF |
507507
| US Dollar | USD | All supported countries | 1 USD |
@@ -619,7 +619,7 @@ CinetPay follows a **redirect-based payment flow** where customers are redirecte
619619
| Field | Type | Format | Description | Example | Validation Rules |
620620
|-------|------|--------|-------------|---------|------------------|
621621
| `transaction_id` | string | Any unique string | Your unique transaction identifier | `"TXN-ORDER-001"` | Max 100 chars, alphanumeric + hyphens |
622-
| `amount` | float | Positive number | Amount in currency base unit | `5000.0` | Min: 100 XOF, 1 USD |
622+
| `amount` | float | Positive number | Amount in currency base unit (converted to int internally) | `5000.0` | Min: 100 XOF, 1 USD |
623623
| `currency` | Currency | Enum value | Transaction currency | `Currency.XOF` | XOF, XAF, CDF, GNF, USD |
624624
| `customer.first_name` | string | Text | Customer's first name | `"Marie"` | 2-50 characters |
625625
| `customer.last_name` | string | Text | Customer's last name | `"Kouame"` | 2-50 characters |
@@ -660,6 +660,10 @@ def validate_transaction_fields(data):
660660
if amount < min_amounts.get(currency, 100):
661661
errors.append(f"Amount too low for {currency}")
662662

663+
# CinetPay requires amounts to be multiples of 5 for XOF and XAF
664+
if currency in [Currency.XOF, Currency.XAF] and amount % 5 != 0:
665+
errors.append(f"Amount must be a multiple of 5 for {currency}")
666+
663667
# Validate phone number
664668
phone = data.get('customer', {}).get('phone_number', '')
665669
if not phone.startswith('+'):

0 commit comments

Comments
 (0)