using System.Threading; using System.Threading.Tasks; using IOL.VippsEcommerce.Models; using IOL.VippsEcommerce.Models.Api; namespace IOL.VippsEcommerce { public interface IVippsEcommerceService { public VippsConfiguration Configuration { get; } public Task InitiatePaymentAsync( VippsInitiatePaymentRequest payload, CancellationToken ct = default ); public Task CapturePaymentAsync( string orderId, VippsPaymentActionRequest payload, CancellationToken ct = default ); public Task CancelPaymentAsync( string orderId, VippsPaymentActionRequest payload, CancellationToken ct = default ); public Task AuthorizePaymentAsync( string orderId, VippsPaymentActionRequest payload, CancellationToken ct = default ); public Task RefundPaymentAsync( string orderId, VippsPaymentActionRequest payload, CancellationToken ct = default ); public Task ForceApprovePaymentAsync( string orderId, VippsForceApproveRequest payload, CancellationToken ct = default ); public Task GetPaymentDetailsAsync( string orderId, CancellationToken ct = default ); } }