Initiate a payment (API key)
API-key-authenticated variant of payment initiation. Supports single-currency flows only — currency and target_currency must match. org_id and user_id are injected automatically from the authenticated API key, so you do not need to include them in the request body.
Headers
Bearer JWT for user-facing flows (Bearer eyJraWQ...), or the literal string NONE when authenticating via API key.
"Bearer eyJraWQ..."
API key for server-to-server flows, or the literal string NONE when authenticating via JWT.
"pcx_abc123_xxxx"
Body
Same as PaymentInitiationRequest but org_id and user_id are injected from the authenticated API key — do not include them. Only same-currency flows are supported on this endpoint.
Must equal amount (same-currency only).
"KES"
Must equal currency.
"KES"
"KE"
mobile_money, bank_transfer, card payin, payout