Manual provisioning

371 views 0

How to configure manual provisioning for a product.


Manual provisioning by default is sending email to specific email addresses when a product is bought, renewed or deleted.

Configuring manual provisioning

To enable manual provisioning for products and set the email addresses, you will need to edit BillingApi\Web.config file that is located in the folder C:\Program Files (x86)\Atomia\BillingAPIs. Here is an example of a transformation file with name Web.ManualProvisioning.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="">
	<atomiaBilling xmlns="atomiaBilling">
			<provisioningOrder provisioningService="ManualProvisioningWithEmail" order="10" xdt:Transform="Insert" />
	<atomiaProvisioningConfiguration xmlns="atomiaProvisioning">
			<provisioningDescription name="ProvisioningDescription" xdt:Locator="Match(name)">
					<package name="ManualProvisioningWithEmail" type="Custom" xdt:Transform="Insert" />
			<manuallyProvisionedProducts xdt:Transform="Insert">
				<manuallyProvisionedProduct name="ManualProvisioningWithEmail" provisioningService="ManualProvisioningWithEmail" handlerClass="Atomia.Billing.Plugins.ProvisioningPlugins.AtomiaProvisioningPlugin.ManuallyProvisioningHandler, Atomia.Billing.Plugins.ProvisioningPlugins.AtomiaProvisioningPlugin">
					<onAdd template="ManualProvisioningAddTemplate">
						<notification recipient="[email protected]"/>
					<onDelete template="ManualProvisioningDeleteTemplate">
						<notification recipient="[email protected]"/>
					<onRenew template="ManualProvisioningRenewalTemplate">
						<notification recipient="[email protected]"/>
					<onUpgrade template="ManualProvisioningUpgradeTemplate">
					<onSuspend template="ManualProvisioningOnSuspendTemplate">
					<onUnsuspend template="ManualProvisioningUnsuspendTemplate">

The email addresses [email protected] should be replaced with your email addresses. Additionally, it is possible to configure and get email notifications when a subscription is downgraded, upgraded, suspended or unsuspended.

Keep in mind

If the manual provisioning is configured for a specific product, the option Re-provision must be enabled for that product. This option is available in Options section on the Edit product page for products with the recurring type of billing. If the re-provision option is disabled, the email will not be sent when the product is renewed.

Configuration options

The first configurable element is provisioningOrder which has attributes:

  • provisioningService – The name of the provisioning service. It must be the same as attribute provisioningService in the manuallyProvisionedProduct element.
  • order – Order in the provisioning process.

The second configurable element is package with attributes:

  • name – This value is visible in Edit product page inside the Provisioning service dropdown. It must match the name attribute value inside the manuallyProvisionedProduct element.
  • type – This should be Custom.

Next configurabe element is manuallyProvisionedProduct:

  • name – The name of the product. It can by any text.
  • provisioningService – The provisioning service name. It can by any text.
  • handlerClass – You probably don’t want to change this.

Finally, inside manuallyProvisionedProduct section you can set email template and email addresses for notifications:

  • template – Template name which will be used for emails. The mail template specified here must exist in the admin panel. This mail template is defined by two mail templates in the admin panel, one with suffix EmailSubject and the other with suffix EmailBody. For instance, if you set template="ManualProvisioningAddTemplate", you need to create ManualProvisioningAddTemplateEmailSubject and ManualProvisioningAddTemplateEmailBody templates in the admin panel.
  • recipient – Email address where the emails will be sent. You can find more information in the section Defining email addresses that is below.

Defining email addresses

Email address in the recipient attribute can be set in different ways:

  • Setting an email address directly, e.g. recipient="[email protected]".
  • You can define a property in the unattended.ini file and use its value as email address. For example, if you define the section CustomData and the property SupportEmail under the section CustomData, then you can use that property value like this recipient="{CustomData/SupportEmail}".
  • Using customers and resellers email addresses:
    • Customers main email address, e.g. recipient="customer.main".
    • Customers billing email adrress, e.g. recipient="customer.billing".
    • Customer shipping email address, e.g. recipient="".
    • Resellers main email address, e.g. recipient="reseller".

Was this helpful?