Skip to content

Confirm payment intent with OTP

Request

🔒 Private label — contact sales. Requires a private-label entitlement on your API client.

Confirm payment intent with OTP

Security
oauth2ClientCredentials(Required scopes: payments:write)
Headers
org_wallet_refstring

Organization wallet reference, defaults to "1" if not provided

business_idstringrequired

Business identifier for the request

Bodyapplication/jsonrequired
paymentIntentIdstringrequired

Payment intent identifier from creation step

Example:"69669e16ced2648564b4b2e4"
intentSecretstringrequired

Intent secret from creation step

Example:"14c417861a5ac32643bf9bafabbc017cda482b26649ee08c34f86e57c896eea8"
noncestringrequired

Nonce from creation step

Example:"bb2d557b90f189c45daa103a7530782b"
otpstringrequired

One-time password (6 digits)

Example:"947302"
transactionobject(ConfirmPaymentTransactionDto)required

Complete transaction details

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": ""
    }
  }'

Responses

Payment confirmed successfully

Bodyapplication/json
successbooleanrequired

Payment confirmation status

Example:true
transactionRefstringrequired

Transaction reference for confirmed payment

Example:"TXN_20260113_ABC123"
messagestringrequired

Confirmation message

Example:"Payment processed successfully"
processedAtstringrequired

Processing timestamp (ISO 8601)

Example:"2026-01-13T14:30:00.000Z"
Response
{ "success": true, "transactionRef": "TXN_20260113_ABC123", "message": "Payment processed successfully", "processedAt": "2026-01-13T14:30:00.000Z" }