Render and update payment provider

@{
    var paymentProviders = Providers.Instance.GetPaymentProviders().OrderBy(x => x.SortOrder);
    var currentPaymentProviderKey = order.PaymentProvider != null ? order.PaymentProvider.Key : Guid.Empty;
    currentPaymentProviderKey = paymentProviders.Count() > 1 ? currentPaymentProviderKey : paymentProviders.First().Key;
}

@using (Html.BeginEkomForm(FormType.UpdatePaymentProvider, "Form Class", "Form Id"))
{
    <input type="hidden" name="storeAlias" value="@order.StoreInfo.Alias" />
    
    @foreach (var provider in paymentProviders)
    {
        <label>
            <input name="PaymentProvider" type="radio" value="@provider.Key" @(provider.Key == currentPaymentProviderKey ? "checked" : "") />
            <p>@provider.Title</p>
            @if (!string.IsNullOrEmpty(provider.Description))
            {
                <p>@Html.Raw(Html.ReplaceLineBreaks(provider.Description))</p>
            }
        </label>
        // Custom data can be saved with the provider so long as its name is prefixed with "paymentprovider"
        <input type="text" name="paymentproviderCustomText">
    }
    
    <button type="submit">Save Payment Provider</button>
}

Last updated