Skip to main content
POST /api/payments/v1/requests HTTP/1.1
Host: app.cryptoprocessing.com
X-Processing-Key: text
X-Processing-Signature: text
Content-Type: application/json
Accept: */*
Content-Length: 161

{
    "amount": "100",
    "currency": {
      "iso": "EUR"
     },
    "life_time_duration": 360000,
    "end_user_email": "[email protected]",
    "end_user_reference": "guest_user_17",
    "description": "Order #123",
    "foreign_id": "order123_customer",
    "url_store": "https://example.com/store"
}
{
  "data": {
    "id": "0196f6a1-cab2-76fb-84c7-7e9ee9ddf6b4",
    "amount": "100",
    "currency": {
      "iso": "EUR"
    },
    "status": "created",
    "life_time": 1731427200,
    "end_user_email": "[email protected]",
    "end_user_reference": "guest_user_17",
    "description": "Order #123 payment",
    "payment_link": "https://pay.cryptoprocessing.com/request/0196f6a1-cab2-76fb-84c7-7e9ee9ddf6b4",
    "foreign_id": "order123_customer",
    "url_store": "https://example.com/store"
  }
}

Authorizations

X-processing-key
string
header
required

Your API key.

X-processing-signature
string
header
required

The request body, signed with HMAC-SHA512 with your secret key. You can find the secret key in your account.

Body

application/json
amount
string
required

Payment request amount that you want to receive from the customer.

Example:

"100"

currency
object
required

The currency you want to receive.

life_time_duration
integer
required

Payment request lifetime (duration in seconds). Include either this parameter or life_time_date_time. At least one of these fields is required.

Example:

3600

life_time_date_time
integer
required

Payment request lifetime (exact expiry timestamp). Include either this parameter or life_time_duration. At least one of these fields is required.

Example:

1773768946

payment_currency
object

The currency your customer will pay in. This can only be a cryptocurrency. You can set both the currency and network or just the currency.

end_user_email
string

If the amount the customer pays does not match the amount that you set for the payment request, CryptoProcessing will send an email to this address instructing the customer on how they can receive a refund. If they paid less, they will receive a full refund. If they paid more, the customer will get instructions on how to be refunded the difference.

end_user_reference
string

Permanent ID of the customer in your system. Must not contain personal data, such as the user's name or email address. Include this customer's data in the sender_data object.

Example:

"guest_user_17"

sender_type
enum<string>

Whether the sender is a natural person (natural) or a legal entity (legal).

Available options:
natural,
legal
sender_data
object

If the sender is a natural person, include their first_name, last_name and date_of_birth. If the sender is a legal entity, include the legal_name and country_of_registration.

description
string

Payment request description that the customer will see.

Example:

"Order #123"

foreign_id
string

Unique foreign ID in your system. Must not contain personal data, such as the user's name or email address.

Example:

"order_123"

url_store
string

URL of the store page. The customer can click a button on the payment form to return to this URL (for example, if they change their mind or want to pick a different payment method). We recommend setting this to the URL of the checkout page.

Example:

"example.com/store"

url_success
string

URL of the success page. The customer will be able to return to this address once the payment is completed.

Example:

"example.com/success"

url_failed
string

URL of the failed payment page. The customer will be able to return to this address if the payment fails.

Example:

"example.com/fail"

Response

200 - application/json

OK

data
object
Last modified on March 25, 2026