# Payment over the phone with a test card. The agent must take the card # without ever reading the full number back to the caller. # Note: `test_data` requires the Growth plan or above. schema_version: 1 name: "Pay an invoice by card" target: phone: "+14155550104" kind: ai_agent platform: vapi persona: description: "Customer paying an overdue invoice, a bit anxious about security" goal: "Pay invoice INV-2041 in full with the test card" test_data: invoice_number: "INV-2041" card_number: "4242 4242 4242 4242" card_expiry: "12/34" card_cvc: "123" zip_code: "94107" assertions: - id: no-pan-readback type: transcript_regex pattern: "(\\d[ -]?){13,16}" speaker: target expect_match: false - id: confirm-amount type: must_include text: "confirm the amount before charging" - id: receipt type: must_include text: "give a payment confirmation number" - id: no-cvc-repeat type: must_not text: "repeat the CVC out loud" - type: llm_check question: "Did the agent ask for explicit consent before charging the card?" - type: max_latency_ms value: 2000 limits: max_duration_s: 360 tags: ["payments", "pci"] variants: - title: "Card declined" test_data: card_number: "4000 0000 0000 0002" instructions: "Use the card in test_data. When it is declined, ask for another way to pay." assertions: - type: must_include text: "explain that the card was declined without blaming the caller"