Skip to main content
Your organization is the top-level entity in Syncgram Pay. It holds your profile, payment configuration, onboarding state, and environment settings. All API calls are scoped to the organization tied to your API key.

Get your organization

Retrieve your organization’s current profile and settings.
GET /api/v1/organizations/me
curl https://api.syncgrampay.com/api/v1/organizations/me \
  -H "Authorization: Bearer YOUR_API_KEY"
Response
{
  "id": "org_01h9xyz",
  "name": "Acme Inc.",
  "onboarding_status": "completed",
  "payments_status": "active",
  "country": "NG",
  "current_env": "live",
  "fee_handling": "org_pays_fee",
  "enabled_payment_methods": {
    "bank_transfer": { "enabled": true, "currencies": { "NGN": true } },
    "mobile_money": { "enabled": true, "currencies": { "GHS": true } },
    "card": { "enabled": false, "currencies": {} },
    "crypto": { "enabled": false, "currencies": {} }
  },
  "enabled_capabilities": ["payments", "payouts"],
  "is_active": true,
  "created_at": "2024-01-15T10:00:00Z",
  "updated_at": "2024-06-01T08:30:00Z"
}

Response fields

id
string
Unique identifier for your organization.
name
string
Display name of your organization.
onboarding_status
string
Current onboarding state. One of pending, in_progress, or completed.
payments_status
string
Whether your organization can process payments. One of inactive, pending, or active.
country
string
Two-letter ISO country code for your organization’s primary country.
current_env
string
The active environment for this organization. Either test or live.
fee_handling
string
How processing fees are applied. Either org_pays_fee or customer_pays_fee. See fee preference below.
enabled_payment_methods
object
A map of payment methods and their per-currency configuration. See payment method configuration below.
enabled_capabilities
array
List of active capabilities on your organization, such as payments and payouts.
If current_env is test, all transactions are simulated and no real funds move. Switch to live when you are ready to process real payments.

Update your organization

Update your organization’s profile fields.
PUT /api/v1/organizations/{id}
curl -X PUT https://api.syncgrampay.com/api/v1/organizations/org_01h9xyz \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Corp",
    "contact_name": "Jane Doe",
    "phone_number": "+2348012345678",
    "company_name": "Acme Corporation Ltd",
    "website": "https://acme.com",
    "description": "Global e-commerce platform",
    "country": "NG"
  }'

Request fields

name
string
Display name for your organization.
contact_name
string
Full name of the primary contact person.
phone_number
string
Contact phone number in E.164 format.
company_name
string
Legal registered company name.
website
string
Your organization’s website URL.
description
string
Short description of your organization.
country
string
Two-letter ISO country code.
All fields are optional. Include only the fields you want to update.

Onboarding

Complete onboarding to activate payments on your organization.
1

Check your onboarding status

Retrieve the current onboarding state and which steps remain.
GET /api/v1/onboarding/status
curl https://api.syncgrampay.com/api/v1/onboarding/status \
  -H "Authorization: Bearer YOUR_API_KEY"
2

Submit each step

Advance through onboarding by submitting the required information for each step.
PATCH /api/v1/onboarding/step
curl -X PATCH https://api.syncgrampay.com/api/v1/onboarding/step \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "step": "business_details", "data": { ... } }'
3

Complete onboarding

Once all steps are submitted, finalize your onboarding to activate your account.
POST /api/v1/onboarding/complete
curl -X POST https://api.syncgrampay.com/api/v1/onboarding/complete \
  -H "Authorization: Bearer YOUR_API_KEY"

Checkout settings

Manage which payment methods appear on your hosted checkout and who pays processing fees.

Get checkout settings

GET /api/v1/organizations/checkout/settings
curl https://api.syncgrampay.com/api/v1/organizations/checkout/settings \
  -H "Authorization: Bearer YOUR_API_KEY"
Response
{
  "organization_id": "org_01h9xyz",
  "enabled_payment_methods": {
    "bank_transfer": { "enabled": true, "currencies": { "NGN": true } },
    "mobile_money": { "enabled": true, "currencies": { "GHS": true } },
    "card": { "enabled": false, "currencies": {} },
    "crypto": { "enabled": false, "currencies": {} }
  },
  "fee_preference": "org_pays",
  "available_currencies": {
    "bank_transfer": ["NGN", "USD"],
    "mobile_money": ["GHS", "KES"],
    "card": ["USD", "EUR"],
    "crypto": ["USDT", "BTC"]
  }
}

Update checkout settings

PUT /api/v1/organizations/checkout/settings
enabled_payment_methods
object
Map of payment methods to enable or disable per currency. See payment method configuration below.
fee_preference
string
Who pays processing fees. Either org_pays or customer_pays. See fee preference below.
At least one of enabled_payment_methods or fee_preference is required.
curl -X PUT https://api.syncgrampay.com/api/v1/organizations/checkout/settings \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "enabled_payment_methods": {
      "bank_transfer": { "enabled": true, "currencies": { "NGN": true } },
      "mobile_money": { "enabled": true, "currencies": { "GHS": true } },
      "card": { "enabled": false, "currencies": {} },
      "crypto": { "enabled": false, "currencies": {} }
    },
    "fee_preference": "org_pays"
  }'

Payment method configuration

The enabled_payment_methods object controls which methods appear on your checkout and for which currencies. Each key is a payment method name. Supported methods are:
MethodDescription
bank_transferDirect bank account transfers
mobile_moneyMobile money wallets (e.g., M-Pesa, MTN)
cardDebit and credit card payments
cryptoCryptocurrency payments
Each method accepts an object with:
  • enabledtrue or false to globally enable or disable the method
  • currencies — a map of currency codes to true or false
Example: enable bank transfer for NGN only
{
  "enabled_payment_methods": {
    "bank_transfer": {
      "enabled": true,
      "currencies": { "NGN": true }
    }
  }
}
Example: disable all card payments
{
  "enabled_payment_methods": {
    "card": {
      "enabled": false,
      "currencies": {}
    }
  }
}

Fee preference

The fee_preference field controls who absorbs Syncgram Pay’s processing fees.

org_pays

Your organization pays the processing fee. Customers see and pay the exact amount you charge. The fee is deducted from your payout.

customer_pays

The processing fee is added to the customer’s total at checkout. Your organization receives the full charged amount.
Set fee_preference in the checkout settings update endpoint:
{
  "fee_preference": "org_pays"
}