Get a charge
Retrieve the full status and metadata for a single charge by its ID.GET /api/v1/payments/charges/{charge_id}Authentication: API key
Response
Unique identifier for the charge.
The amount the customer was asked to pay, as a decimal string in
currency.The currency the customer paid in (e.g.,
NGN, GHS, USDT_TRC20).The currency Syncgram credits to your balance (e.g.,
USD, NGN).The amount credited to your balance in
settlement_currency.Current charge status. See Charge statuses.
Key-value metadata you attached to the checkout that originated this charge.
Ordered list of status transitions, earliest first. Each entry includes
status, occurred_at, provider_reference, and reason.List charges (payins)
Retrieve a paginated list of all charges for your organization.GET /api/v1/payments/payinsAuthentication: API key
Query parameters
Number of charges to return. Range: 1–100.
Number of charges to skip. Use with
limit for pagination.Filter by charge status. Accepted values:
PENDING, PROCESSING, SUCCEEDED, ACCEPTED, FAILED, UNDERPAID, EXPIRED.Response
Get a single payin
Retrieve full detail for one charge including payment method, channel, and customer info.GET /api/v1/payments/payins/{charge_id}Authentication: API key
Response fields
Unique identifier for the charge.
Your reference from the originating checkout, if provided.
Current charge status.
Whether this charge can be refunded. Only
true for charges in SUCCEEDED or ACCEPTED status with a supported payment method.Amount the customer was asked to pay.
Amount actually received. May be less than
amount for underpaid charges.Difference between
amount and amount_paid. Zero for fully paid charges.Currency the customer paid in.
Payment category:
bank_transfer, mobile_money, or crypto.Payment method identifier (e.g.,
BANK_TRANSFER, MOBILE_MONEY, CRYPTO).Origination channel:
api, payment_link, or similar.Customer name and email from the originating checkout.
ISO 8601 datetime when the charge was created.
ISO 8601 datetime when the charge reached a terminal status. Null if not yet complete.
Charge statuses
| Status | Description |
|---|---|
PENDING | Waiting for the customer to send payment. |
PROCESSING | Payment received; being verified or settled by the payment network. |
SUCCEEDED | Full amount confirmed. Funds will be credited to your balance. |
ACCEPTED | Underpaid charge accepted manually. Syncgram settles what was received. |
FAILED | Payment failed or was rejected. No funds collected. |
UNDERPAID | Customer sent less than the required amount. |
EXPIRED | Checkout or charge expired before payment was completed. |
Underpayment handling
When a customer sends less than the required amount, the charge moves toUNDERPAID. You have two options:
- Wait — if your payment method supports it, the customer can top up. Syncgram will update the charge once the full amount arrives.
- Accept — settle the charge based on what was received. Use the preview endpoint first to see exactly what will be credited, then confirm.
Preview underpayment acceptance
Before accepting, preview what Syncgram will settle.POST /api/v1/payments/payins/underpayments/preview
Response
Confirm underpayment acceptance
If you are satisfied with the preview, confirm to settle.POST /api/v1/payments/payins/underpayments/confirm
Response
400 Bad Request if the charge is not in UNDERPAID status.