A runnable engine, wired to nine interfaces.
It runs today on simulated events and on uploaded exports. Going live means connecting the interfaces below; the engine and the policy check ship unchanged.
The shape
- 1Gates (suppress, with reasons)
- 2Classify → tier
- 3Strategist: fix · channel · holdout
- 4Policy check on every message
- 5Attribution: incremental vs control
The wiring, line by line
- Event ingestionPayment-failed and abandoned-checkout webhooksReplaces the simulator; the gateway-export importer shows the mapping today
- Decline reasonNPCI UPI response codes · ISO 8583 card codesMapped to the taxonomy (31 UPI, 14 card codes); unknown codes reported, never defaulted
- Fraud gateFraud score (RiskShield at Cashfree)event.fraudScore → gate 1
- COD / RTO gateReturn-risk score (RTO Intelligence at Cashfree)event.rtoScore → strategist
- Consent, DND, opt-outMerchant consent registry · DND scrub · STOP repliescustomer flags → gate 2 and the TRAI refinement
- Secure pay linkPayment-link API or the gateway's MCP server{link} token in the approved template
- EMI / Pay-LaterEligible-offers APITier 2 lever
- CopyA model under a daily spend budget, or approved templates onlyServer re-derives the decision; policy check on every draft
- ChannelsWhatsApp BSP · DLT SMS · voice (flagged)Channel adapters, template category per message
What a production build adds
Per-merchant configuration, role-based access for growth, finance and compliance, and an immutable store for the audit log.
BSP and DLT adapters, retry cadence against the recovery window, and cancel-on-completion across channels.
An uplift model trained on holdout outcomes to replace the fixed suppression rules - measured against them before it ships.