Add BTC Payment Method
Add ability to accept BTC payments. A preliminary specification follows:
Phase I
- Ability to set a receiver address per customer
- Ability to set a receiver address per specific invoice(s)
- For phase I, the user will need to generate the addresses manually from an external wallet
- Payment screen will display the send-to address as well as QR code that can be scanned
- Customer can view transaction status (confirmations) from the portal
- Customer will receive email notification(s) when the transaction status is updated
- Staff portal can also view transaction status and list of pending transactions
- Once transaction is confirmed, the payment is updated as "paid".
- As with other payment methods/gateways, BTC payments can be enabled/disabled for any customer
Phase II
- All specs from phase I will be supported in addition to the following features
- Ability to generate a wallet that portal can use to generate new addresses dynamically
- A new BTC address can be created (optionally) per payment
- A new BTC address can also be created per customer (for the portal wallet).
Considerations
- For phase I, there are no AML/KYC implications as the wallet is external and we are only setting BTC addresses generated by the external; wallet. For those wallets that are "managed", the party running that platform are the responsible party for AML/KYC.
- For phase II, there may be KYC implications if GoToMyAccounts is managing or hosting the wallet. This may not be something that we will want to take on. In that case, we may opt for integration with something like blockchain.info (or others) to support generating BTC addresses on the fly. I would invite comments to this issue if anyone has suggestions for handling BTC address generation while still respecting privacy.
Edited by gtmadev