Status: v1.0.0
Core Module

Authentication

The Identity Layer of ShieldPay Engine. Before executing any financial operations, users must be authenticated via Laravel Sanctum to obtain a secure Bearer Token.


POST

Register User

Creates a new user account. Upon successful registration, the system automatically provisions a digital wallet and sends an OTP (One-Time Password) to the provided email.

Endpoint

http://shield-pay.adhameldouh.com/api/v1/register

Request Body

Param Type Required
name string YES
email string YES
ipin string (4 digits) YES

JSON Response

Status Code 201 Created
{
  "success": true,
  "message": "Account registered. Check OTP.",
  "otp_code": 7858,
  "phone": "01015013191"
}
POST

Verify OTP

Validates the one-time password sent to the user's email. Successful verification activates the wallet and allows the user to proceed to login.

Endpoint

http://shield-pay.adhameldouh.com/api/v1/auth/verify-otp

Request Body

Param Required
phone_number YES
otp YES

Success Response

{
   "success": true,
   "message": "Account verified successfully",
   "token": "1|uNYfHQ4tJJcisAjxA5qEJfbWylX6e1dmpHbmH7yI4"
}
POST

Resend OTP

In case the user did not receive the initial code, use this endpoint to generate and send a new OTP. Note: Rate limiting applies to this endpoint.

Endpoint

http://shield-pay.adhameldouh.com/api/v1/auth/resend-otp

Request Body

Param Required
phone_number YES

Success Response

{
    "success": true,
    "message": "OTP code sent successfully",
    "otp_code": "5597"
}