To receive payment in cryptocurrency, follow these steps:

  1. Create a Charge object.
  2. Provide the user with a cryptocurrency address to which they will send the cryptocurrency.
  3. The customer must send cryptocurrency to the provided address before the request expires. Note that charges will always be in the store's currency. You can create a charge with a fixed price or use "no_price" for donations and payments without a set amount.

The Charge object

Attributes


id string
Unique identifier for the charge object


business_name string
Name of the business


business_id string
Unique identifier for the business associated with the charge object


reference string
Unique reference string associated with the charge object


hosted_url string
URL where the checkout page is hosted


deeplink string
URL to redirect the user to the Busha Mobile app to complete payment


price_fixed boolean
Specifies whether the price of the charge is fixed or variable


callback_url string
URL to which a response will be sent after the charge has been processed


meta object
Additional metadata associated with the charge object i.e name, email


expires_at string
The date and time the charge expires in UTC format


type string
The type of transaction, which is could be a checkout, an invoice, or a payment link


local_amount string
The amount of the payment in the local currency


local_currency string
The local currency in which the payment was made


timeline array
An array of timeline objects that detail the status and time for different events associated with the charge. Each timeline object has the following attributes:

  • status: string
    The status of the event (e.g., COMPLETED, PENDING, or NEW)
  • context: string
    Additional context or details about the event
  • created_at: string
    The date and time the event occurred in ISO 8601 format

address array
An array of address objects that detail the cryptocurrency address associated with the charge. Each address object has the following attributes:

  • currency_id: string
    The unique identifier of the cryptocurrency (e.g., USDT)
  • address: string
    The cryptocurrency address where the payment is to be sent
  • chain: string
    The blockchain network where the address is located (e.g., ETH, TRX, or BSC)
  • memo : string
    The unique identifier to where the address is located

payment_threshold array
An array of thresholds set to accept payments that are above or below your listed price.

  • overpayment_absolute_threshold: string
    how much under the price before rejecting payment
  • overpayment_relative_threshold: string
    how much percentage under the price before rejecting payment
  • underpayment_absolute_threshold: string
    how much over the price before rejecting payment
  • underpayment_relative_threshold : string
    how much percentage the price before rejecting payment

supported_assets array
An array of assets supported for payment or transactions on this charge.

  • currency_id: string
    The unique identifier of the asset (e.g., USDT)
  • name: string
    The name of the asset (e.g Bitcoin)
  • chains: array
    This is an array of strings depicting the different chains supported for the asset.

payment array
An array of payment objects that detail the payment information associated with the charge. Each payment object has the following attributes:

  • local_amount: string
    The amount of the payment in the local currency
  • chain: string
    This the chain for the asset in which the transaction was made
  • local_currency: string
    The local currency in which the payment was made
  • amount: string
    The amount of the payment in the cryptocurrency
  • currency: string
    The unique identifier of the cryptocurrency used in the payment (e.g., USDT)
  • transaction_id: string
    The unique identifier of the transaction on the blockchain network
  • transaction_hash: string
    The unique hash of the transaction on the blockchain network
  • detected_at: string
    The date and time the transaction was detected in ISO 8601 format
  • status: string
    The status of the payment (e.g., COMPLETED, PENDING, or NEW)
  • traded: boolean
    Specifies whether the cryptocurrency was traded
  • confirmation: integer
    The number of confirmations the transaction has received on the blockchain network
  • created_at: string
    The date and time the payment was created in ISO 8601 format
  • updated_at: string
    The date and time the payment was last updated in ISO 8601 format
  • payment_threshold array
    An array of thresholds set to accept payments that are above or below your listed price.
    • overpayment_absolute_threshold: string
      how much under the price before rejecting payment
    • overpayment_relative_threshold: string
      how much percentage under the price before rejecting payment
    • underpayment_absolute_threshold: string
      how much over the price before rejecting payment
    • underpayment_relative_threshold : string
      how much percentage the price before rejecting payment

pricing array
An array of pricing objects that detail the exchange rate for each cryptocurrency. Each pricing object has the following attributes:

  • currency_id: string
    The unique identifier of the cryptocurrency (e.g., BTC, ETH, or USDT)
  • amount: string
    The amount of the cryptocurrency
  • rate: string
    The exchange rate of the cryptocurrency in the local currency
  • is_local: bool
    This shows that the currency is the local amount (true)