Bonaventure OgetoBy Bonaventure Ogeto|

Freelance Payment Integration Proposal Template

A payment integration proposal should include: 1) Understanding of the client's requirements (countries, payment methods, use case), 2) Defined scope with explicit exclusions, 3) Deliverables list with acceptance criteria, 4) Fixed-price or time-and-materials quote, 5) Payment schedule (50% upfront, 50% on delivery), 6) Timeline with milestones, 7) Maintenance/support terms post-launch.

Discovery Questions Before Writing the Proposal

Ask these before you scope:

  • Which country or countries will the system accept payments in? (Nigeria, Kenya, Ghana, South Africa?)
  • Which payment methods do your customers use? (Card, M-Pesa, bank transfer, USSD, mobile money?)
  • Is this a one-time purchase or recurring subscription?
  • Does the business need to pay out to vendors or users (marketplace model)?
  • What is the expected transaction volume per month?
  • Do you have an existing website/app or are we starting from scratch?
  • Does your business have a Paystack account already?
  • Who will maintain this after launch — your team or will you hire us?

Proposal Template

# Paystack Integration Proposal — [Client Name]
## Prepared by: [Your Name/Company] | [Date]

---

## Understanding
[Client name] needs a payment integration for [product] serving [country] customers.
Customers will pay via [payment methods]. Estimated volume: [X] transactions/month.

## Scope — What Is Included
- Paystack account setup and test mode configuration
- Payment initialization (POST /transaction/initialize)
- Webhook receiver with HMAC-SHA512 signature validation
- Order fulfillment on charge.success event
- Idempotency to prevent double fulfillment on duplicate webhooks
- Email receipt to customer on successful payment
- Admin dashboard view: transaction list with reference, amount, status
- Test suite: webhook validation, idempotency, declined card handling
- Deployment to [production environment] with environment variable configuration
- Go-live checklist and API key handover documentation

## Scope — What Is NOT Included
- Custom checkout UI design (standard Paystack Popup will be used)
- Accounting system integration (Xero, QuickBooks)
- Multi-currency support beyond [primary currency]
- Customer refund initiation UI (refunds can be issued via Paystack dashboard)
- Mobile app (web only)

## Deliverables
1. Working payment flow in test mode — Acceptance: test payment completes, order marked paid in DB
2. Webhook handler deployed — Acceptance: charge.success event updates order status within 5 seconds
3. Test suite — Acceptance: all tests pass, coverage report attached
4. Go-live documentation — Acceptance: client can independently rotate API keys and update webhook URL

## Timeline
- Week 1: Setup, backend integration, webhook handler
- Week 2: Testing, bug fixes, test suite, documentation
- Week 3: UAT, go-live, handover

## Investment
- Integration fee: KES [amount] (fixed price)
- Payment schedule: 50% on proposal acceptance, 50% on go-live
- Optional monthly maintenance retainer: KES [amount]/month

## Post-Launch Support
14 days of bug-fix support included at no charge after go-live.
Ongoing maintenance available at KES [amount]/month.

Learn More

Key Takeaways

  • Define scope explicitly — list what is NOT included to avoid scope creep.
  • Request 50% upfront before starting work on any payment integration project.
  • Include acceptance criteria for each deliverable so payment disputes are avoided.
  • Offer a monthly maintenance retainer in every proposal — many clients say yes.
  • Always include a "go-live checklist" as a deliverable so handover is clearly defined.

Frequently Asked Questions

Should I charge fixed price or time and materials for payment integrations?
Fixed price for well-defined projects (standard checkout, known stack). Time and materials for complex projects with unclear requirements (marketplace, multi-country, custom checkout). If in doubt, scope a discovery/requirements phase separately (fixed fee), then quote the build phase once requirements are clear.
What should I do if the client asks to change scope after I've started?
Use a Change Request process. Document the requested change, the additional time and cost, and get written approval before doing the work. "Sure, I can add M-Pesa — that's additional scope. I'll send a change request for KES 25,000 and 5 additional days." Clients who resist this process are clients who will dispute your final invoice.
How do I handle a client who refuses to pay the upfront 50%?
Do not start work without upfront payment on payment integration projects. You are providing specialized, high-value work in a regulated domain. If the client refuses all upfront payment, offer 30% upfront at minimum. Document the refusal to pay upfront as a risk signal — clients who refuse deposit often dispute final payment too.

Ready to build real-world apps?

Join the McTaba Labs full-stack marathon (4 months full-time · 6 months part-time). Learn M-Pesa, USSD, and WhatsApp engineering while shipping 8 production apps.

Apply to the McTaba Marathon