I. Integration Options: Choose Your Flow
II. Core API Management
- Create Payments: Use POST /payments/initialize for one-time and recurring payment collections.
- List & Retrieve: Use GET /payments to list all, and GET /payments/ to retrieve details.
- Payment Webhooks: React to events like payment.successful in your backend.
Bank Transfer Payments (Non-Card)
For Bank Transfers (“channel”: “bank_transfer”), the flow is simpler as no encryption is needed.- The initial POST /payments request returns a status: pending with the required bankDetails (Account Number, Bank Name) in the response.
- The customer must then make the transfer to these details.
- Final Status: Spotflow monitors the transfer. You must Verify the Payment to confirm the final successful status.
Final Step: Verify Payment
For every transaction—especially after an authorization step or a bank transfer—you must call the Verify Payment endpoint using your transaction reference to confirm the final and definitive status.How to Verify:
- Retrieve Reference: Get the unique transaction reference ID from your system or from the query parameters sent back to your Callback URL.
- Call Verify Endpoint: Send a request to our Verify Payment Collection Endpoint (GET /payments/).
- Confirm Status: The verification response provides the definitive, server-to-server confirmed status (successful, failed, etc.).
Receive Payment Confirmation Via Webhook
As a concurrent and reliable method, when a payment is successful, Spotflow sends a payment_successful webhook event to your specified Webhook URL.Best Practice: Treat the webhook as an alert and the verification API call as the confirmation. Only fulfill the order after the verification API call confirms the status is successful.
- Amount Format: The amount should always be in the subunit of the supported currency (e.g., kobo for NGN, cents for USD).
- Unique Reference: You must use a unique reference ID generated by your company for the reference field to identify each customer and transaction.
- Currency Selection:
- Select the currency for the payment collection (e.g., USD or NGN).
- If currency is set to USD, you must also include the localCurrency field set to the local currency of your collection region (e.g., NGN, GHS, KSH). This is required for accurate FX calculation and compliance.

