summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoss Nicoll <jrn@jrn.me.uk>2014-04-26 16:59:23 +0100
committerRoss Nicoll <jrn@jrn.me.uk>2014-04-26 16:59:23 +0100
commitd8bd74baf841f0d82a1b2b8af8ece37df50b06d4 (patch)
treec9e217b34cecf37ac1361a18a49c150c56e5d621
parent694314d296cff6871b9e58c2b2b8f07305cb8a4a (diff)
Added note about handling multiple copies of a Payment message, to ensure resend is safe
in case of a transport layer failure.
-rw-r--r--bip-0070.mediawiki5
1 files changed, 5 insertions, 0 deletions
diff --git a/bip-0070.mediawiki b/bip-0070.mediawiki
index 84a8559..b541cbc 100644
--- a/bip-0070.mediawiki
+++ b/bip-0070.mediawiki
@@ -156,6 +156,11 @@ If the customer authorizes payment, then the Bitcoin client:
# If PaymentDetails.payment_url is specified, POST a Payment message to that URL. The Payment message is serialized and sent as the body of the POST request.
Errors communicating with the payment_url server should be communicated to the user.
+The merchant's server should handle receiving multiple copies of the same Payment
+message in response to a single PaymentRequest. This is required to ensure that in
+case of a transport level failure during transmission, recovery is possible by
+re-sending the Payment message. The endpoint URL must remain valid for at least
+the same period of time as the original PaymentRequest.
PaymentDetails.payment_url should be secure against man-in-the-middle
attacks that might alter Payment.refund_to (if using HTTP, it must be