iikoFront API SDK

Пользовательские данные в оплатах неинтегрированными банковскими картами

[ v9preview1  v9  ]

В API V9Preview1 в класс CardPaymentItemAdditionalData добавлено новое nullable поле CustomData, ограниченное 5000 символов. Заполнение полей CardPaymentItemAdditionalData теперь происходит через конструктор с 2 аргументами:

public CardPaymentItemAdditionalData([CanBeNull] string cardNumber, [CanBeNull] string customData = null)
{...}

Небольшой пример заполнения и чтения CustomData:

/// <summary>
/// Добавление внешнего проведенного платежа картой.
/// </summary>
private void AddCardExternalProcessedPayment()
{
    const bool isProcessed = true;
    var order = PluginContext.Operations.GetOrders().Last(o => o.Status == OrderStatus.New);
    var paymentType = PluginContext.Operations.GetPaymentTypes().First(x => x.Kind == PaymentTypeKind.Card && x.Name.ToUpper() == "VISA");
    var additionalData = new CardPaymentItemAdditionalData("123456", "0987654321");
    var credentials = PluginContext.Operations.GetDefaultCredentials();
    var paymentItem = PluginContext.Operations.AddExternalPaymentItem(order.ResultSum / 2, isProcessed, additionalData, null, paymentType, order, credentials);

    MessageBox.Show(((CardPaymentItemAdditionalData)paymentItem.AdditionalData).CustomData);
}