尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Payment Gateway To Replace Paynow
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A unified payment gateway platform for Zimbabwe and African markets.
ZeePay provides developers with a single API integration to accept payments through multiple payment methods including EcoCash, InnBucks, Omari, Visa, Mastercard, and more.
Payments without the pain.
zeepay/
├── src/
│ ├── app/ # Next.js app directory
│ │ ├── api/v1/ # API endpoints
│ │ │ ├── payments/ # Payment endpoints
│ │ │ ├── refunds/ # Refund endpoints
│ │ │ ├── webhooks/ # Webhook endpoints
│ │ │ ├── payment-methods/
│ │ │ └── simulator/ # Payment simulator
│ │ ├── checkout/ # Hosted checkout pages
│ │ └── dashboard/ # Merchant dashboard
│ ├── lib/
│ │ ├── auth/ # Authentication utilities
│ │ ├── database/ # Database client & schema
│ │ ├── providers/ # Payment provider adapters
│ │ ├── services/ # Business logic services
│ │ ├── utils/ # Utility functions
│ │ └── webhooks/ # Webhook engine
│ └── types/ # TypeScript type definitions
├── sdk/ # JavaScript/TypeScript SDK
├── docs/ # Documentation
│ └── openapi.yaml # OpenAPI specification
└── package.json
git clone <repository-url>
cd zeepay
npm install
.env.local file (see .env.example for reference):NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
JWT_SECRET=your_jwt_secret_here
ENCRYPTION_KEY=your_encryption_key_here
NODE_ENV=development
# Apply the database schema
# Copy the contents of src/lib/database/schema.sql and run it in your Supabase SQL editor
npm run dev
The application will be available at http://localhost:3000
import ZeePay from 'zeepay-sdk';
const zeePay = new ZeePay({
apiKey: 'zp_test_your_api_key_here'
});
const payment = await zeePay.payments.create({
amount: 10,
currency: 'USD',
reference: 'invoice_1042'
});
console.log(payment.checkoutUrl);
// Redirect customer to payment.checkoutUrl
POST /api/v1/payments - Create a paymentGET /api/v1/payments - List paymentsGET /api/v1/payments/:id - Get a paymentPOST /api/v1/payments/:id - Cancel a paymentPOST /api/v1/refunds - Create a refundGET /api/v1/refunds/:id - Get a refundGET /api/v1/payment-methods - List available payment methodsPOST /api/v1/webhooks - Create webhook endpointGET /api/v1/webhooks - List webhooksGET /api/v1/webhooks/:id - Get webhookPATCH /api/v1/webhooks/:id - Update webhookDELETE /api/v1/webhooks/:id - Delete webhookGET /api/v1/webhooks/:id/deliveries - Get webhook delivery historyFor complete API documentation, see docs/openapi.yaml
Creates and retrieves payments with idempotency support.
Mobile-first payment page with payment method selection.
Signed, retryable webhook delivery with event history.
Extensible provider interface for adding new payment methods.
Test payment scenarios without processing real money.
Key tables:
merchants - Merchant accountsmerchant_users - Dashboard usersapi_keys - API key managementpayments - Canonical payment recordspayment_attempts - Individual payment attemptsrefunds - Refund recordswebhook_endpoints - Webhook configurationwebhook_events - Durable event recordswebhook_deliveries - Delivery trackingidempotency_keys - Duplicate request protectionSee src/lib/database/schema.sql for complete schema.
npm install zeepay-sdk
import ZeePay from 'zeepay-sdk';
const zeePay = new ZeePay({
apiKey: process.env.ZEEPAY_API_KEY
});
// Create payment
const payment = await zeePay.payments.create({
amount: 10,
currency: 'USD',
reference: 'invoice_1042',
returnUrl: 'https://myapp.com/success',
cancelUrl: 'https://myapp.com/cancel'
});
// Redirect to checkout
window.location.href = payment.checkoutUrl;
See sdk/README.md for complete SDK documentation.
const webhook = await zeePay.webhooks.create({
url: 'https://myapp.com/webhooks/zeepay',
events: ['payment.succeeded', 'payment.failed', 'payment.refunded']
});
// Save webhook.secret securely
console.log(webhook.secret);
import crypto from 'crypto';
function verifyWebhookSignature(payload, signature, secret) {
const expectedSignature = `sha256=${crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex')}`;
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expectedSignature)
);
}
npm test
npm run build
npm run lint
Merchant Application
|
| ZeePay API
v
ZeePay API Layer
|
Payment Engine
|
Payment Router
/ | \
Cards Mobile Money Wallets
| | |
Acquirer EcoCash Other
| InnBucks Providers
v v v
Payment Providers
|
Confirmed Result
|
ZeePay Webhooks
|
v
Merchant Application
Contributions are welcome! Please follow these steps:
MIT License - see LICENSE file for details
Built with: