Skip to main content

Create Order

POST 

/order

Use this endpoint to initiate a new order.

Request​

Body

    shopId integerrequired

    The unique identifier for the shop creating the order. How to get your shopId

    order objectrequired

    Container for order-related information.

    orderNumber stringrequired

    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.

    amount stringrequired

    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.

    currency stringrequired

    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.

    cryptoTokenStandard string

    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.'

    customerId stringnullable

    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'.

    firstName stringrequired

    Possible values: <= 255 characters

    First name of the customer.

    lastName stringrequired

    Possible values: <= 255 characters

    Last name of the customer.

    middleName stringnullable

    Possible values: <= 255 characters

    Middle name of the customer, if applicable.

    phone stringnullable

    Customer's phone number, in international format.

    email emailnullable

    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.

    entryMode stringnullable

    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

    instrumentType stringnullable

    Possible values: [card, bank_transfer, wallet, crypto_wallet, voucher]

    Specifies the instrument type. See available instrument types

    providerCode stringnullable

    Determines which payment provider should be used to process the payment.

    acquirerCode stringnullable

    Identifies the specific acquirer responsible for processing payments.

    transferType stringnullable

    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.

    dataEntryMode stringnullable

    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.

    autoCapture booleannullable

    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

    timeLimit date-timenullable

    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.

    success urinullable

    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.

    failure urinullable

    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.

    webhookUrl urinullable

    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.

    paymentSettingsAlias stringnullable

    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
    alias stringnullable

    A code for customizing the payment page's appearance, set through technical support.

    format stringnullable

    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​

Order successfully created

Schema
    data objectrequired
    orderNumber stringrequired

    A unique identifier for the order, generated by the merchant, and specific to each shopId.

    paymentLink urirequired

    URL directing the user to the payment interface.

Loading...