Launch Checklist

Use this checklist after implementing checkout in your own app. Verify UAT behavior first, then complete production configuration and platform approval.

Work through the numbered sections in order. Complete sections 1 and 2 in UAT before configuring production in sections 3 and 4. Repeat payment and settlement verification with the production release build. Platform-specific guides provide the detailed release steps; return here to finish the remaining checks.

1. Checkout and Operator Experience

  • Active-location selection available in settings and shown on the payment screen.
  • Selected location revalidated after login, merchant changes, or routing updates.
  • Checkout blocked until location selection and platform readiness succeed.
  • Amount and merchant identity shown clearly; payment results and receipts distinguish a hold from a captured sale.
  • Partial approval and surcharge decisions handled using returned transaction data.
  • Decline, cancellation, missing response, and pending states handled without falsely showing success.
  • Supported accessibility and merchant education flows tested for the app's distribution path.

Use the canonical iOS or Android response-handling implementation.

2. Recovery, Webhooks, and Settlement

  • Operation IDs saved durably before submitting methods that accept them.
  • Lost or duplicate responses reconciled through the recovery flow, without blind charge retries.
  • Webhook signatures verified over the raw body.
  • Deliveries and jobs persisted atomically before acknowledgment; worker failures remain retryable.
  • Duplicate and out-of-order events cannot repeat side effects or regress recorded state.
  • Processor batch behavior implemented, including the Fiserv managed cycle or supported manual close/release flow.
  • Transaction totals reconciled against batch submission and processor reports.

3. Merchant and Configuration

  • Production dashboard access granted by Koard, and the processor configuration assigned in production.
  • If you need PIN debit, the processor's PIN keys requested early. With some processors this takes several weeks. Contactless without PIN needs none.
  • Merchant name, tax ID, MCC, and US address validated.
  • Terminal uses the processor's live credentials, preserving leading zeros.
  • Location belongs to the intended merchant and links the correct terminal.
  • Production SDK client key and merchant login credentials supplied through trusted channels.
  • Privileged backend API keys remain on the server, with the required permissions.

If production configuration is missing, repeat your chosen dashboard or API setup with production values, then continue to section 4. The UAT merchant is separate.

4. App and Platform

iOS Android
Released SDK installed through SPM, CocoaPods, or the released XCFramework. Released SDK resolved from Maven Central or the supplied release AAR.
Bundle ID, approved Tap to Pay capability, and signing profile agree. Signed, non-debuggable release build with minification verified.
Explicit merchant account linking, reader preparation, and readiness implemented. KiC package visibility, kernel installation, NFC lifecycle, enrollment, and readiness implemented.
Distribution entitlement granted and App Store review passed. Developer options disabled for enrollment and payments; Google Play declarations complete.

Going to Production on iOS and Going to Production on Android walk through each platform's reviews, release build, and store submission.

5. Operations

  • Controlled live verification agreed with the processor or Koard contact.
  • Support owner can investigate with merchant, location, terminal, environment, transaction, and event IDs.
  • Logs and support exports exclude credentials and sensitive payment data.
  • Monitoring covers payment outcomes, unresolved orders, webhook failures, and settlement discrepancies.
  • A rollout owner and a way to pause new payment initiation are assigned.

Request integration support through support@koard.com.

Next Step

When every applicable check passes, go live and monitor payment outcomes, webhook delivery, and settlement. Resolve any failed check before you expand the rollout.