iikoFront API SDK

Закрывать заказы с silent-оплатами прямо из API

[ ]

В недавнем релизе iikoFront 7.4.6 появилась возможность закрывать заказы с оплатами, поддерживающими тихое проведение (silent-оплаты), прямо из API, не входя на экран кассы. Данный функционал поддерживается в указанной версии iikoFront на всех доступных версиях API: V5, V6, V7Preview3, V7Preview4, V7.

Раньше тихое проведение плагинной оплаты в заказе поддерживал только метод ProcessPrepay. Но превращение оплаты в предоплату — это лишние движения по проводкам и свои особенности учёта. Теперь же такой заказ можно оплатить и закрыть вызовом метода PayOrder. Необходимым условием является то, что все непроведённые оплаты, содержащиеся в заказе, должны поддерживать тихую оплату.

Пример

const bool isProcessed = false;
var credentials = PluginContext.Operations.GetCredentials();

var order = PluginContext.Operations.GetOrders().Last(o => o.Status == OrderStatus.New);
var paymentType = PluginContext.Operations.GetPaymentTypes().First(x => x.Kind == PaymentTypeKind.External && x.Name == "SampleApiPayment");
var additionalData = new ExternalPaymentItemAdditionalData { CustomData = Serializer.Serialize(new PaymentAdditionalData { SilentPay = true }) };
// Добавление плагинной оплаты на полную сумму
PluginContext.Operations.AddExternalPaymentItem(order.ResultSum, isProcessed, additionalData, null, paymentType, order, credentials);

order = PluginContext.Operations.GetOrderById(order.Id);
// Закрытие заказа существующими оплатами
PluginContext.Operations.PayOrder(credentials, order);