Инструменты страницы
Request for order registration with pre-authorization, shopping cart, Online Lending (registerPreAuth.do)
The request used for registering an order on payment system side is registerPreAuth.do
.
Requests for registration of an order (with- and without pre-authorization) pass the cart data in the orderBundle
parameter.
- Prices of all the items within the cart must be specified in one currency (if the currency of an item is to be specified); and this currency must match the currency of the order.
- The sum of all line items in the shopping cart must be equal to the order amount.
- A passed value of the
quantity
parameter is to be checked for each line item. If the value is too large or too small, the request will result in an error. - All the parameters of the cart are to be checked for meeting the required format (length).
If at least one of the above conditions is not met, the order is considered incorrectly generated and the payment gateway returns an error.
Request parameters
The request parameters are given in table below.
Name | Type | Mandatory | Description |
---|---|---|---|
|
AN..30 | Yes |
Login of the service account of the merchant. If login and password are used for authentication during token registration, then the |
|
AN..30 | Yes |
Merchant's service account password. If login and password are used for authentication during token registration, then the |
|
ANS..32 | Yes |
Number (identifier) of the order in the store system. It is unique for every store within the Payment Gateway. If the order number is generated on the Payment Gateway side, this parameter is not mandatory. |
|
N..12 | Yes |
Payment amount in minimum currency units (kopecks, cents, etc.). Must match the total amount for all line items in the shopping cart. Before summing up all line items, the product of quantity and price for each good item is rounded to an integer. If the value is followed by 5 or greater after the decimal point, it is rounded up. Below there are examples of rounding.
Therefore, the «amount» parameter value must be equal to the sum of the line items rounded. |
|
N3 | No |
ISO 4217 code of the payment currency. If not specified, default value is used. |
|
ANS..512 | Yes |
The URL to which the user is to be redirected in case of a successful payment (and also in case of a failed payment where the |
|
ANS..512 | No |
The address to which the user is to be redirected in case of a failed payment. The address must be specified in full including the protocol used (for example, https://test.ru instead of test.ru). Otherwise, the user will be redirected to the address of the following type: http://<payment_gateway_address>/<merchant_address>.
The parameter is optional. In this case, an unsuccessful payment will lead to a redirect to |
|
ANS..512 | No |
Description of the order in free form. To enable sending this field to the processing system, contact the technical support service. |
|
A2 | No |
Language in the ISO 639-1 encoding. If the language is not specified, the default language defined in the store settings is used. |
|
ANS..20 | No |
The value of this parameter defines what kind of pages of the payment interface will be loaded for the Customer. The available values are:
Where:
If the parameter is missing or its value is in incorrect format, the default value is pageView=DESKTOP. |
|
ANS..255 | No |
Identifier of the Customer in the Store system. This parameter is used for the binding functionality. May be present if the store is allowed to create bindings. Specifying this parameter when processing payments with the use of bindings is mandatory. Otherwise, a payment will be unsuccessful. |
|
ANS..255 | No |
To register an order on behalf of a child Merchant, specify the Merchant login in this parameter. |
|
String | No |
Block for transferring additional parameters of the merchant. Fields of additional information for further storage are transferred in the following form.
These fields can be transferred to the bank processing for subsequent display in the registers. The inclusion of this functionality is possible by agreement with the bank during the integration period.
If sending notifications from merchant to customer is enabled, the customer's email address must be passed in this block in the The following can be passed as additional parameters:
It is forbidden to pass reserved names in the parameter (if they are passed, the order may be rejected):
|
|
N..10 | No |
Order lifetime in seconds. If the parameter is not specified, the value specified in the Merchant settings or the default value (1200 seconds = 20 minutes) will be used. If the request contains the expirationDate parameter, then the value of sessionTimeoutSecs parameter is disregarded. |
|
UTC | No |
The date and time of the order lifetime expiration. Format: yyyy-MM-ddTHH:mm:ss.
If this parameter is not passed in the request, |
|
AN..255 | No |
The identifier of the previously created binding. Can only be used if the merchant has permission to work with bindings. If this parameter is passed in the given request, it means that: |
|
Not applicable | Yes |
Block containg the cart of items of the order. The description of the attributes is given below. |
By default, the following fields are passed to the Bank processing system:
orderNumber
– order number in the store system;description
– order description (no more than 24 characters; %, +, carriage return \r, and line feed \n cannot be used).
orderBundle
orderBundle
contains the following elements.
Name | Type | Mandatory | Description |
---|---|---|---|
|
ANS..21 | No |
Order creation date in the format YYYY-MM-DDTHH:MM:SS. |
|
Not applicable | No |
Block containing attributes with data about the customer. The description of the attributes is given below. |
|
Not applicable | Yes |
Block with the attributes of the items in the cart. The description of the attributes is given below. |
|
Not applicable | No |
A block with attributes of bonus programs, which include items from the cart. The description of the attributes is given below. |
|
No longer relevant | Conditional Mandatory when providing the buyer with the possibility Online Lending |
Section where parameters of the type of online credit granting are specified. The description is given below. |
installments
Parameters of the installments
section
Name | Type | Mandatory | Description |
---|---|---|---|
|
A..11 | Yes |
Sign of buying on credit. The following values are available:
|
|
String | Yes |
The product identifier must be agreed with the bank. |
customerDetails
customerDetails
contains the following elements.
Name | Type | Mandatory | Description |
---|---|---|---|
|
ANS..40 | See note below. |
Customer's email address. |
|
NS..12 | See note below. |
Customer's phone number. It can be of the following format:
If the number is passed in a separate parameter and in additional parameters, the number specified in this |
|
ANS..40 | No |
Customer's preferred way of communication. |
|
|
No |
It is mandatory to pass one of the two parameters: email
or phone
.
deliveryInfo
deliveryInfo
contains the following elements.
Name | Type | Mandatory | Description |
---|---|---|---|
|
ANS..20 | No |
Delivery method. |
|
A..2 | Yes |
The two-letter country code for the delivery country. |
|
ANS..40 | Yes |
Delivery city. |
|
ANS..255 | Yes |
Delivery address. |
A parameter included in a block and indicated as mandatory is only mandatory within that block. If the section is optional and missing, then the parameters included in it should not be passed.
cartItems
cartItems
contains the following elements.
Name | Type | Mandatory | Description |
---|---|---|---|
|
Not applicable | Yes |
Array of blocks describing line items in the cart. Information about every line item in the cart is passed in a separate block that is included in items. Do not use «‘)«character combination inside this section, or it will cause an error on the gateway side. |
items
items« contains the following elements.
Name | Type | Mandatory | Description |
---|---|---|---|
|
ANS..12 | Yes |
Unique identifier of a line item within the order cart. |
Name
TypeANS..100 DescriptionRESTName or the description of an item in any format.
Use REST Online LendingFor Online Lending functionality, it's necessary to specify a description of the line item in accordance with the Yandex.Market catalog, subject to the following requirements:
WSName or the description of an item in any format.
Use WS Online LendingFor online crediting functionality it's necessary to specify a description of the good item in accordance with the Yandex.Market. |
ANS..100 | Yes |
Name or the description of an item in any format.
Use |
|
Not applicable | No |
Additional block containing the parameters describing a line item. The description of the attributes is given below. |
|
N..18 | Yes |
Element describing the total of items of one |
|
N..18 | Conditional Mandatory when providing the customer with the possibility of Online Lending. |
The sum of the cost of all line items of one When calculating itemAmount = itemPrice*quantity parameter, the result is rounded up to the second digit after the decimal point. For example, if the calculation result is 100.255, then final value will be 100.26. |
|
N3 | Conditional Mandatory when providing the customer with the possibility of Online Lending. |
Currency code of a line item according to ISO 4217. If the parameter is not specified, it is considered to be equal to the order currency. |
|
ANS..100 | Yes |
Number (identifier) of a line item in the store system. |
|
N..18 | Only for stores with enabled fiscalization settings |
The cost of one line item in minimum currency units. Mandatory for merchants using fiscalization.
|
==== quantity ====
quantity contains the following elements.
Name | Type | Mandatory | Description |
---|---|---|---|
|
N..18 | Yes |
Quantity of line items in given |
|
ANS..20 | Yes |
The unit of measurement for the quantity of line item instances. |
==== itemDetails ==== 'itemDetails contains the following elements.
Name | Type | Mandatory | Description |
---|---|---|---|
|
ANS..255 | Yes |
Additional information on a line item. The parameter represents an array of blocks each of which contains information on a certain characteristic of the line item. |
itemDetailsParams
'itemDetailsParams contains the following elements.
Name | Type | Mandatory | Description |
---|---|---|---|
|
ANS..255 | Conditional. Mandatory if itemDetailsParams parameter is present. |
Additional information on a line item. |
Name
TypeAN..255 Type2ANS..255 DescriptionRESTName of the parameter describing the details of a line item WSName of the parameter describing the details of a line item |
AN..255 | Conditional. Mandatory if itemDetailsParams parameter is present. |
Name of the parameter describing the details of a line item |
==== loyalties ====
loyalties contains the following elements.
|
Not applicable | If the loyalties block was transferred |
A block with attributes of bonus programs, which include items from the cart. |
|
ANS..20 | If the loyalties block was transferred |
The name of the bonus program in which the product item is involved, you should use the value |
|
ANS..12 | If the loyalties block was transferred |
Unique identifier of a line item within the order cart. |
|
N..18 | If the loyalties block was transferred |
The total amount of bonuses of all line items for this |
|
N..18 | No |
The total amount of bonuses of all line items for this |
===== Response parameters ===== The response parameters are given in table below.
Name | Type | Mandatory | Description |
---|---|---|---|
|
ANS36 | No |
Identifier of the order in the payment system. It is unique within the system. Missing if order registration failed due to an error detailed in ErrorCode. |
|
AN..512 | No |
Payment form URL to redirect the client's browser to. This parameter is not returned if the registration of the order was not successful due to the error described in To be able to accept payment in this way, you must have the respective rights in the system. If in doubt, contact technical support. |
|
ANS..3 | No |
Error code. Can be missing if the result has not caused an error. |
|
|
No |
|
===== Error codes =====
Error code | Error text |
---|---|
0 |
The request has been processed without system errors. |
1 |
An order with this number has already been processed. |
1 |
Wrong order number. |
3 |
Unknown currency. |
4 |
Order number is empty |
4 |
Merchant name cannot be empty. |
4 |
The amount is missing. |
4 |
Empty return URL |
4 |
Password cannot be empty. |
5 |
Access denied. |
5 |
The user is inactive. |
7 |
System error. |
8 |
|
8 |
Additional parameter |
8 |
|
===== Examples ==== ==== POST request example ==== <sxh javascript> amount=24000¤cy=643&language=ru&orderNumber=01a287222222299&returnUrl=https://3dsec.sberbank.ru/payment/finish.html& jsonParams={«name1»:«value1»}&merchantLogin=merch_child&orderBundle={ «orderCreationDate»:1373622660000, «customerDetails»:{ «email»:«1234567890123456789012345678901234567890», «phone»: «79851231234», «contact»: «Mega Tester», «deliveryInfo»:{ «deliveryType»:«courier», «country»:«RU», «city»:«Moscow», «postAddress»:«Bld. 2, 50A/8 Zemlyanoy Val St.» }}, «cartItems»: { «items»: [ { «positionId»: «1», «name»: «Metzeler Enduro 3 Sahara», «itemDetails»: { «itemDetailsParams»: [{ «value»: «Metzeler », «name»: «brand» }, { «value»: «17inch», «name»: «radius» }]}, «quantity»: { «value»: 0.71, «measure»: «pieces» }, «itemAmount»: 8000, «itemCurrency»: «643», «itemCode»: «NM-15», { «positionId»: «2», «name»: «Universal Mirror Enduro», «itemDetails»: { «itemDetailsParams»: [{ «value»: «Noname», «name»: «brand» }, { «value»: «12mm», «name»: «diameter» }]}, «quantity»: { «value»: 1.0, «measure»: «pieces» }, «itemAmount»: 8000, «itemCurrency»: «643», «itemCode»: «NM-15», { «positionId»: «3», «name»: «Warm Grips», «itemDetails»: { «itemDetailsParams»: [ { «value»: «Noname», «name»: «brand» }]}, «quantity»: { «value»: 1.0, «measure»: «pieces» }, «itemAmount»: 8000, «itemCurrency»: 643, «itemCode»: «G-16» }] } } } </sxh> ==== Response example ==== <sxh javascript> {«formUrl»:«https://3dsec.sberbank.ru/payment/merchants/789/payment_ru.html?mdOrder=fc122907-e237-440e-9f25-48bf6120984b»,»orderId«:«fc122907-e237-440e-9f25-48bf6120984b»} </sxh>