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
Unique identifier for your organization.
Display name of your organization.
Current onboarding state. One of pending, in_progress, or completed.
Whether your organization can process payments. One of inactive, pending, or active.
Two-letter ISO country code for your organization’s primary country.
The active environment for this organization. Either test or live.
How processing fees are applied. Either org_pays_fee or customer_pays_fee. See fee preference below.
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
Display name for your organization.
Full name of the primary contact person.
Contact phone number in E.164 format.
Legal registered company name.
Your organization’s website URL.
Short description of your organization.
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.
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"
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": { ... } }'
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
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:
Method Description 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:
enabled — true 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"
}