payment_intents:read, payment_intents:write, and treasury:read.
Sandbox end-to-end example
1
Create a payment intent
Use a durable order identifier as
external_reference. Send the same idempotency key when retrying this exact request.2
Complete the sandbox payment
Simulation is accepted only by sandbox credentials and never moves funds.
3
Verify the payment
Retrieve the intent and require
status to equal completed before granting access to the purchased resource.4
Reconcile the treasury
Confirm that the payment appears in deposits and that the treasury balance reflects the completed settlement.
Production collection
For the current controlled beta, use a NorthFond-hosted payment link for live mobile-money collection. The hosted checkout gathers the customer phone and network, starts the provider request, and updates the underlying payment intent. Do not fulfill from a checkout redirect,awaiting_payment, approved, or processing. Fulfill only after a signed payment_intent.completed webhook, then retrieve the payment intent and reconcile its treasury deposit using your own durable external_reference.
Status handling
See Webhooks, Idempotency, and Operational readiness before enabling live traffic.