- Your customer sees a convenient webpage that guides them through the payment process.
- You receive funds in the currency you requested, regardless of the customer’s payment currency.
- CryptoProcessing takes care of conversion and issues automatic refunds for underpayments and overpayments.



Currency selection
When creating a payment request, you specify the expected currency — the fiat or cryptocurrency you want to receive. Your customer chooses the payment currency at checkout, or you can set it explicitly via thepayment_currency parameter on the /payments API endpoint.
If the customer pays in a currency that’s different from the expected currency (for example, you want to receive EUR, but the customer pays in USDC), CryptoProcessing converts the funds automatically, so you still receive the exact amount and currency you requested. To do this, CryptoProcessing locks the exchange rate for up to 1 hour once the customer clicks Proceed to payment on the payment request page.
The total amount to pay never changes after the rate lock. It may include the processing fee for the selected currency if you pass the processing fee to the customer.
Refunds are issued in the same currency the customer used to pay the request.

Lifespan
The lifespan is the time limit you set for a payment request. The customer’s transaction must be both created and confirmed within this lifespan, or the payment request expires and its status changes to . If the payment currency differs from the expected currency, a rate lock also applies — for 1 hour, or for the remaining lifespan if that’s shorter. For example, if the customer starts the payment process with only 30 minutes left on the lifespan, the rate lock only lasts those 30 minutes and doesn’t extend the lifespan. But if the customer starts paying with, say, 10 hours left, a 1 hour rate lock applies and shortens their window: their transaction must now be both created and confirmed within that 1 hour, not the full 10 hours. When the payment request has less than 1 hour left before expiration, the customer sees a countdown timer on the webpage.
Further reading
Integration guide for payment requests
Learn how to integrate the payment requests flow into your site
Test cases for payment requests
Walk through all scenarios to make sure your integration works correctly
/payments/v1/requests
API endpoint
payment_request
API callback