.NET SDK
The official .NET SDK for the Checkout and ePayment APIs. Supports .NET Standard 2.0+, .NET Core 2.0+ and .NET Framework 4.8+.
You can install the SDK with Nuget as per Installation. More information about the package can be found on nuget.org.
Features
- Serialization/deserialization
- Authentication
- Network retries
- Idempotency
Installation
.NET Core CLI:
dotnet add package vipps.net
Usage
var vippsConfigurationOptions = new VippsConfigurationOptions
{
ClientId = "CLIENT-ID",
ClientSecret = "CLIENT-SECRET",
MerchantSerialNumber = "MERCHANT-SERIAL-NUMBER",
SubscriptionKey = "SUBSCRIPTION-KEY",
UseTestMode = true
};
VippsConfiguration.ConfigureVipps(vippsConfigurationOptions);
var request = new InitiateSessionRequest
{
MerchantInfo = new PaymentMerchantInfo
{
CallbackAuthorizationToken = Guid.NewGuid().ToString(),
CallbackUrl = "https://your-url-here.com:3000",
ReturnUrl = "https://your-url-here.com:3000",
},
Transaction = new PaymentTransaction
{
Amount = new Amount { Currency = "NOK", Value = 10000 },
PaymentDescription = "test",
Reference = Guid.NewGuid().ToString()
}
};
var result = await CheckoutService.InitiateSession(request);
Unimplemented parameters and properties
This SDK offers typed request and response classes. These classes might not be up-to-date if you are on the bleeding edge of our APIs, or if you use features that are not generally available.
Request
All request objects have a property called AdditionalProperties
. This is a dictionary that if set will merge with the request object.
AdditionalProperties
example:
InitiateSessionRequest initiateSessionRequest = new()
{
Transaction = new PaymentTransaction()
{
Amount = new Amount()
{
Currency = "NOK",
Value = 49000
},
PaymentDescription = "Hei"
},
AdditionalProperties =
{
{ "Configuration", new { AcceptedPaymentMethods = new[] { "WALLET", "CARD" } } }
}
};
Response
All response objects have a property called RawResponse
that contains the response in the form of a Json Object.
RawResponse
example:
var response = checkoutService.InitiateSession(initiateSessionRequest);
var cancellationUrl = response.RawResponse["cancellationUrl"].ToString();