- Request
- Body
- Contact
- Coupon
- Discount
- Measurements
- ItemQuantity
- PaymentsOperator
- TransferOperator
- Agent
- MarkQuantity
- Supplier
- ItemReceipt
- CartItem
- CartTotal
- Cart
- PaymentMethod
- Location
- Address
- TimeInterval
- FlexibleCustomerChoice
- FlexibleTimeIntervalsGridDescriptor
- FlexibleTimeIntervals
- CourierOption
- PickupSchedule
- PickupOption
- YandexDeliveryOption
- ShippingMethod
- Responses
- 200 OK
- 400 Bad Request
/v1/order/create
Request for validation or creation of an order on the merchant side.
In the request parameters, it passes a cart with items and their prices, selected delivery method,
and the total order cost (orderAmount). The merchant checks that the prices and items in the cart are correct.
If the cart is correct, the merchant reserves the items for 30 minutes and responds with the success code to the Yandex Pay backend. Within 30 minutes, the Yandex Pay backend should send a notification about the payment status. The merchant can also poll the order status by the order details handle in the Yandex Pay API.
If the cart is correct, the merchant reserves the items for 30 minutes and responds by the success code with the order ID. If the merchant doesn't get the notification about the change in the order payment status within 30 minutes, you need to get the order details synchronously before releasing the items.
Warning
Only after receiving the FAILED payment status, the merchant can release the items and mark
the order as canceled.
If the merchant receives code 4xx in response, the validation of the order is considered unsuccessful, the order won't be paid, and there won't be any repeat attempts to check the order. In the case of response 5xx, the request is repeated.
Request
POST
https://example.merchant.ru/v1/order/create
Production
POST
https://sandbox.example.merchant.ru/v1/order/create
Sandbox
Body
application/json
{
"billingContact": {
"email": "example",
"firstName": "example",
"lastName": "example",
"phone": "example",
"phoneAdditionalCode": "example",
"secondName": "example"
},
"cart": {
"cartId": "example",
"coupons": [
{
"description": "example",
"status": "VALID",
"value": "example"
}
],
"discounts": [
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
],
"externalId": "example",
"items": [
{
"description": "example",
"discountedUnitPrice": "123.45",
"finalPrice": "123.45",
"measurements": null,
"productId": "example",
"quantity": null,
"receipt": null,
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
],
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"total": null
},
"currencyCode": "RUB",
"merchantId": "123e4567-e89b-12d3-a456-426614174000",
"metadata": "example",
"orderAmount": "123.45",
"orderId": "example",
"paymentMethod": {
"cardLast4": "example",
"cardNetwork": "AMEX",
"methodType": "CARD"
},
"shippingAddress": {
"addressLine": "example",
"building": "example",
"comment": "example",
"country": "example",
"district": "example",
"entrance": "example",
"floor": "example",
"intercom": "example",
"locale": "example",
"locality": "example",
"location": {
"latitude": 0.5,
"longitude": 0.5
},
"region": "example",
"room": "example",
"street": "example",
"zip": "example"
},
"shippingContact": null,
"shippingMethod": {
"courierOption": {
"allowedPaymentMethods": [
null
],
"amount": "123.45",
"category": "EXPRESS",
"courierOptionId": "example",
"customerChoice": null,
"fromDate": "2025-01-01",
"fromTime": "example",
"provider": "BOXBERRY",
"receipt": null,
"timeIntervals": null,
"title": "example",
"toDate": "2025-01-01",
"toTime": "example",
"type": "PLAIN"
},
"methodType": "DIRECT",
"pickupOption": {
"address": "example",
"allowedPaymentMethods": [
null
],
"amount": "123.45",
"description": "example",
"fromDate": "2025-01-01",
"location": null,
"phones": [
null
],
"pickupPointId": "example",
"provider": "YANDEX_MARKET",
"receipt": null,
"schedule": [
null
],
"storagePeriod": 0,
"title": "example",
"toDate": "2025-01-01"
},
"yandexDeliveryOption": {
"allowedPaymentMethods": [
null
],
"amount": "123.45",
"category": "EXPRESS",
"fromDatetime": "2025-01-01T00:00:00Z",
"receipt": null,
"title": "example",
"toDatetime": "2025-01-01T00:00:00Z",
"yandexDeliveryOptionId": "example"
}
}
}
|
Name |
Description |
|
cart |
All of 1 type
Cart Example
|
|
currencyCode |
Type: string Three-letter code of the order currency code (ISO 4217) Const: Example: |
|
billingContact |
Type: Contact Example
|
|
merchantId |
Type: string<uuid> Example: |
|
metadata |
Type: string Arbitrary data transmitted at button initialization Example: |
|
orderAmount |
Type: string<double> Total cost of the order to be paid, including refunds, delivery costs, discounts, and promo codes Example: |
|
orderId |
Type: string ID assigned to the existing order on the merchant side and transmitted at button initialization Example: |
|
paymentMethod |
All of 1 type
Selected payment method Example
|
|
shippingAddress |
All of 1 type
Delivery address is available if the COURIER method is selected Example
|
|
shippingContact |
Type: Contact Example
|
|
shippingMethod |
All of 1 type
Selected delivery method. Example
|
Contact
|
Name |
Description |
|
|
Type: string Example: |
|
firstName |
Type: string Example: |
|
lastName |
Type: string Example: |
|
phone |
Type: string Example: |
|
phoneAdditionalCode |
Type: string Example: |
|
secondName |
Type: string Example: |
Example
{
"email": "example",
"firstName": "example",
"lastName": "example",
"phone": "example",
"phoneAdditionalCode": "example",
"secondName": "example"
}
Coupon
|
Name |
Description |
|
value |
Type: string Coupon code Example: |
|
description |
Type: string Description For example, "3% discount" Example: |
|
status |
Type: string Enum: Example: |
Example
{
"description": "example",
"status": "VALID",
"value": "example"
}
Discount
|
Name |
Description |
|
amount |
Type: string<double> Discount amount Example: |
|
description |
Type: string Text description Example: |
|
discountId |
Type: string Discount ID in the merchant system Example: |
Example
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
Measurements
|
Name |
Description |
|
height |
Type: number Height, in meters |
|
length |
Type: number Length, in meters |
|
weight |
Type: number Weight, in kilograms |
|
width |
Type: number Width, in meters |
Example
{
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
}
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" Example: |
Example
{
"available": "123.45",
"count": "123.45",
"label": "example"
}
PaymentsOperator
|
Name |
Description |
|
phones |
Type: string[] Example
|
Example
{
"phones": [
"example"
]
}
TransferOperator
|
Name |
Description |
|
address |
Type: string Example: |
|
inn |
Type: string Example: |
|
name |
Type: string Example: |
|
phones |
Type: string[] Example
|
Example
{
"address": "example",
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
Agent
|
Name |
Description |
|
agentType |
Type: integer Agent type by taxable object. See values Enum: |
|
operation |
Type: string Example: |
|
paymentsOperator |
Type: PaymentsOperator Example
|
|
phones |
Type: string[] Example
|
|
transferOperator |
Type: TransferOperator Example
|
Example
{
"agentType": 1,
"operation": "example",
"paymentsOperator": {
"phones": [
"example"
]
},
"phones": [
"example"
],
"transferOperator": {
"address": "example",
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
}
MarkQuantity
|
Name |
Description |
|
denominator |
Type: integer |
|
numerator |
Type: integer |
Example
{
"denominator": 0,
"numerator": 0
}
Supplier
|
Name |
Description |
|
inn |
Type: string Example: |
|
name |
Type: string Example: |
|
phones |
Type: string[] Example
|
Example
{
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
ItemReceipt
|
Name |
Description |
|
tax |
Type: integer Value description: Link Enum: |
|
agent |
Type: Agent Example
|
|
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 Example
|
|
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) Example: |
|
supplier |
Type: Supplier Example
|
|
title |
Type: string Example: |
Example
{
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": {
"phones": [
"example"
]
},
"phones": [
"example"
],
"transferOperator": {
"address": "example",
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
}
CartItem
|
Name |
Description |
|
productId |
Type: string Product ID in the merchant system Make sure that each Example: |
|
quantity |
All of 1 type
Product quantity in the order Example
|
|
description |
Type: string Product description Example: |
|
discountedUnitPrice |
Type: string<double> Price per product unit with discount per item Example: |
|
finalPrice |
Type: string<double> Price per product unit with all discounts per item and on the cart Example: |
|
measurements |
All of 1 type
Product dimensions and weight. Required for the Example
|
|
receipt |
All of 1 type
Data for receipt generation Example
|
|
subtotal |
Type: string<double> Total price per item without discount Example: |
|
title |
Type: string Product name Example: |
|
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: |
Example
{
"description": "example",
"discountedUnitPrice": "123.45",
"finalPrice": "123.45",
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "example"
},
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": null,
"phones": [
null
],
"transferOperator": null
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
null
]
},
"tax": 1,
"title": "example"
},
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
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" Example: |
Example
{
"amount": "123.45",
"label": "example"
}
Cart
|
Name |
Description |
|
items |
Type: CartItem[] Cart item Example
|
|
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 Example: |
|
coupons |
Type: Coupon[] Coupons applied to the cart Example
|
|
discounts |
Type: Discount[] Discounts applied to the cart Example
|
|
externalId |
Type: string Cart ID passed by the merchant Example: |
|
measurements |
Type: Measurements Example
|
|
total |
All of 1 type
Total cart cost that the customer is to pay Default: |
Example
{
"cartId": "example",
"coupons": [
{
"description": "example",
"status": "VALID",
"value": "example"
}
],
"discounts": [
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
],
"externalId": "example",
"items": [
{
"description": "example",
"discountedUnitPrice": "123.45",
"finalPrice": "123.45",
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "example"
},
"receipt": {
"agent": null,
"excise": "123.45",
"markQuantity": null,
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": null,
"tax": 1,
"title": "example"
},
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
],
"measurements": null,
"total": null
}
PaymentMethod
|
Name |
Description |
|
methodType |
Type: string Enum: |
|
cardLast4 |
Type: string Example: |
|
cardNetwork |
Type: string Payment system Enum: Example: |
Example
{
"cardLast4": "example",
"cardNetwork": "AMEX",
"methodType": "CARD"
}
Location
|
Name |
Description |
|
latitude |
Type: number |
|
longitude |
Type: number |
Example
{
"latitude": 0.5,
"longitude": 0.5
}
Address
|
Name |
Description |
|
building |
Type: string Example: |
|
country |
Type: string Example: |
|
addressLine |
Type: string Full address Example: |
|
comment |
Type: string Example: |
|
district |
Type: string Example: |
|
entrance |
Type: string Example: |
|
floor |
Type: string Example: |
|
intercom |
Type: string Example: |
|
locale |
Type: string Example: |
|
locality |
Type: string Example: |
|
location |
Type: Location Example
|
|
region |
Type: string Example: |
|
room |
Type: string Example: |
|
street |
Type: string Example: |
|
zip |
Type: string Example: |
Example
{
"addressLine": "example",
"building": "example",
"comment": "example",
"country": "example",
"district": "example",
"entrance": "example",
"floor": "example",
"intercom": "example",
"locale": "example",
"locality": "example",
"location": {
"latitude": 0.5,
"longitude": 0.5
},
"region": "example",
"room": "example",
"street": "example",
"zip": "example"
}
TimeInterval
|
Name |
Description |
|
end |
Type: string Interval end time Example: |
|
start |
Type: string Interval start time Example: |
Example
{
"end": "example",
"start": "example"
}
FlexibleCustomerChoice
|
Name |
Description |
|
date |
Type: string<date> Example: |
|
time |
Type: TimeInterval Example
|
Example
{
"date": "2025-01-01",
"time": {
"end": "example",
"start": "example"
}
}
FlexibleTimeIntervalsGridDescriptor
|
Name |
Description |
|
duration |
Type: string Duration of each interval Example: |
|
end |
Type: string Maximum start time for the latest interval Example: |
|
start |
Type: string Start time for the very first interval Example: |
|
step |
Type: string Difference in time between the starts of two neighboring intervals Example: |
Example
{
"duration": "example",
"end": "example",
"start": "example",
"step": "example"
}
FlexibleTimeIntervals
|
Name |
Description |
|
type |
Type: string For the Enum: |
|
grid |
All of 1 type
Encodes the intervals as a grid. Use this format if you want to set more than 20 delivery intervals.
Example: Example
|
|
values |
Type: TimeInterval[] Set the list of intervals directly. Suitable for a small number of delivery intervals. The maximum recommended number of intervals is 20 Example
|
Example
{
"grid": {
"duration": "example",
"end": "example",
"start": "example",
"step": "example"
},
"type": "GRID",
"values": [
{
"end": "example",
"start": "example"
}
]
}
CourierOption
|
Name |
Description |
|
amount |
Type: string<double> Delivery cost Example: |
|
category |
Type: string Enum: |
|
courierOptionId |
Type: string ID of the selected delivery method in the merchant system Example: |
|
title |
Type: string Delivery method name. Shown to the user in the option list Example: |
|
allowedPaymentMethods |
Type: string[] Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in Example
|
|
customerChoice |
All of 1 type
Date and interval selected by the user. Only for Example
|
|
fromDate |
Type: string<date> Closest delivery date for Example: |
|
fromTime |
Type: string Start of the delivery time interval. Only for Example: |
|
provider |
Type: string Delivery service type. Enum: Example: |
|
receipt |
Type: ItemReceipt Example
|
|
timeIntervals |
All of 1 type
Codes the intervals of the delivery time available for selection. Only for Example
|
|
toDate |
Type: string<date> Latest delivery date for Example: |
|
toTime |
Type: string End of the delivery time interval. Only for Example: |
|
type |
Type: string Option type.
For
Default: Enum: |
Example
{
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"category": "EXPRESS",
"courierOptionId": "example",
"customerChoice": {
"date": "2025-01-01",
"time": {
"end": "example",
"start": "example"
}
},
"fromDate": "2025-01-01",
"fromTime": "example",
"provider": "BOXBERRY",
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": null,
"phones": [
"example"
],
"transferOperator": null
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
},
"timeIntervals": {
"grid": {
"duration": "example",
"end": "example",
"start": "example",
"step": "example"
},
"type": "GRID",
"values": [
null
]
},
"title": "example",
"toDate": "2025-01-01",
"toTime": "example",
"type": "PLAIN"
}
PickupSchedule
|
Name |
Description |
|
fromTime |
Type: string HH:mm, "08:00" Example: |
|
label |
Type: string For example, "Mon-Fri" Example: |
|
toTime |
Type: string HH:mm, "20:00" Example: |
Example
{
"fromTime": "example",
"label": "example",
"toTime": "example"
}
PickupOption
|
Name |
Description |
|
address |
Type: string Address in string format Example: |
|
location |
Type: Location Example
|
|
pickupPointId |
Type: string Unique pickup point ID in the merchant's system Example: |
|
title |
Type: string Pickup point's name Example: |
|
allowedPaymentMethods |
Type: string[] Individual payment methods for the selected pickup method. Methods that can be used to pay for the order with the selected pickup method. Use this parameter if you want to restrict the payment methods specified in Example
|
|
amount |
Type: string<double> Cost of delivery to the location Example: |
|
description |
Type: string Additional description Example: |
|
fromDate |
Type: string<date> YYYY-MM-DD. Closest possible delivery date Example: |
|
phones |
Type: string[] Contact phone numbers Example
|
|
provider |
Type: string Pickup point's type. Enum: |
|
receipt |
Type: ItemReceipt Example
|
|
schedule |
Type: PickupSchedule[] Pickup point's schedule Example
|
|
storagePeriod |
Type: integer Optional. Storage period at the pickup point, in days. |
|
toDate |
Type: string<date> YYYY-MM-DD. Latest delivery date Example: |
Example
{
"address": "example",
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"description": "example",
"fromDate": "2025-01-01",
"location": {
"latitude": 0.5,
"longitude": 0.5
},
"phones": [
"example"
],
"pickupPointId": "example",
"provider": "YANDEX_MARKET",
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": null,
"phones": [
"example"
],
"transferOperator": null
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
},
"schedule": [
{
"fromTime": "example",
"label": "example",
"toTime": "example"
}
],
"storagePeriod": 0,
"title": "example",
"toDate": "2025-01-01"
}
YandexDeliveryOption
|
Name |
Description |
|
amount |
Type: string<double> Delivery cost Example: |
|
category |
Type: string Enum: |
|
title |
Type: string Delivery method name. Shown to the user in the option list Example: |
|
yandexDeliveryOptionId |
Type: string ID of the Yandex Delivery offer Example: |
|
allowedPaymentMethods |
Type: string[] Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in Example
|
|
fromDatetime |
Type: string<date-time> Example: |
|
receipt |
Type: ItemReceipt Example
|
|
toDatetime |
Type: string<date-time> Example: |
Example
{
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"category": "EXPRESS",
"fromDatetime": "2025-01-01T00:00:00Z",
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": null,
"phones": [
"example"
],
"transferOperator": null
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
},
"title": "example",
"toDatetime": "2025-01-01T00:00:00Z",
"yandexDeliveryOptionId": "example"
}
ShippingMethod
|
Name |
Description |
|
methodType |
Type: string Enum: |
|
courierOption |
All of 1 type
if methodType == COURIER Example
|
|
pickupOption |
All of 1 type
if methodType == PICKUP Example
|
|
yandexDeliveryOption |
All of 1 type
if methodType == YANDEX_DELIVERY Example
|
Example
{
"courierOption": {
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"category": "EXPRESS",
"courierOptionId": "example",
"customerChoice": {
"date": "2025-01-01",
"time": null
},
"fromDate": "2025-01-01",
"fromTime": "example",
"provider": "BOXBERRY",
"receipt": {
"agent": null,
"excise": "123.45",
"markQuantity": null,
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": null,
"tax": 1,
"title": "example"
},
"timeIntervals": {
"grid": null,
"type": "GRID",
"values": [
null
]
},
"title": "example",
"toDate": "2025-01-01",
"toTime": "example",
"type": "PLAIN"
},
"methodType": "DIRECT",
"pickupOption": {
"address": "example",
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"description": "example",
"fromDate": "2025-01-01",
"location": {
"latitude": 0.5,
"longitude": 0.5
},
"phones": [
"example"
],
"pickupPointId": "example",
"provider": "YANDEX_MARKET",
"receipt": null,
"schedule": [
{
"fromTime": "example",
"label": "example",
"toTime": "example"
}
],
"storagePeriod": 0,
"title": "example",
"toDate": "2025-01-01"
},
"yandexDeliveryOption": {
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"category": "EXPRESS",
"fromDatetime": "2025-01-01T00:00:00Z",
"receipt": null,
"title": "example",
"toDatetime": "2025-01-01T00:00:00Z",
"yandexDeliveryOptionId": "example"
}
}
Responses
200 OK
success
Body
application/json
{
"data": {
"metadata": "example",
"orderId": "example",
"redirectUrls": {
"onAbort": "example",
"onError": "example",
"onSuccess": "example"
},
"ttl": null
},
"status": "example"
}
|
Name |
Description |
|
data |
Type: MerchantCreateOrderResponse Example
|
|
status |
Type: string Example: |
CartItem
|
Name |
Description |
|
productId |
Type: string Product ID in the merchant system Make sure that each Example: |
|
quantity |
All of 1 type
Product quantity in the order Example
|
|
description |
Type: string Product description Example: |
|
discountedUnitPrice |
Type: string<double> Price per product unit with discount per item Example: |
|
finalPrice |
Type: string<double> Price per product unit with all discounts per item and on the cart Example: |
|
measurements |
All of 1 type
Product dimensions and weight. Required for the Example
|
|
pointsAmount |
Type: string<double> Number of Plus points Read-only field. Input values will be ignored. Example: |
|
receipt |
All of 1 type
Data for receipt generation Example
|
|
subtotal |
Type: string<double> Total price per item without discount Example: |
|
title |
Type: string Product name Example: |
|
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: |
Example
{
"description": "example",
"discountedUnitPrice": "123.45",
"finalPrice": "123.45",
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"pointsAmount": "123.45",
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "example"
},
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": null,
"phones": [
null
],
"transferOperator": null
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
null
]
},
"tax": 1,
"title": "example"
},
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
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" Example: |
|
pointsAmount |
Type: string<double> Number of Plus points Read-only field. Input values will be ignored. Example: |
Example
{
"amount": "123.45",
"label": "example",
"pointsAmount": "123.45"
}
Cart
|
Name |
Description |
|
items |
Type: CartItem[] Cart item Example
|
|
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 Example: |
|
coupons |
Type: Coupon[] Coupons applied to the cart Example
|
|
discounts |
Type: Discount[] Discounts applied to the cart Example
|
|
externalId |
Type: string Cart ID passed by the merchant Example: |
|
measurements |
Type: Measurements Example
|
|
total |
All of 1 type
Total cart cost that the customer is to pay Default: |
Example
{
"cartId": "example",
"coupons": [
{
"description": "example",
"status": "VALID",
"value": "example"
}
],
"discounts": [
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
],
"externalId": "example",
"items": [
{
"description": "example",
"discountedUnitPrice": "123.45",
"finalPrice": "123.45",
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"pointsAmount": "123.45",
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "example"
},
"receipt": {
"agent": null,
"excise": "123.45",
"markQuantity": null,
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": null,
"tax": 1,
"title": "example"
},
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
],
"measurements": null,
"total": null
}
MerchantRedirectUrls
|
Name |
Description |
|
onError |
Type: string The field is required for online stores only. A link to redirect the user in case of a payment error or TTL expiry for a payment link Example: |
|
onSuccess |
Type: string The field is required for online stores only. Link to redirect the user on payment success. Example: |
|
onAbort |
Type: string Link to redirect the user on payment cancellation. Payment can be canceled by the user in the payment form. Example: |
Example
{
"onAbort": "example",
"onError": "example",
"onSuccess": "example"
}
MerchantCreateOrderResponse
|
Name |
Description |
|
orderId |
Type: string ID assigned to the created order on the merchant side Example: |
|
metadata |
Type: string Example: |
|
redirectUrls |
Type: MerchantRedirectUrls Example
|
|
ttl |
Type: integer Order's time to live (in seconds) Default: |
Example
{
"metadata": "example",
"orderId": "example",
"redirectUrls": {
"onAbort": "example",
"onError": "example",
"onSuccess": "example"
},
"ttl": null
}
400 Bad Request
bad request
Body
application/json
{
"reason": "example",
"reasonCode": "FORBIDDEN",
"status": "fail"
}
|
Name |
Description |
|
reasonCode |
Type: string Enum: |
|
reason |
Type: string Example: |
|
status |
Type: string Default: |
No longer supported, please use an alternative and newer version.