WadieaPayWadieaPay

API Reference

WadieaPay API

Accept BaridiMob payments programmatically. Verify transactions in real-time and create payment links for your customers.

Quick Start

  1. 1

    Get your API key

    Create an account and get your API key from the Dashboard

  2. 2

    Connect your BaridiMob account

    Link your BaridiMob account to receive payments

  3. 3

    Start accepting payments

    Use the API to verify payments or create payment links

Available Features

Authentication

Authenticate requests by including your API key in the Authorization header.

Authorization: Bearer sk_live_your_api_key

Get your API key from the Dashboard.

Base URL

All API requests should be made to this base URL using HTTPS.

https://api.wadieapay.com

Verify Payment

POST/payments/verify

Verify if a payment was received by checking the transaction reference number.

Request Body

amountrequired
numberPayment amount in DZD
refNumrequired
string12-digit BaridiMob reference number
orderIdrequired
stringYour unique order identifier (max 100 chars)
rip
stringYour BaridiMob RIP (optional filter)
metadata
objectCustom data to attach to the claim

Response

status
stringSUCCESS, DUPLICATE, ALREADY_CLAIMED, or NOT_FOUND
orderId
stringYour order identifier
metadata
objectCustom data you attached
amount
numberTransaction amount
verifiedAt
stringWhen the claim was verified

Request Body Example

{
  "amount": 5000,
  "refNum": "009235035898",
  "orderId": "order_12345",
  "rip": "00799999000300012345",
  "metadata": {
    "customer": "Ahmed",
    "product": "Monthly subscription"
  }
}

cURL Example

curl -X POST https://api.wadieapay.com/payments/verify \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 5000,
    "refNum": "009235035898",
    "orderId": "order_12345"
  }'

SUCCESS Response

First time claiming this transaction. This is billed to your subscription.

{
  "status": "SUCCESS",
  "orderId": "order_12345",
  "metadata": {
    "customer": "Ahmed",
    "product": "Monthly subscription"
  },
  "amount": 5000,
  "verifiedAt": "2024-01-15T14:30:00Z"
}

DUPLICATE Response

Same orderId sent again (idempotent). Not billed.

{
  "status": "DUPLICATE",
  "orderId": "order_12345",
  "metadata": { ... },
  "amount": 5000,
  "verifiedAt": "2024-01-15T14:30:00Z"
}

ALREADY_CLAIMED Response

This transaction was already claimed before. Not billed.

{
  "status": "ALREADY_CLAIMED",
  "orderId": "order_12345",
  "metadata": { ... },
  "amount": 5000,
  "verifiedAt": "2024-01-15T14:30:00Z"
}

NOT_FOUND Response

No matching transaction found.

{
  "status": "NOT_FOUND"
}

Duplicate orderId Error (Different refNum)

If you try to use the same orderId with a different refNum or amount, the API returns an error.

{
  "message": "Order ID \"order_12345\" has already been used with a different transaction",
  "error": "Bad Request",
  "statusCode": 400
}

Error Codes

The API uses standard HTTP status codes to indicate success or failure.

CodeDescription
200Success
401Invalid API key
403Subscription inactive
404Resource not found
429Rate limit exceeded
500Internal server error

Error Response Format

{
  "error": "Invalid API key",
  "code": 401
}

Rate Limits

API requests are rate limited to ensure fair usage and stability.

LimitValue
Requests per minute120
Failed verification penaltyTemporary block

Rate Limit Headers

X-RateLimit-Limit: 120
X-RateLimit-Remaining: 119
X-RateLimit-Reset: 1704067200