Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cryptoprocessing.com/llms.txt

Use this file to discover all available pages before exploring further.

Available to roles: View Limit Owner To create a payment request through the API, use the /payments/v1/requests endpoint. In the response, you will get a payment link to share with your customer. You can redirect them to this URL in the same or a new tab, or you can also embed it as an iFrame for a quick on-page checkout.

Currency codes

To create a payment request, you need to include the currency object. This is the currency you want to receive. For the list of all available cryptocurrencies and networks, see Currency codes for payment requests.
"currency": {
  "iso": "USDC",
	"network_name": "tron"
}
You can also optionally include the payment_currency object, which is the currency your customer will pay in. We recommend that you only use this if you prompt your customer for their preferred currency in your site’s interface before you share the payment request with them. You can preselect both the currency and network or just the currency. If you only include the currency ISO, your customer will be prompted to choose their preferred network. For example, if you preselect USDC, your customer will be able to choose whether they want to pay in USDC based on the Ethereum, Polygon, Solana, or any other blockchains. CryptoProcessing will still bridge the deposit to your preferred network (that you set in the currency object).
"payment_currency": {
	 "iso": "USDC",
	 "network_name": "solana"
  }

Create a payment request

1

Complete your onboarding

Complete your onboarding in your merchant dashboard and generate an API key. For more details on how to create an API key, see Get your API key.
2

Create a payment request

Send a request to the /payments/v1/requests API endpoint. For details on all the required and optional parameters, see the endpoint page.When you’re setting your payment request’s lifespan, make sure your customer will have enough time to place the payment and have their transaction confirmed. If it’s not confirmed in time, the payment request will be refunded automatically. We recommend setting a lifespan of at least 1 hour. For more details, see Payment requests with short and long lifespans.We also recommend setting the url_store, url_success and url_failed parameters to help your customer get back to your site at any stage.
3

Get the response

You will get the payment request link (payment_link) in the response:
{
  "data": {
    "id": "0196f6a1-cab2-76fb-84c7-7e9ee9ddf6b4",
    "amount": "100",
    "currency": {
      "iso": "EUR"
    },
    "status": "created",
    "life_time": 1731427200,
    "end_user_email": "[email protected]",
    "description": "Order #123",
    "payment_link": "https://payments.cryptoprocessing.com/request/0196f6a1-cab2-76fb-84c7-7e9ee9ddf6b4",
    "foreign_id": "order123_customer",
    "url_store": "https://example.com/store"
  }
}
4

Display the payment request link to your customer

Depending on your payment flow, you can:
  • navigate the customer to the payment request link in a new tab,
  • generate a QR code based on the payment request link and display it to your customer,
  • embed the payment link as an iFrame for quick on-page checkout.
5

Process callbacks

You’ll get callbacks with detailed metadata for most payment request events. For more details on payment request callbacks, see Payment requests.

Integration tips

  • For the currency object, the currency ticker is always required. If you chose a cryptocurrency, you need to also include the network name. Do not include the network name for fiat currencies. For more details on currency and network codes, see Currency codes.
  • When you set the payment request lifespan (life_time_date_time or life_time_duration), make sure your customer will have enough time to place the payment. We recommend setting the lifespan to at least 15 minutes. If your customers can pay in currencies on networks with higher confirmation times (such as BTC), consider setting the lifespan to at least an hour.
Last modified on May 11, 2026