IOL.VippsEcommerce

Dotnet classlib for communicating with the vipps e-commerce api.


Keywords
dotnet, vipps-api
License
Other
Install
Install-Package IOL.VippsEcommerce -Version 2.0.0

Documentation

Implements https://vippsas.github.io/vipps-ecom-api/, more or less (see IVippsEcommerceService.cs).

dotnet add package IOL.VippsEcommerce

IOL.VippsEcommerce on nuget.org IOL.VippsEcommerce on nuget.org (fuget)

Configuration

Use Dependency Injection to add and configure the service to your liking, example:

services.AddVippsEcommerceService(o => {
	o.ApiUrl = "";
	o.PrimarySubscriptionKey = "";
	o.ClientSecret = "";
	o.ClientId = "";
});

See VippsConfiguration.cs for available properties. You can configure how to get values with the ConfigurationMode property, valid modes is specified in VippsConfigurationMode.cs, example:

services.AddVippsEcommerceService(o => {
	o.ConfigurationMode = VippsConfigurationMode.ENVIRONMENT_THEN_OBJECT;
});

With the above example, the service will look for configuration values in the current environment using names specified in VippsConfigurationKeyNames.cs, then in the configuration object. The environment variable name for a given property is also specified in it's XML-documentation.

Environment.GetEnvironmentVariable is used to retrieve environment variables, that means that user-secrets and anything else than process-spesific variables (VARIABLE=value dotnet YourBinary.dll) does not register on Unix systems.

Caching

The service can cache the credentials for api-access in a file with optional AES encryption, example:

services.AddVippsEcommerceService(o => {
	o.CacheEncryptionKey = "randomstring"; // optional key for AES encryption, if omitted the cache will be readable json with your keys exposed and everything.
	o.CacheDirectoryPath = "/tmp/vippsecom"; // path to a directory that the executing process has write-access to.
});