DevelopersDocsMBXNewsroomHelp Centre
Log InSign Up
HomeDevelopersDocsMBXNewsroomHelp CentreLog InSign Up


The Button

  • Overview
  • HTML
  • JavaScript
  • React
  • Crypto Operations
  • Invisible Money Button
  • Paymail Signatures
  • Paymail Encryption



API v2


When one of your users makes a payment, you need to know the status of that payment. The payment goes through several different status in its lifetime. When the status of a payment changes, we ping your webhook URL.

The status of a payment can be one of these things:

PENDINGtx has been built but not yet signed
RECEIVEDtx has been signed, broadcasted, and is valid
COMPLETEDtx has been confirmed in a block
FAILEDtx has been rejected by the network

Your webhook URL must accept a POST request with JSON. The object we send you looks like this:

{ secret, payment }

The payment object looks like this:

idstringUnique Money Button id of the payment.
buttonIdstringThe identifier specified in the button used to pay.
buttonDatastringThe data indicated in the button.
statusstringStatus of the payment.
txidstringid of the BSV transaction.
normalizedTxidstringNormalized id of the BSV transaction.
amountstringTotal amount paid.
currencystringCurrency of the button.
satoshisstringTotal amount expressed in Satoshis.
outputsarrayOutput details
userIdstringThe Money Button user ID of the sender.
rawtxstringThe fully signed raw BSV transaction in hex format.

Note that merely receiving a webhook does not necessarily indicate a successful payment. The payment object has a status, and status can be DOUBLE_SPENT indicating an earlier payment is no longer valid.

Where the outputs look like this:

typestring ('address', 'userId', 'script')
HomeMB for DevelopersMBXNewsroomHelp Centre

Buenos Aires, Argentina - Tel Aviv, Israel - Toronto, Canada

@ 2022 MoneyButton All rights reserved