This article is a deployment guide that shows how to enable the Microsoft Dynamics 365 Commerce localization for Norway. The localization consists of several extensions of Commerce components. For example, the extensions let you print custom fields on receipts, register additional audit events, sales transactions, and payment transactions in Point of Sale (POS), digitally sign sales transactions, and print X and Z reports in local formats. For more information about the localization for Norway, see Cash register functionality for Norway.
This sample consists of extensions for the Commerce runtime (CRT), Retail Server, and POS. To run this sample, you must modify and build the CRT, Retail Server, and POS projects. We recommend that you use an unmodified Retail SDK to make the changes that are described in this article. We also recommend that you use a source control system, such as Microsoft Visual Studio Online (VSO), where no files have been changed yet.
Note
In Commerce 10.0.8 and above, Retail Server is known as Commerce Scale Unit. Because this article applies to multiple previous versions of the app, Retail Server is used throughout the article.
Some steps in the procedures in this article differ, depending on the version of Commerce that you're using. For more information, see What's new or changed in Dynamics 365 Retail.
To apply this functionality in the CRT extension, follow these steps.
Create a new CRT extension project (C# class library project type). Use the sample templates from the Retail software development kit (SDK) (RetailSDK\SampleExtensions\CommerceRuntime).
Add custom handler for CertificateSignatureServiceRequest in the SequentialSignatureRegister project.
To read a secret call, GetUserDefinedSecretCertificateServiceRequest using a constructor with profileId parameter. That will start the functionality working with settings from Certificate profiles. Based on the settings, the certificate will be retrieved either from Azure Key Vault or local machine storage.
When the certificate is retrieved, proceed with data signing.
Build the CRT extension project.
Copy the output class library and paste it into ...\RetailServer\webroot\bin\Ext for manual testing.
In the CommerceRuntime.Ext.config file, update the extension composition section with the custom library information.
Development environment
Complete these procedures to set up a development environment so that you can test and extend the sample.
The CRT extension components
The CRT extension components are included in the CRT samples. To complete the following procedures, open the CRT solution, CommerceRuntimeSamples.sln, under RetailSdk\SampleExtensions\CommerceRuntime.
ReceiptsNorway component
Find the Runtime.Extensions.ReceiptsNorway project, and build it.
In the Extensions.ReceiptsNorway\bin\Debug folder, find the Contoso.Commerce.Runtime.ReceiptsNorway.dll assembly file.
Copy the assembly file to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the Microsoft Internet Information Services (IIS) Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended for any customizations.
SalesTransactionSignature sample component
Find the Runtime.Extensions.SalesTransactionSignatureSample project.
Modify the App.config file by specifying the thumbprint, store location, and store name for the certificate that should be used to sign sales transactions.
Build the project.
In the Extensions.SalesTransactionSignatureSample\bin\Debug folder, find the following files:
The Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll assembly file
The Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll.config configuration file
Copy the files to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended for any customizations.
SalesTransactionSignature sample component
Find the Runtime.Extensions.SalesTransactionSignatureSample project.
Modify the App.config file by specifying the thumbprint, store location, and store name for the certificate that should be used to sign sales transactions.
Build the project.
In the Extensions.SalesTransactionSignatureSample\bin\Debug folder, find the following files:
The Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll assembly file
The Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll.config configuration file
Copy the files to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Find the Runtime.Extensions.SalesTransactionSignatureSample.Messages project.
In the Extensions.SalesTransactionSignatureSample.Messages\bin\Debug folder, find the Contoso.Commerce.Runtime.SalesTransactionSignatureSample.Messages.dll assembly file.
Copy the assembly file to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended for any customizations.
SalesTransactionSignature sample component
Find the Runtime.Extensions.SalesTransactionSignatureSample project.
Modify the App.config file by specifying the thumbprint, store location, and store name for the certificate that should be used to sign sales transactions.
Build the project.
In the Extensions.SalesTransactionSignatureSample\bin\Debug folder, find the following files:
The Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll assembly file
The Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll.config configuration file
Copy the files to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended for any customizations.
SequentialSignatureRegister.Contracts component
Find the Runtime.Extensions.SequentialSignatureRegister.Contracts project.
In the Extensions.SequentialSignatureRegister.Contracts\bin\Debug folder, find the Contoso.Commerce.Runtime.SequentialSignatureRegister.Contracts.dll assembly file.
Copy the assembly file to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
RegisterAuditEvent sample component
Find the Runtime.Extensions.RegisterAuditEventSample project, and build it.
In the Extensions.RegisterAuditEventSample\bin\Debug folder, find the Contoso.Commerce.Runtime.RegisterAuditEventSample.dll assembly file.
Copy the assembly file to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended for any customizations.
SequentialSignatureRegister component
Find the Runtime.Extensions.SequentialSignatureRegister project.
Modify the App.config file by specifying the thumbprint, store location, and store name for the certificate that should be used to sign sales transactions.
Build the project.
In the Extensions.SequentialSignatureRegister\bin\Debug folder, find the following files:
The Contoso.Commerce.Runtime.SequentialSignatureRegister.dll assembly file
The Contoso.Commerce.Runtime.SequentialSignatureRegister.dll.config configuration file
Copy the files to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended for any customizations.
SalesTransactionSignatureNorway component
Find the Runtime.Extensions.SalesTransactionSignatureNorway project.
In the Extensions.SalesTransactionSignatureNorway\bin\Debug folder, find the Contoso.Commerce.Runtime.SalesTransactionSignatureNorway.dll assembly file.
Copy the assembly file to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended for any customizations.
SequentialSignatureRegister.Contracts component
Find the Runtime.Extensions.SequentialSignatureRegister.Contracts project.
In the Extensions.SequentialSignatureRegister.Contracts\bin\Debug folder, find the Contoso.Commerce.Runtime.SequentialSignatureRegister.Contracts.dll assembly file.
Copy the assembly file to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
SalesPaymentTransExtNorway component
Find the Runtime.Extensions.SalesPaymentTransExtNorway project, and build it.
In the Extensions.SalesPaymentTransExtNorway\bin\Debug folder, find the Contoso.Commerce.Runtime.SalesPaymentTransExtNorway.dll assembly file.
Copy the assembly file to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended for any customizations.
SequentialSignatureRegister component
Find the Runtime.Extensions.SequentialSignatureRegister project.
Modify the App.config file by specifying the thumbprint, store location, and store name for the certificate that should be used to sign sales transactions.
Build the project.
In the Extensions.SequentialSignatureRegister\bin\Debug folder, find the following files:
The Contoso.Commerce.Runtime.SequentialSignatureRegister.dll assembly file
The Contoso.Commerce.Runtime.SequentialSignatureRegister.dll.config configuration file
Copy the files to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended for any customizations.
SalesTransactionSignatureNorway component
Find the Runtime.Extensions.SalesTransactionSignatureNorway project.
In the Extensions.SalesTransactionSignatureNorway\bin\Debug folder, find the Contoso.Commerce.Runtime.SalesTransactionSignatureNorway.dll assembly file.
Copy the assembly file to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended for any customizations.
SequentialSignatureRegister.Contracts component
Find the Runtime.Extensions.SequentialSignatureRegister.Contracts project.
In the Extensions.SequentialSignatureRegister.Contracts\bin\Debug folder, find the Contoso.Commerce.Runtime.SequentialSignatureRegister.Contracts.dll assembly file.
Copy the assembly file to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
SalesPaymentTransExtNorway component
Find the Runtime.Extensions.SalesPaymentTransExtNorway project, and build it.
In the Extensions.SalesPaymentTransExtNorway\bin\Debug folder, find the Contoso.Commerce.Runtime.SalesPaymentTransExtNorway.dll assembly file.
Copy the assembly file to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended for any customizations.
SequentialSignatureRegister component
Find the Runtime.Extensions.SequentialSignatureRegister project.
Modify the App.config file by specifying the thumbprint, store location, and store name for the certificate that should be used to sign sales transactions.
Build the project.
In the Extensions.SequentialSignatureRegister\bin\Debug folder, find the following files:
The Contoso.Commerce.Runtime.SequentialSignatureRegister.dll assembly file
The Contoso.Commerce.Runtime.SequentialSignatureRegister.dll.config configuration file
Copy the files to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended for any customizations.
SalesTransactionSignatureNorway component
Find the Runtime.Extensions.SalesTransactionSignatureNorway project.
In the Extensions.SalesTransactionSignatureNorway\bin\Debug folder, find the Contoso.Commerce.Runtime.SalesTransactionSignatureNorway.dll assembly file.
Copy the assembly file to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended for any customizations.
SequentialSignatureRegister.Contracts component
Find the Runtime.Extensions.SequentialSignatureRegister.Contracts project.
In the Extensions.SequentialSignatureRegister.Contracts\bin\Debug folder, find the Contoso.Commerce.Runtime.SequentialSignatureRegister.Contracts.dll assembly file.
Copy the assembly file to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
SalesPaymentTransExtNorway component
Find the Runtime.Extensions.SalesPaymentTransExtNorway project, and build it.
In the Extensions.SalesPaymentTransExtNorway\bin\Debug folder, find the Contoso.Commerce.Runtime.SalesPaymentTransExtNorway.dll assembly file.
Copy the assembly file to the CRT extensions folder:
Retail Server: Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
Find the extension configuration file for CRT:
Retail Server: The file is named commerceruntime.ext.config, and it's in the bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config, and it's under the local CRT client broker location.
Register the CRT change in the extension configuration file.
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended for any customizations.
The Retail Server extension components
SalesTransactionSignature Retail Server sample component
In the RetailSDK\SampleExtensions\RetailServer\RetailServer.Extensions.SalesTransactionSignatureSample folder, find the RetailServer.Extensions.SalesTransactionSignatureSample project, and build it.
In the RetailServer\Extensions.SalesTransactionSignatureSample\bin\Debug folder, find the Contoso.RetailServer.SalesTransactionSignatureSample.dll assembly file.
Copy the assembly file to the Retail Server extensions folder.
In the CommerceRuntime\Extensions.SalesTransactionSignatureSample\bin\Debug folder, find the following files:
The Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll assembly file
The Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll.config configuration file
Copy the files to the \bin folder under the IIS Retail Server site location.
Register the CRT change in the extension configuration file for CRT. This file is named commerceruntime.ext.config, and it's in the bin folder under the IIS Retail Server site location.
In the CommerceRuntime\Extensions.SalesTransactionSignatureSample.Messages\bin\Debug folder, find the Contoso.Commerce.Runtime.SalesTransactionSignatureSample.Messages.dll assembly file.
Copy the file to the \bin folder under the IIS Retail Server site location.
Register the CRT change in the extension configuration file for CRT. This file is named commerceruntime.ext.config, and it's in the bin folder under the IIS Retail Server site location.
This part is equivalent to the Retail Server controller, but it extends the local CRT that is used when the client isn't connected.
In the customization.settings file, change the @(RetailServerLibraryPathForProxyGeneration) section so that it uses the new Retail Server assembly for proxy generation.
Implement the following interface methods in the StoreOperationsManager class. For the first iteration, add the following code:
public Task<bool> SalesTransactionSignatureServiceIsReady()
{
throw new NotImplementedException();
}
public Task<FiscalTransaction> GetLastFiscalTransaction(string storeNumber, string terminalId)
{
throw new NotImplementedException();
}
public Task<bool> SalesTransactionSignatureServiceIsReady(string correlationId)
{
throw new NotImplementedException();
}
public Task<FiscalTransaction> GetLastFiscalTransaction(string storeNumber, string terminalId)
{
throw new NotImplementedException();
}
Note
This step doesn't apply to this version.
Note
This step doesn't apply to this version.
Note
This step doesn't apply to this version.
Note
This step doesn't apply to this version.
To regenerate the proxy code, build the Proxies folder from the command line by using the msbuild /t:Rebuild command.
Resolve the Proxies.RetailProxy project dependencies:
Open RetailSDK\Proxies\RetailProxy\Proxies.RetailProxy.csproj, add the RetailSDK\SampleExtensions\CommerceRuntime\Extensions.SalesTransactionSignatureSample\CommerceRuntime.Extensions.SalesTransactionSignatureSample project to the solution, and add a project reference to the RetailProxy project to reference SalesTransactionSignatureSample.
Open RetailSDK\Proxies\RetailProxy\Proxies.RetailProxy.csproj, add the RetailSDK\SampleExtensions\CommerceRuntime\Extensions.SalesTransactionSignatureSample.Messages\CommerceRuntime.Extensions.SalesTransactionSignatureSample.Messages project to the solution, and add a project reference to the RetailProxy project to reference SalesTransactionSignatureSample.Messages.
Note
This step doesn't apply to this version.
Note
This step doesn't apply to this version.
Note
This step doesn't apply to this version.
Note
This step doesn't apply to this version.
Adjust the interface methods in the StoreOperationsManager class:
Retail proxy extension component (Retail 7.3.1 and later)
Complete the following procedure only if you're using Retail 7.3.1 and later.
In the RetailSDK\SampleExtensions\RetailProxy\RetailProxy.Extensions.SalesTransactionSignatureSample folder, find the RetailServer.Extensions.SalesTransactionSignatureSample project, and build it.
In the RetailProxy\RetailProxy.Extensions.SalesTransactionSignatureSample\bin\Debug folder, find the Contoso.Commerce.RetailProxy.SalesTransactionSignatureSample assembly file.
Copy the assembly files to the \ext folder under the local CRT client broker location.
Register the Retail proxy change in the extension configuration file. The file is named RetailProxy.MPOSOffline.ext.config, and it's under the local CRT client broker location.
Open the solution at RetailSdk\POS\ModernPOS.sln, and make sure that it can be compiled without errors. Additionally, make sure that you can run Modern POS from Microsoft Visual Studio by using the Run command.
Note
Modern POS must not be customized. You must enable User Account Control (UAC), and you must uninstall previously installed instances of Modern POS as required.
Include the following existing source code folders in the Pos.Extensions project.
For more information, and for samples that show how to include source code folders and enable extensions to be loaded, see the instructions in the readme.md file in the Pos.Extensions project.
Rebuild the solution.
Run Modern POS in the debugger, and test the functionality.
Cloud POS extension components
Open the solution at RetailSdk\POS\CloudPOS.sln, and make sure that it can be compiled without errors.
Include following existing source code folders in the Pos.Extensions project.
For more information, and for samples that show how to include source code folders and enable extensions to be loaded, see the instructions in the readme.md file in the Pos.Extensions project.
Rebuild the solution.
Run the solution by using the Run command and following the steps in the Retail SDK handbook.
Modify the certificate's configuration file by specifying the thumbprint, store location, and store name for the certificate that should be used to sign sales transactions. Then copy the configuration file to the References folder.
The file is named Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll.config, and it's under CommerceRuntime\Extensions.SalesTransactionSignatureSample\bin\Debug.
The file is named Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll.config, and it's under CommerceRuntime\Extensions.SalesTransactionSignatureSample\bin\Debug.
The file is named Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll.config, and it's under CommerceRuntime\Extensions.SalesTransactionSignatureSample\bin\Debug.
The file is named Contoso.Commerce.Runtime.SequentialSignatureRegister.dll.config, and it's under Extensions.SequentialSignatureRegister\bin\Debug.
The file is named Contoso.Commerce.Runtime.SequentialSignatureRegister.dll.config, and it's under Extensions.SequentialSignatureRegister\bin\Debug.
The file is named Contoso.Commerce.Runtime.SequentialSignatureRegister.dll.config, and it's under Extensions.SequentialSignatureRegister\bin\Debug.
Update Retail Server configuration file. In the RetailSDK\Packages\RetailServer\Code\web.config file, add the following lines to the extensionComposition section.
Run msbuild for the whole Retail SDK to create deployable packages.
Apply the packages via Microsoft Dynamics Lifecycle Services (LCS) or manually. For more information, see Create deployable packages.
Enable the digital signature in offline mode for Modern POS
To enable the digital signature in offline mode for Modern POS, you must follow these steps after you activate Modern POS on a new device.
Sign in to POS.
On the Database connection status page, make sure that the offline database is fully synchronized. When the value of the Pending downloads field is 0 (zero), the database is fully synchronized.
Sign out of POS.
Wait a while for the offline database to be fully synchronized.
Sign in to POS.
On the Database connection status page, make sure that the offline database is fully synchronized. When the value of the Pending transactions in offline database field is 0 (zero), the database is fully synchronized.