Create Order
POST/order
Use this endpoint to initiate a new order.
Request​
- application/json
Body
The unique identifier for the shop creating the order. How to get your shopId
order objectrequired
Container for order-related information.
Possible values: <= 255 characters
A unique identifier for the order that you must generate on your side. The orderNumber
should be specific to the shopId
or your company (depending on your company's settings) and must be unique for every order and payout within each shopId
or your company (depending on your company's settings).
The orderNumber
may contain only Latin letters (uppercase and lowercase), numbers, and hyphens. Hyphens cannot be at the beginning or end of the string.
cost objectrequired
Holds the financial details of the order.
The total order amount, formatted as a decimal string with a period (.) as the decimal separator. For fiat currencies, the number of decimal places should comply with the ISO 4217 standard. If the currency is crypto, specify the amount to match the cryptocurrency's decimal precision.
Specifies the currency. For fiat currencies, use the ISO 4217 alphabetic code format consisting of 3 uppercase letters, such as 'USD' or 'EUR'. For cryptocurrencies, use their common symbols like 'BTC', 'ETH', 'USDT', etc. For a complete list of supported cryptocurrencies, please refer to Cryptocurrency Reference Guide.
Possible values: [ERC20
, TRC20
, BEP20
, SPL
]
The standard of the cryptocurrency token. This field is required for tokens (such as USDT) and not required for native cryptocurrencies (BTC, ETH, SOL, TRX, LTC).
customer object
Container for customer-specific information. You can configure the order to automatically use the customer’s details (firstName, lastName, middleName, phone, and email) as the payer’s information, saving the customer from re-entering these details on the payment page. This behavior is controlled by the setting 'Use customer data as payer information,' which applies across the entire merchant company and can be adjusted in the merchant’s Dashboard under Settings (left menu) -> Company tab -> 'Use customer data as payer information.'
Possible values: <= 255 characters
A unique identifier for the customer. The customerId
can either be unique within a shop or across the entire company/merchant. To determine the setting for your shop, check the admin panel of your merchant account under the settings menu in the field 'External customer ID unique for'.
Possible values: <= 255 characters
First name of the customer.
Possible values: <= 255 characters
Last name of the customer.
Possible values: <= 255 characters
Middle name of the customer, if applicable.
Customer's phone number, in international format.
Possible values: <= 255 characters
Email address of the customer.
paymentSettings objectnullable
Container for payment method details. Using paymentSettings
, you can select the method to process the payment.
To fill out the paymentSettings
object and obtain other information about payment methods available for your shop ID, use Retrieve Payment Methods endpoint.
Possible values: [cnp
, card_present
, moto
, recurring
, saved_card
, redirect
]
This field specifies the method by which payment data is entered and should only be used when instrumentType
== card
. Payment Entry Modes for instrument type card
Possible values: [card
, bank_transfer
, wallet
, crypto_wallet
, voucher
]
Specifies the instrument type. See available instrument types
Determines which payment provider should be used to process the payment.
Identifies the specific acquirer responsible for processing payments.
Possible values: [swift
, sepa
, bank_wire
, card2card
, pix
, sbp
, online_banking
, open_finance
, virtual_account
, qris
, promptpay
, thaiqr
, spei
, vietnambanksqr
, vietqr
, khipu
, paysafecard
, multibanco
, bancontact
, blik
, p24
, rapidtransfer
, upi
, thb_qr
, sberbank
, giropay
, eps
, account2card
]
Applicable only when instrumentType
is bank_transfer
. Specifies the type of bank transfer. See details about transferType. If instrumentType
is bank_transfer
and transferType
is not provided, but there is only one possible transferType
configured for the shop, it will be selected automatically by the system.
Possible values: [qr
, redirect
, h2h
, instruction
, iframe
, html
]
Methods for customer data entry to process payment:
redirect - the customer enters payment information on the provider's (acquirer's) page via redirect;
h2h (host2host) - the customer enters payment information on our payment page;
qr - the customer scans a QR code and enters information on the aggregator's side.
instruction - provides payment instructions to the customer, such as manual payment steps.
iframe - embeds the payment form directly to the payment page, offering a seamless user experience without redirecting the customer to a new page.
html - the payment details or form are delivered as HTML content.
Default value: true
Set to true
or omit this parameter for one-stage payments where funds are automatically captured. Set to false
for two-stage payments requiring manual capture. How to work with two-stage payments
Specifies the time limit for the payment in RFC 3339 format, including the UTC zone. The default payment time limit is 15 minutes.
If no active transaction is initiated by the payer within the first 15 minutes, the order will automatically be cancelled with the status cancelled
.
If a transaction is initiated within this time, the order will remain active for an additional week. However, if a final successful status is not received from the payment provider within this extended period, the order will ultimately be cancelled.
Warning: We strongly advise against using this field unless absolutely necessary. Use of the timeLimit
field is recommended only if you fully understand its implications.
redirectUrls objectnullable
Container for URLs to redirect to post-payment.
URL to redirect the user to after a successful payment completion. If not specified, the default will be the URL of the shop that created the order.
URL to redirect the user to in the event of a payment failure. If not specified, the default will be the URL of the shop that created the order.
Possible values: Value must match regular expression ^https:\/\/.*
This parameter allows you to specify a webhook URL for receiving notifications about order status changes for this specific order. If provided, notifications about the order status changes will be sent to this URL instead of the general webhook URL set for the shop.
Use this field to specify which alias should be applied for this order. The alias ensures that the correct payment configuration is used.
This value is obtained from the paymentSettingsAlias
field in the Retrieve Payment Methods endpoint.
For more detailed information about how to use aliases, refer to the Alias Documentation
paymentPageDesign objectnullable
A code for customizing the payment page's appearance, set through technical support.
Possible values: [redirect
, iframe
]
Defines the method of integrating the payment form on your website. 'redirect' takes the user to a hosted payment page, ensuring a separate and secure environment for transaction processing. 'iframe' embeds the payment form directly within your website, offering a seamless and integrated user experience without navigating away from your site. Information about redirect, Information about iframe
Responses​
- 200
Order successfully created
- application/json
- Schema
- Example (from schema)
Schema
data objectrequired
A unique identifier for the order, generated by the merchant, and specific to each shopId
.
URL directing the user to the payment interface.
{
"data": {
"orderNumber": "56573FDFVFDBWF",
"paymentLink": "https://someurlwhereyoucanspendyourmoney.com"
}
}