Two-node payments workflow producing the evidence a PSP presents in an APP-fraud reimbursement liability review. Stage 1 scores a declared payee-name match under a versioned algorithm. Stage 2 binds that match result, the warning text and severity shown, and the consumer's declared action into a signed, hash-chained session receipt -- what the check found and what happened next, not who is at fault.
score_payee_name_match{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "score_payee_name_match",
"arguments": {
"account_name": "J Smith Consulting Ltd",
"reference_name": "James Smith Consulting Limited",
"match_threshold": 2,
"close_match_threshold": 5
}
},
"id": 1
}
build_vop_session_receipt{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "build_vop_session_receipt",
"arguments": {
"session_id": "SESS-2026-0718-0042",
"attempts": [
{
"attempt_id": "ATT-1",
"match_result": {
"source": "score_payee_name_match",
"algorithm_version": "vop-namematch-1.0.0",
"score": 4,
"match_band": "CLOSE_MATCH"
},
"warning_shown": {
"text": "The name on this account is a close, not exact, match to the name you entered.",
"severity": "warning"
},
"consumer_action": "proceeded",
"asserted_at": "2026-07-18T14:22:03Z"
}
]
}
},
"id": 2
}