Release 28.04.2026
Changelog
Orders
Added middleName to payer personal data:
- Added
payer.personalData.middleNameto the Create Order request.
Added middleName to payer personal data:
payer.personalData.middleName to the Create Order request.Cryptocurrency Payment Structure Unification (Breaking):
The cryptocurrency payment parameters in the Create Order request have been restructured for clarity and to group merchant-side data under a dedicated recipient object. See the updated Cryptocurrency Reference Guide for full details.
cryptoPayment object. Its fields have been moved and renamed as described below.order.cost.tokenStandard — the token standard of the customer's wallet cryptocurrency (for example, TRC20, ERC20, BEP20). Replaces the former cryptoPayment.walletTokenStandard. Optional. Should be provided for token-based cryptocurrencies when using crypto_currency_code in order.cost.currency; not needed for native cryptocurrencies or when using asset_code format.recipient object with the nested merchantBalance object, which declares the currency of the merchant's balance. The merchant balance currency may be fiat or crypto and is independent from order.cost.currency (the currency the customer pays in).
recipient.merchantBalance.currency — the merchant balance currency code (replaces the former cryptoPayment.accountCurrency.currency). Required when the merchantBalance object is provided.recipient.merchantBalance.tokenStandard — the token standard of the merchant balance currency (replaces the former cryptoPayment.accountCurrency.networkTokenStandard). Optional. Should be provided when merchantBalance.currency is a token-based cryptocurrency; ignored for fiat currencies.Migration example:
Before:
{
"order": {
"cost": {
"amount": "20",
"currency": "USDT"
}
},
"cryptoPayment": {
"walletTokenStandard": "TRC20",
"accountCurrency": {
"currency": "USDC",
"networkTokenStandard": "TRC20"
}
}
}
After:
{
"order": {
"cost": {
"amount": "20",
"currency": "USDT",
"tokenStandard": "TRC20"
}
},
"recipient": {
"merchantBalance": {
"currency": "USDC",
"tokenStandard": "TRC20"
}
}
}
E-wallet Payer Data Support:
walletData object to the payer field in the Create Order endpoint.walletId, walletType, walletName, walletHolderName.Added tokenStandard to cost for partial operations:
The tokenStandard field has been added to the cost object in the following endpoints, mirroring order.cost.tokenStandard for consistency across the order lifecycle:
POST /order/capture — cost.tokenStandardPOST /order/refund — cost.tokenStandardAdded tokenStandard to cost:
p2p.cost.tokenStandard to the Create P2P Transaction request. Optional.crypto_currency_code in p2p.cost.currency; not needed for native cryptocurrencies or when using asset_code format.Added tokenStandard to payout.cost:
payout.cost.tokenStandard to the Create Payout Request endpoint. Optional. Should be provided for token-based cryptocurrencies when using crypto_currency_code in payout.cost.currency; not needed for native cryptocurrencies or when using asset_code format.payout.cryptoTokenStandard field is unchanged.New Instrument Type mobile_top_up:
mobile_top_up to the list of supported values for instrumentType. This instrument type represents payments made by topping up a mobile phone number. See Payment and Payout Methods for details.New Card Brands humo and uzcard:
humo and uzcard to the list of supported card brands.paymentSystem in GET /order/{shopId}/{orderNumber} payment detailspaymentSystem in GET /payouts/{shopId}/{payoutNumber} payout detailsBank Transfer Payer Data Support:
bankTransferData object to the payer field in the Create Order endpoint.instrumentType = bank_transfer, merchants can now pass the payer's bank transfer details (such as bankCode, accountName, accountNumber, etc.) in payer.bankTransferData.Need Action automatic resolution:
need_action status caused by a provider response timeout can now be resolved automatically. If the provider's response is eventually received.POST /api/v1/order/reject is now deprecated. Use POST /api/v1/order/cancel instead. The reject endpoint will be removed in a future release.Added a new documentation page — Customer and Payer Data — covering:
customerId → email + phone → new record)rejected order status has been removed.Shop Hosted Integration (DeepLink Support):
deepLink property to the operationReference object in Order Retrieve Order Details, Payout Retrieve Payout Status responses and webhooks Order Callback and Payout Callback.deepLink details and examplesSamsung Pay Support:
samsung_pay to the list of supported values for entryMode in the Create Order and Retrieve Payment Methods endpoints.failed when an order was not created because the Create Order endpoint returned a synchronous error (e.g., 412 Precondition Failed).Signature Verification Logic Update:
We have updated the requirements for generating the control signature to support Unicode characters in callback payloads (e.g., in customer names).
When generating the signature on your side to compare with api-notification-sign, ensure that your JSON encoding preserves Unicode characters and does not escape slashes.
For updated examples, please refer to the Configuring Callback documentation.
PHP: Add JSON_UNESCAPED_UNICODE to your json_encode flags.
$message = json_encode($phpInput, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
Python: Use ensure_ascii=False in json.dumps.
message = json.dumps(data, separators=(',', ':'), ensure_ascii=False)
Backward Compatibility:
We recommend applying this update to all integrations. It ensures correct signature verification for Unicode data and is fully backward compatible for ASCII-only payloads.
Removed Endpoints:
POST /customers/crypto-wallet — Create Crypto Wallet for a CustomerGET /customers/{customerId}/crypto-wallet — Retrieve Customer's Crypto WalletsCustomer and Payer Data Handling:
customer and payer objects are provided in the Create Order request. This behavior applies only when the company setting "Use customer data as payer information" is enabled:
customer and payer objects will be mergedpayer object take priority over corresponding fields from customerpayer will be supplemented from customer dataCryptocurrency Payments:
instrumentType: crypto_wallet). You must provide at least one of the following fields in the customer object:
customerId — to use an existing customeremail — to identify or create customer by emailphone — to identify or create customer by phoneShop Hosted Integration:
dataEntryMode: instruction with paymentPageDesign.format: shop_hosted, the payer object with required fields must be provided in the request. If payer data is insufficient, a validation error will be returned.operationReference object via webhook and Retrieve Order Details response.Retrieve Order Details:
payer object to the payment items in the payments array.instrumentType: crypto_wallet details (OrderPaymentDetailsCryptoWalletResponse) with:
recipientCryptoAddress: The cryptocurrency wallet address of the recipient.recipientCryptoAddressMeta: Additional metadata for the recipient address.senderCryptoAddressMeta: Additional metadata for the sender address.Create Payout Request:
instrumentType: crypto_wallet:
blockchain: Name of the blockchain.tokenStandard: Token standard.senderCryptoAddressMeta: Additional metadata for the sender address.tronscanUrl: Direct URL to view transaction details.amlRisk: Anti-Money Laundering risk level.