> For the complete documentation index, see [llms.txt](https://docs.0xprocessing.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.0xprocessing.com/basic/introduction-guide/payment-form.md).

# Payment form

Guide to setting up and customizing payment forms to create efficient, user-friendly, and reliable crypto transaction solutions for your customers.

## What is a crypto payment form?

Cryptocurrency payment forms differ from traditional payment methods. Clients can send funds from an exchange or a cryptocurrency wallet application.

A crypto payment form displays the payment details and the cryptocurrency address to which the funds must be sent.

The form provides the Client with a deposit address and the relevant deposit limits, exchange rates, and payment conditions.

The form should also provide the address as a QR code so Clients can open a wallet application and prepare the payment more easily.

This section explains how to present the required payment information, add QR codes to the payment form, and apply usability practices that help Clients avoid errors.

## **Payment form with a fixed amount**

A fixed-amount payment form is generated by 0xProcessing with a specified payment amount, a unique wallet address, and buttons for connecting supported Web3 wallets.

The form displays the cryptocurrency, the amount required for a successful deposit, the destination address, and a QR code that can be scanned in an exchange or wallet application.

The form also provides buttons for paying directly from a supported Web3 wallet. The Client must have funds in MetaMask or another supported Web3 wallet and connect it through WalletConnect.

![payment form](https://3581776959-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe844yi2U8Swnqhi7iE8%2Fuploads%2FNZPzXF0bTGys9XC828Km%2Fimage.png?alt=media\&token=d3e0598f-cc0f-4272-b3fd-6d0c536e93e3)

![success payment](https://3581776959-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe844yi2U8Swnqhi7iE8%2Fuploads%2F5FrpP8Fpu75IJBccVtsi%2Fimage.png?alt=media\&token=f49373e8-6390-41ee-9eb6-e947660739b8)

To manage the form after receiving the payment status, the following parameters are used:

**CancelUrl** - the address to which the Cancel button will be redirected from the payment form. The address must support SSL

**SuccessUrl** - the address to which the Back to website button will be redirected from the payment form. The address must support SSL

**AutoReturn** - true if the user needs to be automatically redirected from the form to SuccessUrl after confirming the transactions in the blockchain

**More about parameters**

## Payment form without a fixed amount

A payment without a fixed amount allows the Merchant to create a custom payment form based on the received payment data. A unique address is generated for each payment. The Client can pay any amount at their discretion, but it must be greater than the minimum amount. The payment is automatically accounted for by the system after blockchain confirmation.

![Example payment form without a fixed amount integration on Merchant side](https://3581776959-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe844yi2U8Swnqhi7iE8%2Fuploads%2FYoHA8gbX9zAXacvfSCJ8%2Fimage.png?alt=media\&token=eda6fbe6-cd2f-4b29-80ae-3db8b1bf2a2b)

To display the QR code as an image, add the QR code data to the `src` attribute of the `img` tag.

**More about payment data**

### Static wallet

When a Client requests a top-up on the Merchant platform, the Merchant sends a request to 0xProcessing to generate the Client's wallet. 0xProcessing returns the Client's wallet address, and the Merchant can convert it into a QR code using a trusted QR code generation tool. This data can be embedded in the Client's account on the Merchant's platform.

![Example static wallet integration on Merchant side](https://3581776959-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe844yi2U8Swnqhi7iE8%2Fuploads%2FfcWMePFiGU7PD8gdP8fi%2Fimage.png?alt=media\&token=e0b29001-4ef1-42a2-90a6-03644119e8c7)

#### How to create QR code for static wallet?

Use a trusted QR code generation tool and encode the wallet URI.

The following example shows a QR code URL that includes a wallet address: <https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=bitcoin:3AFaCnqriLNxj15kqtp5Pxn8puHfuqbX7W&choe=UTF-8>

You can use this link directly inside the `<img>` tag:

```markup
<img src="https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=bitcoin:3AFaCnqriLNxj15kqtp5Pxn8puHfuqbX7W&choe=UTF-8">
```

![QR example](https://3581776959-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe844yi2U8Swnqhi7iE8%2Fuploads%2FqszRIP8unOT5gmTT9iP8%2Fimage.png?alt=media\&token=3f953a86-3db7-4fad-a144-4fd579070ba6)

**chs** - QR code size (`150x150` is used as an example) **cht** - chart type (`qr` is required for QR codes) **chl** - the data encoded in the QR code (`bitcoin:3AFaCnqriLNxj15kqtp5Pxn8puHfuqbX7W` is used in the example above; additional parameters can be used according to the BIP-0021 standard documentation: <https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki>) **choe** - encoding type of the QR code data (`UTF-8` is required by the BIP-0021 standard)

When the Client scans the QR code, they can open a wallet application and make the deposit.

### Invoices

The Invoices feature allows Merchants to create and manage cryptocurrency payment requests for customers. Users can generate invoices with customized products or services, share them via a unique payment link or email, and track payment statuses in real time. Customers can review invoice details, complete the payment using their preferred crypto wallet, and receive a payment receipt upon successful transaction. Merchants can also edit, duplicate, or manage existing invoices directly from the platform. [More details](broken://spaces/4rL5sciKBfKPypeSSY82)

![](https://3581776959-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe844yi2U8Swnqhi7iE8%2Fuploads%2FKEKBKghgsL5El0a9MvUe%2Fimage.png?alt=media\&token=27221bf4-957a-416b-a3aa-42a1a6d3cda5)

![](https://3581776959-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe844yi2U8Swnqhi7iE8%2Fuploads%2Fh8cf1wvKyEkPhzXbMOQP%2Fimage.png?alt=media\&token=0f1f4965-859d-4cf5-b988-616ee790ed38)

### Payment form generated by the link

Include the merchant account ID, payment currency, amount, SuccessUrl, and CancelUrl in the link. The merchant account ID is required, and the URLs determine where the Client is redirected after payment:

```
https://app.0xprocessing.com/payment/create/?MerchantId=_____&Currency=_____&Amount=_____&AmountUsd=____&BillingID=_____&ClientID=_____&SuccessUrl=_____&CancelUrl=_____&AutoReturn=_____
```

If the payment details are not specified in the link, the Client can enter them in the form.

![payment creation form](https://3581776959-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe844yi2U8Swnqhi7iE8%2Fuploads%2Fd1XUkgkIh1vVYoHzITJI%2Fimage.png?alt=media\&token=5ac1bc52-d706-453f-9bc0-a094429d0714)

![payment form](https://3581776959-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe844yi2U8Swnqhi7iE8%2Fuploads%2FRzYIOaugxOH6dUOewOCd%2Fimage.png?alt=media\&token=9aae6c0d-3499-4330-8b9e-5d0d91cf8b03)
