Skip to main content

Pay-ins

Last updated: 2026-07-17

Choose a market and inbound method from Catalog and availability, then use either a hosted or direct flow.

Hosted pay-in (H2P)

  1. Initialize the pay-in with the selected market, amount, method, unique merchantReference, and customer return URL.
  2. Store the returned payment order ID and your reference.
  3. When a payment URL is returned, send the customer to it.
  4. Treat the customer return as navigation only. Confirm the result from the latest payment status or a verified webhook.

Hosted checkout owns the customer-facing payment step. Your integration still owns reconciliation.

Direct pay-in (H2H)

  1. Discover any bank or mobile money operator required by the method.
  2. Create the pay-in with the detail block that matches paymentMethod.
  3. Continue the returned redirect or payment instructions.
  4. If the response requires OTP authorization, collect the token and authorize that payment order.
  5. Reconcile the latest status through payment reads and webhooks.

Never send detail blocks for a different payment method. For method-specific steps, see Bank transfer, Mobile money, Mobile money transfer, and Vouchers.

API reference