API Documentation
English
English
  • Authorization
  • Request signing
  • List of error codes
  • Webhooks
  • IFrame order
  • Payment acceptance widget
  • Telegram MiniApp
  • API Reference
    • Base actions
      • Check x-api-signature
      • Fetch available currencies
      • Current price request
      • Search for operations by TX hash
      • Check address format
      • Get transaction history
    • Advanced account
      • Get advanced balances of user
      • Get advanced balance by id
      • Get payment address for advanced balance top-up
    • Blockchain addresses
      • Search by id
      • Transactions tracking
      • Search by address
      • Meta-data
      • Address Transactions
      • Last transaction of the address
      • Getting a list of PayIn addresses
      • Getting a list of business addresses
      • Get recurrent addresses
      • Getting a list of PayOut addresses
      • Creating a new business wallet address
      • Creating a new PayOut wallet address
    • Personal addresses
      • User creation
      • Getting an address
      • Getting a list of addresses
      • Get user
      • Adding a trusted address
      • Getting a list of trusted addresses
      • Deleting a trusted address
    • Orders
      • Creating an order
      • Getting information about an order
      • Getting a list of orders
    • Withdraws
      • Getting a commission for making a withdrawal
      • Sync withdraw
      • Async withdrawal
      • Receiving withdrawal information
    • Invoices
      • Create an invoice for payment
      • Invoice information request
      • Getting a list of invoices
    • Auto swaps
      • Create auto-swap
      • Find auto-swap by ID
    • Withdrawals 2.0
      • Create auto-withdrawal
      • Find auto-withdrawal by ID
      • Additional confirmation of the withdrawal
    • Bridge
      • Getting limits for cross-chain transfer
      • Getting information about cross-chain transfer
      • Commission token formation
      • Creating a cross-chain translation
    • Swaps
      • Getting limits for cross-chain exchange
      • Getting information about cross-chain exchange
      • Commission token formation
      • Creation of a cross-chain exchange
    • Recurring payments
      • Creating a payment link
      • Get a payment link
      • Get payment links by user
      • Disabling the payment link
      • Create a subscription
      • Getting a subscription
      • Cancel Subscription
      • Creating a payment
    • KYT
      • Check transaction risks
      • Check withdrawal risks
      • Check withdrawal risks for provided address
    • Partners API
      • Create user
      • Get user
      • Get all users
      • Creating an organization
      • Getting a list of organizations
      • Getting the user's advance balances
      • Replenishment of the user's advance balance
      • Get general tariffs
      • Create/update individual tariff
      • Get individual tariffs
      • Create API key
      • Get API keys
      • Delete API key
    • Webhooks
      • Get webhook
      • Get webhook (extended)
    • Orphan transactions
      • Get a transaction
      • Get a list of transactions
      • Get a commission token
      • Withdrawal
    • Address book
      • Add an address
      • Delete an address
      • Update the address
      • Get a list of addresses
Powered by GitBook
On this page
  1. API Reference
  2. Orders

Creating an order

PreviousOrdersNextGetting information about an order

Last updated 1 year ago

Create an order for payment

Creating an order

post
Header parameters
x-api-public-keystringOptional

Public API-key

x-api-signaturestringOptional

Signing the request body with a private API-key

Content-typestringOptional

Request content type

Example: application/json
Body

Request body for creating a payment order

advancedBalanceIdstringRequired

Identifier of the advance balance for writing off commissions

Example: 2db11a99-a1cb-44f1-ba3b-ee41d80f53be
currencystringRequired

Ticker of the coins in which the payment will be made

Example: USDT
networkstringRequired

The network of the coin in which the payment will be made

Example: ethereum
amountstringRequired

Payment amount

Example: 123.12
paymentTolerancePercentstringOptional

Acceptable underpayment percentage. For example, you created an order for 100 USDT. If the parameter is set to 1.5%, the order will be completed successfully after payment of 98.5 USDT

Example: 1.5
errorWebhookstringOptional

URL to send webhook on error or order expiration

Example: https://merchant.domain/webhooks/fail
successWebhookstringOptional

URL to send webhook on successful payment

Example: https://merchant.domain/webhooks/success
returnUrlstringOptional

URL to be placed on the payment page as "Return to Store" links

Example: https://merchant.domain/
orderstringRequired

Order ID in the merchant system

Example: Order #123456
descriptionstringOptional

Order Description

Example: Payment by order #123456
lifetimeintegerRequired

Order lifetime in seconds, available values from 1800 (30 minutes) to 43200 (12 hours)

checkRisksbooleanOptional

Whether to check incoming transactions for this order

externalUserIdstringOptional

The external user ID in your system. When specifying the identifier, the functionality of the "Personal addresses" section will be used - a static address will be reserved for this user, but the webhook will be sent to the URL specified in this request

Example: 10099
payerEmailstringOptional

Payer's email address. If it is specified alongside with the 'externalUserId' parameter, a user with such an email will be created in the "Personal addresses" section

Example: site@domain.com
Responses
200Success
application/json
post
POST /api-gateway/make-order HTTP/1.1
Host: ocp.onchainpay.io
Content-Type: application/json
Accept: */*
Content-Length: 455

{
  "advancedBalanceId": "2db11a99-a1cb-44f1-ba3b-ee41d80f53be",
  "currency": "USDT",
  "network": "ethereum",
  "amount": "123.12",
  "paymentTolerancePercent": "1.5",
  "errorWebhook": "https://merchant.domain/webhooks/fail",
  "successWebhook": "https://merchant.domain/webhooks/success",
  "returnUrl": "https://merchant.domain/",
  "order": "Order #123456",
  "description": "Payment by order #123456",
  "lifetime": 1,
  "checkRisks": true,
  "externalUserId": "10099",
  "payerEmail": "site@domain.com"
}
200Success
{
  "success": true,
  "response": {
    "status": "pending",
    "link": "https://payment.domain/a39a97fd-f0a1-461d-9603-13cdaa54b859",
    "amount": "123.12",
    "paymentTolerancePercent": "1.5",
    "advancedBalanceId": "2db11a99-a1cb-44f1-ba3b-ee41d80f53be",
    "currency": "USDT",
    "network": "ethereum",
    "address": "0x00000005707Bf50EfA35a2db020eDe9Ac0780b9f",
    "addressId": "e5b79674-72aa-46c5-9bc0-6c71176bbd61",
    "tag": null,
    "orderId": "a39a97fd-f0a1-461d-9603-13cdaa54b859",
    "clientOrderId": "Order #123456",
    "externalUserId": "10099",
    "payerEmail": "site@domain.com",
    "description": "Payment by order #123456",
    "successWebhook": "https://merchant.domain/webhooks/success",
    "errorWebhook": "https://merchant.domain/webhooks/fail",
    "returnUrl": "https://merchant.domain/",
    "expiresAt": "2025-05-14T14:09:50.463Z",
    "createdAt": "2025-05-14T13:39:50.463Z"
  }
}