Point-of-Sale (PoS)


Before you get started, all you need to know is that it takes only three steps to integrate MixPay into the Point-of-Sale (PoS) system. They are as follows.

  1. Create the payment link.
  2. Convert the payment link to a QR code.
  3. Users scan the QR code to pay, and the Point-of-Sale (PoS) system looks to query the payment results.

More about MixPay, you can check this  for reference.


This is the demo of MixPay.

For Point-of-Sale (PoS) developers

Before you start, you need to know that through the API of MixPay, the crypto paid by the user is settled directly to your Mixin bot, MixPay user or Mixin Wallet.

Mixin bot and MixPay user (ID of MixPay user is equal to Mixin ID) both have the same parameter, called UUID. This UUID is very important and determines the destination of the money received. So this UUID needs to be configurable. The assets in your Mixin bot are programmable, and the assets in MixPay you can withdraw and manage easily.

Next, we start with a detailed guide.

  1. There is no need to register MixPay to use MixPay API. You can just use MixPay API with your preferred languages. MixPay API click here .

  2. Also, you can use this bot(7000101422) to get the Mixin UUID; just send the Mixin ID in the chat window to the bot. It's simple, and no programming is required. Also, you can get this UUID via this API , and you can click here  for the tutorial.

  3. The ID of cryptocurrency you need to acquire. The type of assets is used for settlement and quote. Also, you can click here  for the detail about supported assets.

  4. You can use this API  to integrate with MixPay. The specific parameters are as below. And you can convert this URL to a QR code, and the customers scan the QR code to pay.

And the traceId you can generate randomly. If you use Golang, the sample code is like below.

package main
import (
func main() {
id := uuid.New()

Assuming the traceId is dd9c3e04-a5d2-11ec-b909-0242ac120002 generated by the sample code, the full sample request and parameters are below.

Example request - Accepting Payments

You can copy the link and open it in a browser:



payeeId*requiredStringThree settlement modes are supported, regular user, robot, and multisig group, so it is usually the Mixin UUID of a regular user or robot. You can also specify the multisigId of a sub-account.
settlementAssetIdoptionalStringassetId of settlement cryptocurrency. Settlement assets you prefer. If left blank, the payee will receive the cryptocurrency the user pays for.
quoteAssetIdoptionalStringassetId of quote cryptocurrency.
quoteAmountoptionalNumericAmount of cryptocurrency received, if left blank, the user can enter manually.
remarkoptionalStringPayment remark viewable by the payee.
traceIdoptionalStringUUID, used to prevent double payment.

Then you can covert the payment link generated by the above step to a QR code. Maybe you can use some library depending on your program language.

Step 3 - Look query the payment results

Then you can use this API  to loop query payments result; the parameter is the traceId you generated. And the response is the status of payment. The status has three parameters, unpaid, failed and success.

For Point-of-Sale (PoS) customers

  1. Register Mixin Messenger and add MixPay(7000104220 ) bot.
  2. Provide your Mixin ID and settlement asset to Point-of-Sale (PoS) developers.
  3. Manage assets conveniently in the MixPay bot, like withdrawing.
  4. You can also check the transaction details and balance and review the flow at the MixPay bot.

Q & A

You can contact Robin(Mixin ID: 26930) directly if you have any further questions.