Voice Tools

Payment Processing

Collect PCI-compliant payments from callers during a voice call via Stripe or a custom payment provider.

Payment Processing

The Payment Processing tool lets your voice agent collect payments from callers during a live call. Payments are processed through your configured provider (Stripe or custom) with PCI compliance — recording is automatically paused during card collection if enabled.

How It Works

Caller: "I'd like to pay my invoice."
Agent: "Sure! Your invoice total is $149.99. Would you like to proceed with the payment?"
Caller: "Yes, go ahead."
-> Agent calls collect_payment with amount=149.99
-> Recording pauses (if configured)
-> Payment processed via Stripe
Agent: "Payment of $149.99 has been processed successfully. Your confirmation number is ending in 4242."

Configuration

{
  "paymentProcessingEnabled": true,
  "paymentProvider": "stripe",
  "paymentCurrency": "USD",
  "paymentMaxAmountCents": 100000,
  "paymentApiKey": "sk_live_...",
  "paymentPauseRecording": true,
  "paymentConfirmationMessage": "Payment of {amount} processed. Card ending in {last4}.",
  "paymentFailMessage": "Payment could not be processed. Please try again or use a different card."
}
SettingTypeDefaultDescription
paymentProcessingEnabledbooleanfalseEnable payment processing
paymentProviderstringstripePayment provider: stripe or custom
paymentCurrencystringUSDCurrency code
paymentMaxAmountCentsinteger100000Max single transaction in cents ($1,000.00)
paymentApiKeystringProvider API key
paymentApiSecretstringProvider API secret
paymentApiEndpointstringCustom provider endpoint URL
paymentPauseRecordingbooleantruePause recording during payment collection
paymentConfirmationMessagestringSuccess message template. Variables: {amount}, {last4}, {currency}
paymentFailMessagestringFailure message

LLM Tool

Tool name: collect_payment

Process a payment from the caller.

Parameters:
  amount_dollars: float (payment amount in dollars)
  description: string (what the payment is for)

Returns:
  Success: "Payment of $149.99 processed. Card ending in 4242."
  Failure: "Payment could not be processed. Please try again or use a different card."

Validations:

  • Amount must be greater than $0
  • Amount cannot exceed paymentMaxAmountCents
  • Insufficient funds or card errors return the configured failure message

Security

  • PCI Compliance: Card details are handled by the payment provider, never stored by thinnestAI
  • Recording Pause: When paymentPauseRecording is enabled, call recording stops during payment and resumes after
  • Card Safety: The agent never reads back the full card number — only confirms the last 4 digits

Example — Create Agent with Payment Processing

curl -X POST https://api.thinnest.ai/v1/agents \
  -H "Authorization: Bearer $THINNESTAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Billing Agent",
    "model": "gpt-4o",
    "instructions": "You help customers pay their invoices. Always confirm the amount before processing. Never read back the full card number — only the last 4 digits.",
    "voiceEnabled": true,
    "transcriber": { "provider": "deepgram", "model": "nova-2-conversationalai" },
    "voice": { "provider": "deepgram", "voiceId": "aura-2-thalia-en" },
    "paymentProcessingEnabled": true,
    "paymentProvider": "stripe",
    "paymentCurrency": "USD",
    "paymentMaxAmountCents": 100000,
    "paymentPauseRecording": true
  }'

On this page