Inara Crest Technologies — home
Cart, empty

Popular searches

BlogSoftware

Mobile money and payment integrations: designing for reconciliation

By Micah Ondiwa, Senior Software Engineer 1 min read

Payment integrations fail in subtle ways. Callbacks, idempotency and daily reconciliation keep money and records in step.

Accepting payments in an application — mobile money, cards or bank transfers — looks simple until a confirmation is lost or arrives twice.

Treat callbacks as the source of truth

Payment providers notify your system asynchronously. Record each notification, verify it came from the provider and update the payment status from it.

Make processing idempotent

Providers may send the same notification more than once. Use the provider's transaction ID to ensure a payment is applied only once.

Handle the in-between states

Payments can be pending, failed, reversed or partially completed. Show users accurate status and do not release goods or services on a pending payment.

Reconcile daily

Compare your records with the provider's statement every day. Investigate differences while they are fresh.

Protect credentials

Store API keys securely on the server, never in mobile apps or web pages, and rotate them if exposed.

Communicate clearly

Send receipts automatically and give customers a reference they can quote.

See our payment and systems integration work.

About the author

Micah Ondiwa

Senior Software Engineer

Micah Ondiwa writes about software engineering — application architecture, APIs and integration, data and AI-assisted development, and reliable delivery.

All blog