Transactions API Reference
The Transactions API provides methods to check transaction status, retrieve transaction details, and manage transaction lifecycle across all FundKit providers.Transaction Status Operations
checkTransactionStatus(transactionId, provider?)
Retrieves the current status and details of a transaction.
Parameters:
transactionId
(string): The transaction ID returned from collection requestprovider
(string, optional): Specific provider to query (auto-detected if omitted)
Promise<PayClientTransactionResponse>
Example:
Transaction Interfaces
TransactionResponse
Interface
Response Wrapper
Transaction Status
TransactionStatus
Types
Status Descriptions
Status | Description | Customer Action | Next Steps |
---|---|---|---|
pending | Payment request sent to customer’s phone | Customer needs to approve payment on device | Wait for customer action or check status |
processing | Customer approved, payment being processed | None required | Wait for final status |
completed | Payment successful | None required | Payment complete |
failed | Payment failed | May retry payment | Check failure reason |
cancelled | Payment cancelled | May initiate new payment | Create new payment request |
expired | Payment request expired | Must initiate new payment | Create new payment request |
Status Transitions
Status History
StatusUpdate
Interface
Transaction Fees
TransactionFees
Interface
Polling for Status Updates
Basic Polling
Advanced Polling with Exponential Backoff
Batch Status Checking
Multiple Transactions
Error Handling
Transaction-Specific Errors
Handling Status Check Errors
Provider-Specific Behavior
HoneyCoin Transactions
EasyPay Transactions
Tola Transactions
Transaction Events
Real-time Updates via Webhooks
Best Practices
Status Checking
- Use Webhooks First: Prefer webhooks over polling for real-time updates
- Implement Backoff: Use exponential backoff for polling to reduce API load
- Handle Timeouts: Set reasonable timeouts for status checks
- Cache Results: Cache transaction status to reduce redundant API calls
- Batch Operations: Use batch checking for multiple transactions
Error Handling
- Retry Transient Errors: Implement retry logic for network errors
- Log Provider Errors: Log provider-specific errors for debugging
- Graceful Degradation: Handle provider unavailability gracefully
- User Communication: Provide clear status updates to users
Performance
- Efficient Polling: Use appropriate polling intervals based on provider characteristics
- Connection Pooling: Reuse HTTP connections for multiple requests
- Concurrent Checks: Check multiple transactions concurrently when possible
- Rate Limiting: Respect provider rate limits to avoid throttling
Security
- Validate Transaction IDs: Ensure transaction IDs belong to your application
- Secure Webhooks: Verify webhook signatures for transaction updates
- Access Control: Implement proper authorization for transaction access
- Data Privacy: Handle transaction data according to privacy regulations