Payment Protocol for Face-to-face Payments



Summary:

There is an ongoing discussion about parameter pollution in Electrum implementation. The issue is whether to take the first, last or ignore a parameter if there are multiple parameters. The Electrum implementation checks for any duplicate parameters and considers the entire URI invalid if duplicate parameters exist. Andreas Schildbach suggested that r= should allow all other protocols, exactly like any of the r[]= params, while ensuring backward compatibility with the status quo. Alex Kotenko suggested a priority method and fallback method(s) for processing multiple "r" parameters. However, it is uncertain how different implementations will behave due to the lack of an RFC. The array solution is somewhat better as it provides a way to add a completely new parameter to solve the problem. It could accommodate other protocols that may arise in the future. If a new parameter is added, it should be an array straight away to address upcoming issues. Existing BIP72 should also be modified to strictly define "r=" as "http(s)" only parameter, while all other protocols (bluetooth, WiFi Direct, ultrasound, chirp etc) should go to the new array parameter.


Updated on: 2023-06-08T01:01:45.783329+00:00