// Pracownik, którego prawo do F_COTH (Zamykanie zamówień na koszt zakładu) będzie sprawdzane.
var credentials = PluginContext.Operations.AuthenticateByPin("777");
var order = PluginContext.Operations.GetOrders().Last(o => o.Status == OrderStatus.New);
var paymentType = PluginContext.Operations.GetPaymentTypes().First(x => x.Kind == PaymentTypeKind.Writeoff);
var additionalData = new WriteoffPaymentItemAdditionalData
{
Ratio = 1,
Reason = "Obciążenie",
// Pracownik lub gość, na którego dokonuje się obciążenia.
AuthorizationUser = PluginContext.Operations.GetUsers().SingleOrDefault(user => user.Name == "Gość Gregory")
};
// Dodanie zewnętrznej nierozliczonej płatności bez przychodu.
PluginContext.Operations.AddExternalPaymentItem(order.ResultSum, false, additionalData, null, paymentType, order, credentials);
// Lub dodanie zwykłej płatności bez przychodu.
// PluginContext.Operations.AddPaymentItem(order.ResultSum, additionalData, paymentType, order, credentials);
order = PluginContext.Operations.GetOrderById(order.Id);
// Zdalna płatność zamówienia przy użyciu lokalnych płatności istniejących w zamówieniu.
PluginContext.Operations.PayOrder(credentials, order, true);