Hi,
When I load the checkout, the following error is thrown from SetPaymentProvider:
2022-02-24 11:19:41.5304 [App:01] [90fb8f5a34eba9b52f0409015c59c5e8] [INFO ] [.NET ThreadPool Worker] System.Net.Http.HttpClient.Default.LogicalHandler - Start processing HTTP request POST https://customer-direct-payment.localtest.me:10011/api/payments/6432241f-5e27-48cb-b11b-9b9c664c67de/initialize
2022-02-24 11:19:41.5304 [App:01] [90fb8f5a34eba9b52f0409015c59c5e8] [TRACE] [.NET ThreadPool Worker] System.Net.Http.HttpClient.Default.LogicalHandler - Request Headers:
User-Agent: Litium, (Client=directpayment), (8.2.1)
Authorization: Bearer xx
Content-Type: application/json; charset=utf-8
2022-02-24 11:19:41.5304 [App:01] [90fb8f5a34eba9b52f0409015c59c5e8] [INFO ] [.NET ThreadPool Worker] System.Net.Http.HttpClient.Default.ClientHandler - Sending HTTP request POST https://customer-direct-payment.localtest.me:10011/api/payments/6432241f-5e27-48cb-b11b-9b9c664c67de/initialize
2022-02-24 11:19:41.5304 [App:01] [90fb8f5a34eba9b52f0409015c59c5e8] [TRACE] [.NET ThreadPool Worker] System.Net.Http.HttpClient.Default.ClientHandler - Request Headers:
User-Agent: Litium, (Client=directpayment), (8.2.1)
Authorization: Bearer xx
Content-Type: application/json; charset=utf-8
2022-02-24 11:19:41.6214 [App:01] [90fb8f5a34eba9b52f0409015c59c5e8] [INFO ] [] System.Net.Http.HttpClient.Default.ClientHandler - Received HTTP response headers after 90.8085ms - 200
2022-02-24 11:19:41.6214 [App:01] [90fb8f5a34eba9b52f0409015c59c5e8] [TRACE] [] System.Net.Http.HttpClient.Default.ClientHandler - Response Headers:
Cache-Control: no-store, no-cache
Server: Microsoft-IIS/10.0
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: *
X-Robots-Tag: noindex, nofollow
Date: Thu, 24 Feb 2022 10:19:41 GMT
Content-Length: 11909
Content-Type: text/html
2022-02-24 11:19:41.6214 [App:01] [90fb8f5a34eba9b52f0409015c59c5e8] [INFO ] [] System.Net.Http.HttpClient.Default.LogicalHandler - End processing HTTP request after 91.1564ms - 200
2022-02-24 11:19:41.6214 [App:01] [90fb8f5a34eba9b52f0409015c59c5e8] [TRACE] [] System.Net.Http.HttpClient.Default.LogicalHandler - Response Headers:
Cache-Control: no-store, no-cache
Server: Microsoft-IIS/10.0
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: *
X-Robots-Tag: noindex, nofollow
Date: Thu, 24 Feb 2022 10:19:41 GMT
Content-Length: 11909
Content-Type: text/html
2022-02-24 11:19:41.6214 [App:01] [90fb8f5a34eba9b52f0409015c59c5e8] [TRACE] [] Newtonsoft.Json.JsonSerializer - Unexpected character encountered while parsing value: <. Path '', line 0, position 0. Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 0, position 0.
at Newtonsoft.Json.JsonTextReader.ParseValue()
at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
2022-02-24 11:19:41.8700 [App:01] [90fb8f5a34eba9b52f0409015c59c5e8] [ERROR] [.NET ThreadPool Worker] Litium.Accelerator.Mvc.Controllers.Api.CheckoutController - Error when changing payment method to DirectPayment:DirectPay Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 0, position 0.
at Newtonsoft.Json.JsonTextReader.ParseValue()
at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
at Litium.Application.Runtime.ApplicationJsonConverterImpl.TryConvert[T](String json, Func`2 action)
at Litium.Application.Runtime.ApplicationJsonConverterImpl.ConvertJsonToObject[T](String jsonString)
at Litium.Connect.Application.Payments.PaymentProviderClient.SendAsJsonAsync[T](HttpClient httpClient, HttpMethod httpMethod, Uri uri, Object payload, CancellationToken cancellationToken)
at Litium.Connect.Application.Payments.PaymentProviderClient.InitializeOrUpdateSessionAsync(Payment payment, CancellationToken cancellationToken)
at Litium.Connect.Application.Payments.PaymentServiceBase.InitializePaymentAsync(Guid paymentSystemId, CartContextSession cartContext, InitializePaymentArgs args)
at Litium.Application.Sales.Checkout.CheckoutServiceImpl.BuildPaymentFlowResults(CartContextSession cartContext)
at Litium.Application.Sales.Checkout.CheckoutServiceImpl.InitializePaymentsAsync(CartContextSession cartContext, InitializePaymentsArgs args)
at Litium.Application.Sales.Checkout.CheckoutServiceImpl.AddPaymentAsync(ProviderOptionIdentifier paymentOptionId, CartContextSession cartContext, AddPaymentArgs args)
at Litium.Application.Sales.Checkout.CheckoutServiceImpl.AddPaymentAsync(ProviderOptionIdentifier paymentOptionId, CartContextSession cartContext, AddPaymentArgs args)
at Litium.Application.Sales.CartContextSessionServiceImpl.SelectPaymentOptionAsync(Guid systemId, SelectPaymentOptionArgs args)
at Litium.Application.Sales.CartContextSessionServiceImpl.SelectPaymentOptionAsync(Guid systemId, SelectPaymentOptionArgs args)
at Litium.Application.Sales.CartContextImpl.SelectPaymentOptionAsync(SelectPaymentOptionArgs args, CancellationToken cancellationToken)
at Litium.Accelerator.Mvc.Controllers.Api.CheckoutController.SetPaymentProvider(CheckoutViewModel model) in C:\xx\Src\Litium.Accelerator.Mvc\Controllers\Api\CheckoutController.cs:line 165
docker-compose.yaml:
version: '3'
services:
dnsresolver:
image: cytopia/bind
container_name: dnsresolver
ports:
- "53:53/tcp"
- "53:53/udp"
environment:
- WILDCARD_DNS=localtest.me=host.docker.internal
- DNS_FORWARDER=192.168.65.5
dns: 192.168.65.5
restart: unless-stopped
direct-payment:
image: registry.litium.cloud/apps/direct-payment:latest
dns:
- 192.168.65.2
restart: unless-stopped
ports:
- "10010:80"
- "10011:443"
environment:
# Enable HTTPS binding
- ASPNETCORE_URLS=https://+;http://+
- ASPNETCORE_HTTPS_PORT=10011
# Configuration for HTTPS inside the container, exported dotnet dev-certs with corresponding password
- ASPNETCORE_Kestrel__Certificates__Default__Password=xx
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/localhost.pfx
# Folder for the configuraiton, this is volume-mapped
- CONFIG_PATH=/app_config
# Folder where logfiles should be placed, this is volume-mapped
- APP_LOG_PATH=/logs
# Don't validate certificates
- AppConfiguration__ValidateCertificate=false
# Url to this app
- AppMetadata__AppUrl=https://customer-direct-payment.localtest.me:10011
# Url to the litium installation
- LitiumApi__ApiUrl=https://customer.localtest.me
volumes:
- ./data/direct-payment/config:/app_config
- ./data/direct-payment/data:/app_data
- ./data/direct-payment/logs:/logs
- ./data/direct-payment/DataProtection-Keys:/root/.aspnet/DataProtection-Keys
- ./data/https:/https:ro
direct-shipment:
image: registry.litium.cloud/apps/direct-shipment:latest
dns:
- 192.168.65.2
restart: unless-stopped
ports:
- "10020:80"
- "10021:443"
environment:
# Enable HTTPS binding
- ASPNETCORE_URLS=https://+;http://+
- ASPNETCORE_HTTPS_PORT=10021
# Configuration for HTTPS inside the container, exported dotnet dev-certs with corresponding password
- ASPNETCORE_Kestrel__Certificates__Default__Password=xx
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/localhost.pfx
# Folder for the configuraiton, this is volume-mapped
- CONFIG_PATH=/app_config
# Folder where logfiles should be placed, this is volume-mapped
- APP_LOG_PATH=/logs
# Don't validate certificates
- AppConfiguration__ValidateCertificate=false
# Url to this app
- AppMetadata__AppUrl=https://customer-direct-shipment.localtest.me:10021
# Url to the litium installation
- LitiumApi__ApiUrl=https://customer.localtest.me
volumes:
- ./data/direct-shipment/config:/app_config
- ./data/direct-shipment/data:/app_data
- ./data/direct-shipment/logs:/logs
- ./data/direct-shipment/DataProtection-Keys:/root/.aspnet/DataProtection-Keys
- ./data/https:/https:ro
direct payment config:
{
"DirectPay": {
"PaymentAccounts": [
{
"Id": "DirectPay",
"MerchantAccountId": null,
"Environment": "Test"
}
]
}
}
Not really sure what to do here…
Direct payment version: 1.1.2
Litium version: 8.2.1