/v1/orders/{order_id}/submit
Request for Split payment confirmation in the event of payment on delivery.
Available for payments in the CONFIRMED status. If the request is successful, the status changes to CAPTURED.
If the cart items at the order confirmation stage differ from those at the order placement stage,
pass new values for the cart and orderAmount fields.
Request
POST
https://pay.yandex.ru/api/merchant/v1/orders/{order_id}/submit
Production
POST
https://sandbox.pay.yandex.ru/api/merchant/v1/orders/{order_id}/submit
Sandbox
Path parameters
| Name | Description | 
| order_id* | Type: string Order ID on the merchant's side that was passed in response to /order/create. Max length:  | 
Body
application/json
{
    "cart": {
        "cartId": "string",
        "coupons": [
            {
                "description": "string",
                "status": "VALID",
                "value": "string"
            }
        ],
        "discounts": [
            {
                "amount": "123.45",
                "description": "string",
                "discountId": "string"
            }
        ],
        "externalId": "string",
        "items": [
            {
                "description": "string",
                "discountedUnitPrice": "123.45",
                "measurements": {
                    "height": 0,
                    "length": 0,
                    "weight": 0,
                    "width": 0
                },
                "productId": "string",
                "quantity": {
                    "available": "123.45",
                    "count": "123.45",
                    "label": "string"
                },
                "receipt": {
                    "agent": {
                        "agentType": 1,
                        "operation": "string",
                        "paymentsOperator": {
                            "phones": [
                                "string"
                            ]
                        },
                        "phones": [
                            "string"
                        ],
                        "transferOperator": {
                            "address": "string",
                            "inn": "string",
                            "name": "string",
                            "phones": [
                                "string"
                            ]
                        }
                    },
                    "excise": "123.45",
                    "markQuantity": {
                        "denominator": 0,
                        "numerator": 0
                    },
                    "measure": 0,
                    "paymentMethodType": 1,
                    "paymentSubjectType": 1,
                    "productCode": "string",
                    "supplier": {
                        "inn": "string",
                        "name": "string",
                        "phones": [
                            "string"
                        ]
                    },
                    "tax": 1,
                    "title": "string"
                },
                "subtotal": "123.45",
                "title": "string",
                "total": "123.45",
                "type": "PHYSICAL",
                "unitPrice": "123.45"
            }
        ],
        "measurements": {
            "height": 0,
            "length": 0,
            "weight": 0,
            "width": 0
        },
        "total": {
            "amount": "123.45",
            "label": "string"
        }
    },
    "externalOperationId": "string",
    "orderAmount": "123.45"
}
| Name | Description | 
| externalOperationId* | Type: string Operation ID in the merchant's system Max length:  | 
| cart | Type: CartWithRequiredTotalWithoutFinalPrice Final cart | 
| orderAmount | Type: string<double> Total amount of the order. It's equal to  Example:  | 
CartWithRequiredTotalWithoutFinalPrice
| Name | Description | 
| items* | |
| total* | Type: CartTotal | 
| cartId | Type: string The internal ID of the Yandex Pay cart. The store's backend must use this parameter as the ID of the customer cart and the idempotency key for the  Max length:  | 
| coupons | Type: Coupon[] Coupons applied to the cart | 
| discounts | Type: Discount[] Discounts applied to the cart | 
| externalId | Type: string Cart ID passed by the merchant Max length:  | 
| measurements | Type: Measurements | 
CartItemWithoutFinalPriceCamelCase
| Name | Description | 
| productId* | Type: string Product ID in the merchant system Make sure that each  Max length:  | 
| quantity* | Type: ItemQuantity Product quantity in the order | 
| description | Type: string Product description Max length:  | 
| discountedUnitPrice | Type: string<double> Price per product unit with discount per item Example:  | 
| measurements | Type: Measurements Product dimensions and weight. Required for the  | 
| receipt | Type: ItemReceipt Data for receipt generation | 
| subtotal | Type: string<double> Total price per item without discount Example:  | 
| title | Type: string Product name Max length:  | 
| total | Type: string<double> Total price per item with item discount Example:  | 
| type | Type: string Product type. Important for integrating with delivery services Default:  Enum:  | 
| unitPrice | Type: string<double> Total price per product unit without discount Example:  | 
CartTotal
| Name | Description | 
| amount* | Type: string<double> Cart cost with all discounts Example:  | 
| label | Type: string Name of measurement units, for example, "kg" or "pcs" Max length:  | 
Coupon
| Name | Description | 
| value* | Type: string Coupon code Max length:  | 
| description | Type: string Description For example, "3% discount" Max length:  | 
| status | Type: string Enum:  | 
Discount
| Name | Description | 
| amount* | Type: string<double> Discount amount Example:  | 
| description* | Type: string Text description Max length:  | 
| discountId* | Type: string Discount ID in the merchant system Max length:  | 
Measurements
| Name | Description | 
| height* | Type: number<float> Height, in meters | 
| length* | Type: number<float> Length, in meters | 
| weight* | Type: number<float> Weight, in kilograms | 
| width* | Type: number<float> Width, in meters | 
ItemQuantity
| Name | Description | 
| count* | Type: string<double> Product quantity in the order Example:  | 
| available | Type: string<double> Maximum available product quantity Example:  | 
| label | Type: string Name of measurement units, for example, "kg" or "pcs" Max length:  | 
ItemReceipt
| Name | Description | 
| tax* | Type: integer Value description: Link Enum:  | 
| agent | Type: Agent | 
| excise | Type: string<double> It shouldn't include more than two decimal digits. For example: 1.12, 5.1, 10, 11.00 . Example:  | 
| markQuantity | Type: MarkQuantity | 
| measure | Type: integer Value description: Link Enum:  | 
| paymentMethodType | Type: integer Value description: Link Enum:  | 
| paymentSubjectType | Type: integer Value description: Link Enum:  | 
| productCode | Type: string<base64> Product code (a base64-encoded array of 1 to 32 bytes) | 
| supplier | Type: Supplier | 
| title | Type: string Max length:  | 
Agent
| Name | Description | 
| agentType* | Type: integer Agent type by taxable object. See values Enum:  | 
| operation | Type: string Max length:  | 
| paymentsOperator | Type: PaymentsOperator | 
| phones | Type: string[] Max length:  | 
| transferOperator | Type: TransferOperator | 
MarkQuantity
| Name | Description | 
| denominator* | Type: integer<int32> | 
| numerator* | Type: integer<int32> | 
Supplier
| Name | Description | 
| inn | Type: string Max length:  | 
| name | Type: string Max length:  | 
| phones | Type: string[] Max length:  | 
PaymentsOperator
| Name | Description | 
| phones | Type: string[] Max length:  | 
TransferOperator
| Name | Description | 
| address | Type: string Max length:  | 
| inn | Type: string Max length:  | 
| name | Type: string Max length:  | 
| phones | Type: string[] Max length:  | 
Responses
200 OK
Body
application/json
{
    "code": 200,
    "data": {
        "operation": {
            "amount": "123.45",
            "created": "2022-12-29T18:02:01Z",
            "externalOperationId": "string",
            "operationId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b",
            "operationType": "AUTHORIZE",
            "orderId": "string",
            "params": {},
            "pointsAmount": "123.45",
            "reason": "string",
            "status": "PENDING",
            "updated": "2022-12-29T18:02:01Z"
        }
    },
    "status": "success"
}
| Name | Description | 
| code | Type: number Default:  | 
| data | Type: OperationResponseData | 
| status | Type: string Default:  Enum:  | 
OperationResponseData
| Name | Description | 
| operation | Type: Operation | 
Operation
| Name | Description | 
| amount* | Type: string<double> Transaction amount in a fiat currency Example:  | 
| operationId* | Type: string<uuid> Max length:  | 
| operationType* | Type: string Enum:  | 
| orderId* | Type: string Max length:  | 
| created | Type: string<date-time> Date and time when the operation was created (ISO 8601) | 
| externalOperationId | Type: string Operation ID on the merchant side Max length:  | 
| params | Type: object | 
| pointsAmount | Type: string<double> Transaction amount in Plus points Example:  | 
| reason | Type: string Error cause Max length:  | 
| status | Type: string Default:  Enum:  | 
| updated | Type: string<date-time> Date and time when the operation was updated (ISO 8601) | 
No longer supported, please use an alternative and newer version.