Transactions
Overview

Transactions Overview

BudPay's Transaction API provides tools to manage, track, and verify payment transactions. Monitor payment status, retrieve transaction details, and maintain visibility over your payment operations.


What are Transactions?

A transaction represents a payment operation processed through BudPay. Every payment attempt creates a transaction record with payment details, customer information, and processing status.

Transaction Lifecycle: Initiated → Processing → Completed/Failed


Key Features

FeatureDescriptionLink
Verify TransactionConfirm payment status before fulfilling ordersLearn More →
Fetch TransactionGet comprehensive transaction data and logsLearn More →
Search TransactionFind transactions by reference, session ID, or accountLearn More →
List TransactionsView paginated lists with filtering optionsLearn More →

Transaction Statuses

StatusDescriptionAction
successPayment completed successfullyFulfill order immediately
pendingPayment initiated but not completedWait for completion
failedPayment declined or failedRequest new payment
abandonedCustomer left without payingSend reminder (optional)
⚠️

Only fulfill orders when status is success. Always verify via API before delivering value.


Payment Channels

  • Card: Visa, Mastercard, Verve (with 3D Secure)
  • Bank Transfer: Virtual accounts, direct transfers
  • Mobile Money: M-Pesa, MTN, AirtelMoney, Vodafone Cash

Security Best Practices

  1. Always verify server-side before fulfilling orders
  2. Validate amounts match your expected values
  3. Check for duplicates to prevent double-processing
  4. Store API keys securely in environment variables
  5. Use webhooks for real-time notifications
⚠️

Security: Never trust client-side callbacks alone. Always verify transactions via API.


API Endpoints

EndpointMethodPurpose
/api/v2/transactionGETList all transactions
/api/v2/transaction/:idGETFetch specific transaction
/api/v2/transaction/verify/:referenceGETVerify transaction status
/api/v2/transaction_query/:searchGETSearch transactions

Testing

Use sandbox environment with test API keys:

Test Cards:

  • Success: 5060990580000217938 | CVV: 123 | PIN: 1234
  • Declined: 5060990580000217946 | CVV: 123 | PIN: 1234

Test Mode: Transactions marked as domain: "test", no real money processed.


Next Steps

  1. List Transactions - View all transactions
  2. Verify Transaction - Verify payments
  3. Fetch Transaction - Get details
  4. Search Transaction - Find transactions
  5. Transaction Statement - Generate reports