/// <summary> /// Generates a consumer token /// <a href="https://developers.klarna.com/api/#payments-api-generate-a-consumer-token"> /// https://developers.klarna.com/api/#payments-api-generate-a-consumer-token /// </a> /// </summary> /// <param name="authorizationToken">Authorization token from JS client</param> /// <param name="consumerTokenRequest">The <see cref="CustomerTokenCreationRequest"/> object</param> /// <returns><see cref="CustomerTokenCreationResponse"/></returns> public async Task <CustomerTokenCreationResponse> GenerateConsumerToken(string authorizationToken, CustomerTokenCreationRequest consumerTokenRequest) { var url = ApiUrlHelper.GetApiUrlForController(ApiSession.ApiUrl, ApiControllers.PaymentAuthorizations, $"{authorizationToken}/customer-token"); return(await Post <CustomerTokenCreationResponse>(url, consumerTokenRequest).ConfigureAwait(false)); }
public void CreateConsumerToken() { var username = "******"; var password = "******"; var klarna = new Klarna(username, password, KlarnaEnvironment.TestingEurope); var authorization_token = "234534...345345....345"; var consumertokenreqest = new CustomerTokenCreationRequest() { BillingAddress = new Address { GivenName = "John", FamilyName = "Doe", StreetAddress = "Sveavägen 46", PostalCode = "103 69", Country = "SE", Email = "*****@*****.**", City = "Stockholm", Phone = "+46752242244" } }; try { var consumertoken = klarna.Payment.GenerateConsumerToken(authorization_token, consumertokenreqest).Result; Console.WriteLine("Consumer Token ID: " + consumertoken.TokenId); } catch (AggregateException ae) { foreach (var e in ae.InnerExceptions) { if (e is ApiException) { var apiException = (ApiException)e; Console.WriteLine("Status code: " + apiException.StatusCode); Console.WriteLine("Error: " + string.Join("; ", apiException.ErrorMessage.ErrorMessages)); } else { // Rethrow any other exception or process it Console.WriteLine(e.Message); throw; } } } }