Back to Documentation

Project Management API

Create and manage payment projects with access keys and configurations

Project Management Overview

Projects are containers for your payment integrations. Each project can have multiple payment gateway configurations and access keys for secure API access.

Project Creation

Create projects with specific payment gateway support

Access Keys

Generate secure API keys for project access

Gateway Config

Configure Stripe and Telebirr payment gateways

Create Project

Create a new payment project with supported payment gateways

POST/api/v1/createprojectRequires Authentication

Request Body

{
  "paymentGetWay": ["STRIPE", "TELEBIRR"],
  "title": "My E-commerce Store",
  "discription": "Payment integration for my online store"
}

cURL Example

curl -X POST "https://api.payment-gateway.com/api/v1/createproject" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "paymentGetWay": ["STRIPE", "TELEBIRR"],
    "title": "My E-commerce Store",
    "discription": "Payment integration for my online store"
  }'

Response

{
    "success": true,
    "message": "Project created successfully",
    "data": {
        "id": 1,
    "title": "My E-commerce Store",
    "description": "Payment integration for my online store",
    "paymentGateways": ["STRIPE", "TELEBIRR"],
    "createdAt": "2024-01-15T10:30:00Z",
    "userId": 1
  }
}

Supported Payment Gateways

Currently supported: STRIPE and TELEBIRR

Access Key Management

Generate and manage API access keys for your projects

Create Access Key

POST/api/v1/accessKey/createRequires Authentication

Request Body

{
  "projectId": 1
}

cURL Example

curl -X POST "https://api.payment-gateway.com/api/v1/accessKey/create" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "projectId": 1
  }'

Response

{
  "success": true,
  "message": "Access key created successfully",
  "data": {
    "id": 1,
    "key": "ak_live_1234567890abcdef",
        "projectId": 1,
    "createdAt": "2024-01-15T10:30:00Z",
    "expiresAt": "2025-01-15T10:30:00Z"
  }
}

Get Access Key

GET/api/v1/accessKey/get/{id}Requires Authentication

cURL Example

curl -X GET "https://api.payment-gateway.com/api/v1/accessKey/get/1" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Delete Access Key

DELETE/api/v1/accessKey/delete/{id}Requires Authentication

cURL Example

curl -X DELETE "https://api.payment-gateway.com/api/v1/accessKey/delete/1" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Best Practices

Important considerations for project and access key management

Secure Key Storage

Store access keys securely and never expose them in client-side code

Key Rotation

Regularly rotate access keys and implement key expiration policies

Environment Separation

Use different projects and keys for development, staging, and production