BIP 77 mentions using the BIP 21 req- prefix to compel the sender to use payjoin.
It looks like bip21/bitcoin_uri supports this handling of this, but the implied semantics in BIP 77 are that the sender should not fall back in case the receiver compelled payjoin usage, but this distinction is not exposed by the bip 21 parsing or PayjoinExtras struct, so the sender state machine doesn't know if pj or req-pj was used.
Secondly, on the theoretical/spec side of things, how should expiry be interpreted in the event req-pj was specified?
BIP 77 mentions using the BIP 21
req-prefix to compel the sender to use payjoin.It looks like bip21/bitcoin_uri supports this handling of this, but the implied semantics in BIP 77 are that the sender should not fall back in case the receiver compelled payjoin usage, but this distinction is not exposed by the bip 21 parsing or PayjoinExtras struct, so the sender state machine doesn't know if
pjorreq-pjwas used.Secondly, on the theoretical/spec side of things, how should expiry be interpreted in the event
req-pjwas specified?