Reference
//
Confirm payment intent wi...
🔒 Private label — contact sales. Requires a private-label entitlement on your API client.
Confirm payment intent with OTP
Security
oauth2ClientCredentials(Required scopes: payments:write)
Payment intent identifier from creation step
Example:"69669e16ced2648564b4b2e4"
Intent secret from creation step
Example:"14c417861a5ac32643bf9bafabbc017cda482b26649ee08c34f86e57c896eea8"
- Mock serverhttps://developer.boyahq.com/_mock/v2/openapi/payments/confirm
- Productionhttps://api.boyahq.com/v2/payments/confirm
- Sandboxhttps://sandbox.api.boyahq.com/v2/payments/confirm
curl -i -X POST \
https://developer.boyahq.com/_mock/v2/openapi/payments/confirm \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'business_id: string' \
-H 'org_wallet_ref: string' \
-d '{
"paymentIntentId": "69669e16ced2648564b4b2e4",
"intentSecret": "14c417861a5ac32643bf9bafabbc017cda482b26649ee08c34f86e57c896eea8",
"nonce": "bb2d557b90f189c45daa103a7530782b",
"otp": "947302",
"transaction": {
"source": "82622342945EE8C0-DUMMY",
"payment_type": "CARD",
"group": "mpesa",
"amount": 10,
"currency": "KES",
"accno": 693345001,
"notes": "Test a Payment via intents flow.",
"categoryid": "123XYZ",
"description": "Pay Biwott",
"receivername": "Biwott",
"receiver": 790462100,
"ref": "M-CF4X4LG8IIE",
"txRef": "M-CF4X4LG8IIE",
"bank": {
"BANKNAME": "string",
"BANKCODE": "string",
"ACCOUNTNAME": "string",
"SWIFTBIC": "string",
"BANKCITY": "string",
"BANKCOUNTRY": "string"
},
"physical_receipt": "string",
"other_receipts": "string",
"is_a_request": true,
"initial": false,
"timestamp": "string",
"expense_tags": [
"string"
],
"expense_id": "string",
"vendor": "string",
"vendor_id": "string",
"wallet_id": "P8756",
"requisition_reference": "string",
"sms": "",
"checksum": ""
}
}'Payment confirmed successfully
Transaction reference for confirmed payment
Example:"TXN_20260113_ABC123"
Response
{ "success": true, "transactionRef": "TXN_20260113_ABC123", "message": "Payment processed successfully", "processedAt": "2026-01-13T14:30:00.000Z" }