API Documentation
English
English
  • Authorization
  • Request signing
  • List of error codes
  • Webhooks
  • IFrame order
  • Payment acceptance widget
  • Telegram MiniApp
  • API Reference
    • Base actions
      • Check x-api-signature
      • Fetch available currencies
      • Current price request
      • Search for operations by TX hash
      • Check address format
      • Get transaction history
    • Advanced account
      • Get advanced balances of user
      • Get advanced balance by id
      • Get payment address for advanced balance top-up
    • Blockchain addresses
      • Search by id
      • Transactions tracking
      • Search by address
      • Meta-data
      • Address Transactions
      • Last transaction of the address
      • Getting a list of PayIn addresses
      • Getting a list of business addresses
      • Get recurrent addresses
      • Getting a list of PayOut addresses
      • Creating a new business wallet address
      • Creating a new PayOut wallet address
    • Personal addresses
      • User creation
      • Getting an address
      • Getting a list of addresses
      • Get user
      • Adding a trusted address
      • Getting a list of trusted addresses
      • Deleting a trusted address
    • Orders
      • Creating an order
      • Getting information about an order
      • Getting a list of orders
    • Withdraws
      • Getting a commission for making a withdrawal
      • Sync withdraw
      • Async withdrawal
      • Receiving withdrawal information
    • Invoices
      • Create an invoice for payment
      • Invoice information request
      • Getting a list of invoices
    • Auto swaps
      • Create auto-swap
      • Find auto-swap by ID
    • Withdrawals 2.0
      • Create auto-withdrawal
      • Find auto-withdrawal by ID
      • Additional confirmation of the withdrawal
    • Bridge
      • Getting limits for cross-chain transfer
      • Getting information about cross-chain transfer
      • Commission token formation
      • Creating a cross-chain translation
    • Swaps
      • Getting limits for cross-chain exchange
      • Getting information about cross-chain exchange
      • Commission token formation
      • Creation of a cross-chain exchange
    • Recurring payments
      • Creating a payment link
      • Get a payment link
      • Get payment links by user
      • Disabling the payment link
      • Create a subscription
      • Getting a subscription
      • Cancel Subscription
      • Creating a payment
    • KYT
      • Check transaction risks
      • Check withdrawal risks
      • Check withdrawal risks for provided address
    • Partners API
      • Create user
      • Get user
      • Get all users
      • Creating an organization
      • Getting a list of organizations
      • Getting the user's advance balances
      • Replenishment of the user's advance balance
      • Get general tariffs
      • Create/update individual tariff
      • Get individual tariffs
      • Create API key
      • Get API keys
      • Delete API key
    • Webhooks
      • Get webhook
      • Get webhook (extended)
    • Orphan transactions
      • Get a transaction
      • Get a list of transactions
      • Get a commission token
      • Withdrawal
    • Address book
      • Add an address
      • Delete an address
      • Update the address
      • Get a list of addresses
Powered by GitBook
On this page
  • Description
  • Payment acceptance
  • Payouts
  • Connection
  • Available options
  • Parameters for accepting payments using invoices
  • Parameters for payment with a personal address

Payment acceptance widget

PreviousIFrame orderNextTelegram MiniApp

Last updated 16 hours ago

Description

The widget allows you to set up payment acceptance with minimal integration. On your part, you will need to configure the reception of webhooks and place the widget on your application page.

Payment acceptance

Depending on the selected type of payment acceptance, we will send the appropriate type of webhook

Orphan transaction webhook. In order to handle cases of sending a payment with the wrong currency, contact your personal manager to issue a webhook about the orphan transaction

Invoices

For each new payment, the user receives a new invoice with a unique address that is valid for a limited time. The invoice can be issued in crypto or fiat currency, with a fixed amount or without it for free payment.


Personal addresses

Payment acceptance allows you to create a list of crypto addresses for each payer. These addresses are permanently assigned to the user.

Payouts

Payouts can be made using the widget.

Connection

The connection is made using the HTML tag <iframe/>

Example:

<iframe 
    allow="clipboard-read; clipboard-write"
    src="https://widget.onchainpay.io/181a197e-3b00-4359-8298-6097aeb52c69"
></iframe>

The attribute allow="clipboard-read; clipboard-write" is required so that your customers can copy the payment address by clicking the "Copy" button

Available options

The parameters are passed to the query

To insert data into the query, it must be escaped. In JavaScript, this can be done using the function encodeURIComponent

const payinCryptoInvoiceId = encodeURIComponent('#12345');

Parameters for accepting payments using invoices

Parameter
Example
Description

payinCryptoInvoiceAmount

(decimal) 123.45

Amount to be paid

payinCryptoInvoiceCurrencies

(string) USD,EUR

Currency to be converted

payinCryptoInvoiceId

(string) #12345

Payment ID

payinCryptoInvoiceDesc

(string) Payment payment 12345

Payment description

payinCryptoCurrenciesTo

(string) USDT_bsc,BNB,USDD_tron

List of coins available for payment

extUserId

(string) user1234567

Merchant's payer ID (required parameter)

If you do not pass the payinCryptoInvoiceCurrencies parameter, the user will be prompted choose from all available currencies to recalculate its amount

Multiple currencies can be separated by commas in the parameter, then the user will be offered a choice only from the specified currencies

One currency can be transferred, then it will be selected, without the possibility for the user to change

The payinCryptoInvoiceAmount parameter will work if one currency is passed to payinCryptoInvoiceCurrencies

You can specify multiple coins/networks separated by commas in the parameter

Only the ticker of the coin is available, in this case all networks that have this coin will be available Example: USDT,BNB,ETH

It is possible to specify the coin in a specific network, the separator is an underscore Example: USDT_tron,BNB_bsc,ETH_ethereum

When specifying the extUserId parameter, a personal address is reserved for the specified user. If the specified personal user is not exist, it will be created.


Parameters for payment with a personal address

Parameter
Example
Description

extUserId

(string) user1234567

Merchant's payer ID (required parameter)

The personal users created from the widgets will be isolated between the widgets

If you get the payment address for the user X from the widget A, it will not be the same as for the same user X from the widget B


If you want to get a user X through the Personal payment API, then you must add the widget ID to the beginning

User X: user12345 Widget ID: 00000000-0000-0000-0000-000000000000

Client ID to receive via API will be: 00000000-0000-0000-0000-000000000000@user12345

Webhook when paying an invoice
Webhook when adding funds to a personal address