Extension for BIP-0070 to support recurring payments



Summary:

The email thread discusses a protocol for enabling recurring payments in bitcoins, which is viewed as an extension of BIP-0070. The aim is for customers to subscribe to a service and have their wallet make recurring payments without any intervention as long as it matches the agreed payment. The process involves creating the subscription, ongoing payments, and implementation on the merchant side. In the discussion, several topics were covered such as what should happen if the client tries to fetch the PaymentRequest early or late, whether there should be an expiration date for the contract, and how to communicate an error code to the wallet when the server cancels the contract without the wallet knowing. The email also mentions possible ways to specify the contract, including adding more parameters such as start and end time but notes that this would go against simplicity.The proposed implementation of a subscription-based payment system using Bitcoin is discussed in the article. The flow is similar to BIP-0070, where the message is sent to the merchant, and simultaneously, a transaction is sent to the btcnet. The merchant sends an ACK to the wallet and checks the status of transactions on the btcnet to mark the payment as successful. The article also discusses how an optional subscription change can be implemented to address upgrade/downgrade scenarios. The steps for this are very similar to the initial registration, where the customer clicks 'upgrade', 'downgrade' and sends a message to the merchant. The merchant sends back a message to the wallet with the details of the new subscription. The wallet prompts the customer for authorization, which is either confirmed or denied, and then sends the confirmation to the merchant who confirms the change in the subscription.Cancellation of the subscription can be initiated by the customer, where they click 'cancel,' and the wallet is informed that it should not accept any new payments associated with that subscription. The wallet sends a message to the merchant to inform them about the cancellation, and the merchant confirms that the subscription was cancelled.


Updated on: 2023-06-08T01:54:44.651994+00:00