Skip to main content
Danipa
Docs · 003 / 010

Merchant Onboarding

Register as a merchant, complete business verification (KYB), get API keys, and go live with the Danipa Payment API.

Overview

Danipa's Merchant API lets businesses accept payments via payment links, invoices, and direct API integration. This guide walks you through the onboarding process from registration to your first transaction.

Sandbox-first. Sandbox is the only live environment today — build and test against https://api.sandbox.danipa.com/ms/v1 with a dk_test_ key. Production (dk_live_ keys, real money movement) is reserved for general availability and is not yet live.

Step 1: Register Your Business

Create a merchant account by providing your business details:

curl -X POST https://api.sandbox.danipa.com/ms/v1/merchants \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "businessName": "Acme Corp",
    "businessType": "RETAIL",
    "registrationNumber": "REG-001",
    "country": "GH"
  }'

Your account starts in PENDING status while business verification (KYB) is processed.

Business Types

TypeDescription
RETAILPhysical or online retail
SAASSoftware-as-a-service
MARKETPLACEMulti-vendor marketplace
NONPROFITRegistered non-profit organization
OTHEROther business type

Step 2: Complete Business Verification (KYB)

Upload your business registration documents through the merchant dashboard. The verification process checks:

  • Business registration certificate
  • Tax identification number
  • Proof of address
  • Authorized representative ID
KYB StatusDescription
NOT_STARTEDNo documents submitted
PENDINGDocuments under review
VERIFIEDBusiness verified — full sandbox API access
REJECTEDVerification failed — resubmit documents

Once verified, your merchant status changes to ACTIVE.

Step 3: Get Your API Keys

After verification, generate API keys from the merchant dashboard:

  1. Navigate to API Keys
  2. Click Create Key
  3. Set a label (e.g. "Sandbox Key") and select permissions
  4. Copy the full key — it's shown only once

Key Prefixes

PrefixEnvironment
dk_test_Sandbox — simulated transactions (available today)
dk_live_Reserved for production — real money movement (not yet live)

Permissions

PermissionScope
paymentsCreate and manage payment links, process payments
invoicesCreate and send invoices
webhooksManage webhook endpoints
analyticsAccess analytics and reporting

Step 4: Configure Webhooks

Set up webhook endpoints to receive real-time event notifications:

curl -X POST https://api.sandbox.danipa.com/ms/v1/merchants/me/webhooks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://yoursite.com/webhooks/danipa",
    "eventTypes": ["payment.completed", "invoice.paid"]
  }'

See the Webhooks guide for signature verification and event types.

Step 5: Accept Your First Payment

Create a payment link and share it with a customer:

curl -X POST https://api.sandbox.danipa.com/ms/v1/merchants/me/payment-links \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "First Payment",
    "amount": 10.00,
    "currency": "GHS",
    "amountFixed": true
  }'

The response includes a url field — share that with your customer. When they pay, you'll receive a payment.completed webhook.

Sandbox vs. Production

FeatureSandboxProduction (not yet live)
API Key prefixdk_test_dk_live_
Money movementSimulatedReal
Provider responsesMocked (auto-settle in 5s)Real provider calls
Rate limits60 req/minPer your plan

Build and test your integration thoroughly in sandbox now; swap to production keys when production opens for general availability.

Pricing Plans

Danipa offers tiered pricing based on transaction volume and API usage. Plan amounts are set live and priced per-currency (GHS / USD / CAD), so they aren't hard-coded here. Fetch the current plans from the public pricing API:

curl https://api.sandbox.danipa.com/ms/v1/pricing-plans

View plans and upgrade in the Billing section of your dashboard.

Go-Live Checklist

Before switching to production:

  • Business verification (KYB) completed and approved
  • Webhook endpoint configured and receiving test events
  • Signature verification implemented (see Webhooks)
  • Error handling for API failures (see Error Handling)
  • Tested payment flow end-to-end in sandbox
  • Ready to swap the sandbox API key for a production key when production opens

Next Steps