Register Your App

End Points to onboard an App. All Endpoints includes CRUD.

Overview

To integrate your application with the Tuku Pay Gateway, your app must first be registered and onboarded. This process ensures that all apps comply with our security and verification standards. Below are the details required, endpoints for internal use, and instructions for manual registration.


Manual Registration

Apps can be manually registered via apps.tuku.money/register, where all required details and documents can be uploaded. This link will guide you through the registration process step-by-step.


App Registration Details

App Information:

  • App Name: Your application’s official name.

  • Description: A brief overview of what the app does.

  • Country: The primary country of operation.

  • Contact Details:

    • Email address.

    • Phone number (must be valid and active).

  • App Logo or Photo: An image or logo representing the app.

Company or Individual Information:

  • KYC Documents: Legal documents verifying the company or individual registering the app (e.g., ID, Certificate of Incorporation, Tax Compliance Certificate).

Contact Person Details:

  • Name: The full name of the individual responsible for the app registration.

  • Role: Their role in the company or app team (e.g., Founder, CTO).

  • KYC Documents: Verification documents for the contact person (e.g., National ID, Passport).

Additional Information:

  • Estimated Customers: The approximate number of expected customers using the app.

  • Callback URLs:

    • Transaction Callback URL: To handle transaction notifications.

    • SMS Callback URL: To handle SMS delivery updates.

  • Whitelisted Servers:

    • IP addresses or domains of servers allowed to communicate with the Tuku Pay Gateway for enhanced security.


Endpoints

These endpoints are for internal use only to securely onboard apps into the system.


1. Register App

Registers a new app in the system.

Method: POST

URL: /api/apps/register

Request Body:

{
  "appName": "MyApp",
  "description": "A payment gateway for e-commerce platforms.",
  "country": "Kenya",
  "contactDetails": {
    "email": "info@myapp.com",
    "phone": "+254712345678"
  },
  "appPhoto": "https://example.com/logo.png",
  "contactPerson": {
    "name": "John Doe",
    "role": "Founder",
    "kyc": {
      "type": "National ID",
      "documentUrl": "https://example.com/john-id.jpg"
    }
  },
  "estimatedCustomers": 5000,
  "callbacks": {
    "transactionCallbackUrl": "https://myapp.com/transaction-callback",
    "smsCallbackUrl": "https://myapp.com/sms-callback"
  },
  "whitelistedServers": [
    "192.168.1.1",
    "https://secure.myapp.com"
  ]
}

Response:

{
  "appId": "abc123",
  "apiKey": "xyz789",
  "status": "pending_verification",
  "message": "App registered successfully. Awaiting KYC verification."
}

2. Update Whitelisted Servers

Allows adding or removing servers to/from the whitelist.

Method: PUT

URL: /api/apps/whitelist/update/{appId}

Request Body:

{
  "whitelistedServers": [
    "192.168.1.1",
    "https://secure.myapp.com",
    "https://backup.myapp.com"
  ]
}

Response:

{
  "status": "success",
  "message": "Whitelisted servers updated successfully."
}

3. Upload KYC Documents

Uploads KYC documents required for app verification.

Method: POST

URL: /internal/apps/kyc/upload

Request Body:

{
  "appId": "abc123",
  "kycDocuments": [
    {
      "type": "Certificate of Incorporation",
      "documentUrl": "https://example.com/certificate.jpg"
    },
    {
      "type": "Tax Compliance Certificate",
      "documentUrl": "https://example.com/tax.jpg"
    }
  ]
}

Response:

{
  "status": "success",
  "message": "KYC documents uploaded successfully. Verification in progress."
}

4. Edit App Information

Allows editing of app details after registration.

Method: PUT

URL: /api/apps/edit/{appId}

Request Body:

{
  "appName": "UpdatedAppName",
  "description": "Updated description of the app.",
  "contactDetails": {
    "email": "support@updatedapp.com",
    "phone": "+254789123456"
  },
  "appPhoto": "https://example.com/updated-logo.png",
  "contactPerson": {
    "name": "Jane Doe",
    "role": "CEO",
    "kyc": {
      "type": "Passport",
      "documentUrl": "https://example.com/jane-passport.jpg"
    }
  },
  "estimatedCustomers": 10000,
  "callbacks": {
    "transactionCallbackUrl": "https://updatedapp.com/transaction-callback",
    "smsCallbackUrl": "https://updatedapp.com/sms-callback"
  }
}

Response:

{
  "status": "success",
  "message": "App information updated successfully."
}

5. Delete App

Deletes an app from the system.

Method: DELETE

URL: /api/apps/delete/{appId}

Response:

{
  "status": "success",
  "message": "App deleted successfully. You can reinstall the app in 60 days"
}

Notes

  1. Internal Use Only: These endpoints are for Tuku Pay staff and are not accessible to external users or developers.

  2. KYC Verification: Registration remains incomplete until all KYC documents are uploaded and verified by the Tuku Pay team.

  3. Callback URLs: Apps must provide functional callback URLs for real-time event updates.

  4. Whitelisted Servers: Ensure only trusted servers communicate with the Tuku Pay Gateway. Requests from non-whitelisted servers will be rejected.

  5. CRUD Functionality: All endpoints include Create, Read, Update, and Delete operations to manage app details securely.


Last updated