Skip to main content
Syncgram Pay lets you collect payments from customers across multiple currencies and payment methods. You create a checkout, your customer completes payment on a hosted page, and Syncgram handles the rest — routing to the right payment network, tracking status, and notifying your server via webhooks.

How payments work

1

Create a checkout

Your server calls POST /api/v1/payments/checkouts with pricing, customer details, and redirect URLs. Syncgram returns a checkout_url you redirect your customer to.
2

Customer completes payment

The customer lands on the Syncgram-hosted checkout page, selects a payment method and currency, reviews a quote, and submits payment details. The backend drives the flow — your frontend does nothing at this stage.
3

Charge is created

When the customer initiates payment, Syncgram creates a charge and routes it through the appropriate payment network. The charge moves through statuses as the payment progresses.
4

Your server receives a webhook

Once the charge reaches a terminal status (SUCCEEDED, FAILED, EXPIRED, or UNDERPAID), Syncgram posts a webhook to your configured endpoint. Use the webhook to fulfill orders or trigger downstream actions.

Payment methods

Syncgram Pay supports three categories of payment method:
MethodDescriptionExample currencies
Bank transferCustomer sends a bank transfer to a virtual account numberNGN, GHS, KES
Mobile moneyCustomer pays via a mobile money prompt to their phoneGHS, TZS, UGX
CryptoCustomer sends a crypto asset to a wallet addressUSDT (TRC-20), USDC
The payment methods and currencies available on a given checkout depend on your organization’s configuration. Call GET /api/v1/payments/supported-currencies to retrieve the current list of supported currencies, and GET /api/v1/payments/payment-methods for supported payment methods.

Supported currencies

Syncgram Pay supports both fiat and crypto currencies. Fiat currencies include regional currencies such as NGN, GHS, KES, TZS, UGX, and ZAR. Crypto currencies include assets such as USDT_TRC20 and USDC. Your pricing uses a settlement currency — the currency Syncgram credits to your balance. Currently supported settlement currencies are USD and NGN. The customer can pay in any currency you enable; Syncgram handles the conversion.
Use local_pricing in your checkout request to pin specific amounts for individual currencies rather than relying on live exchange rates. See Checkouts for details.

Payment lifecycle

Each charge moves through the following statuses:
StatusMeaning
PENDINGThe charge has been created and is waiting for the customer to send payment.
PROCESSINGPayment has been received and is being verified or settled by the payment network.
SUCCEEDEDPayment was confirmed and the full amount was received. The charge is complete.
ACCEPTEDAn underpaid charge was manually accepted. Syncgram settles what was received.
FAILEDPayment failed or was rejected. No funds were collected.
UNDERPAIDThe customer sent less than the required amount. You can accept or wait for the customer to top up.
EXPIREDThe checkout or charge expired before payment was completed.
Terminal statuses are SUCCEEDED, ACCEPTED, FAILED, and EXPIRED. Once a charge reaches a terminal status it will not change again. Use webhooks to react to status transitions in real time. Do not poll charge status as your primary mechanism for detecting payment completion.

Test vs live mode

API keys are scoped to either test mode or live mode. Test mode charges never move real money and are isolated from live data. In test mode, use the simulated_outcome field when creating a checkout to control how the payment resolves:
ValueEffect
"success"Charge moves to SUCCEEDED after a short delay
"failed"Charge moves to FAILED after a short delay
"underpaid"Charge moves to UNDERPAID after a short delay
simulated_outcome is rejected on live mode API keys. Remove it before switching to production.

Explore the payments API

Checkouts

Create hosted checkout pages and redirect customers to complete payment.

Charges

Retrieve and list charges, track status history, and handle underpayments.

Refunds

Issue full or partial refunds for completed charges.