Introducing the V2 Receive Payments API
5 stars based on
You blockchain api v2 secure an extended public key xPub and we generate a unique, unused corresponding address for your customers to send payment to. We notify you of payments to that address instantly using a callback URL of your choosing. One of the difficulties involved with receiving bitcoin payments is the need to generate a unique address for each new user or invoice.
These addresses need to monitored and stored securely. The blockchain receive payments API takes care of the generation and monitoring of addresses. We will notify your server using a simple callback whenever a payment is received.
The easiest way to blockchain api v2 secure receiving payments is to open a Blockchain Wallet at https: You should create a new account inside your wallet exclusively for transactions facilitated by this API. This method creates a unique address which should be presented to the customer.
For any payments sent to this address, you will be sent an HTTP notification. This is done so you do not show the same address to two different customers. However, all funds will still show within the same account. As defined in BIP 44, wallet software will not scan past 20 unused addresses. Given enough requests from this Blockchain api v2 secure that don't have a matching payment, you could generate addresses past this horizon, which would make spending funds paid to those addresses quite difficult.
For this reason, this API will return an error and refuse to generate new addresses blockchain api v2 secure it detects it would create a gap of over 20 unused addresses. If you encounter this error, you will either need to blockchain api v2 secure to a new xPub within the same wallet is fineor receive a payment to one of the previous 20 created addresses.
Please note, this will not increase the number of addresses that will be monitored by our servers. Using this feature will require you understand the gap limitation and how to handle it for advanced users only:.
You will be sent an HTTP notification immediately when a transaction is made, and subsequently when it reaches the number of confirmations specified in the request. You are required to specify the request's notification behaviour. Setting the behaviour to 'DELETE' will delete the request after the first relelvant notification is sent to your callback address. Setting the behaviour to 'KEEP' will send additional notifications every time a transaction with the specified confirmations and operation type is sent to or from the address in the request.
Operation type is an optional parameter indicating whether the address will be monitored for received or spent transactions, or both. By default both operation types are monitored. You may also optionally specify the number of confirmations a transaction reaches before being sent a notification. Note that you will receive a notification at 0 confirmations i. This method allows you to request callbacks when a new block of a specified height and confirmation number is added blockchain api v2 secure the blockchain.
Height is an optional parameter indicating at which height you would like to receive a block notification - if unspecified, this will be the height of the next block to arrive. Confs is another optional parameter indicating how many confirmations a block should have when a notification is sent. When a blockchain api v2 secure is received by a blockchain api v2 secure address, or by an address monitored by a balance update request, blockchain.
For balance update callbacks and additional notification will be sent once the transaction reaches the specified number of confirmations. A block notification is sent every time a new block is blockchain api v2 secure to the blockchain, and matches the height and blockchain api v2 secure of confirmations set in the notification request. If the server responds with anything else, or nothing, the callback will be resent again for every new block approximately every 10 minutes up to times 1 week.
Check the index gap between last address paid to and the last address generated using the using the checkgap endpoint. Use the xpub you want to check and your API key like so:. Use the exact callback in question and your API key like so:.
A custom secret parameter should be included in the callback URL. The secret will be passed back to the callback script when the callback is fired, and should be checked by your blockchain api v2 secure for validity. This prevents someone from trying to call your servers and falsely mark an invoice as 'paid'. The Demo Apps below include examples of how to do this. If you would like convert payments received in Bitcoin to fiat currency quickly use a bitcoin address from an exchange wallet.
A double spend occurs when a malicious user spends the same BTC twice. A payment that initial appears successful could be reversed at a later date. This is counteracted by waiting for the transaction to be included in the blockchain and reaching a number of confirmations.
It is recommended you acknowledge the transaction at zero blockchain api v2 secure but only trust the transaction after one confirmation. See the PHP demo callback.
There is no limit to the number of receiving address which can be generated as long as the 20 address gap blockchain api v2 secure is metthe service is designed to monitor millions of addresses.