Since the previous release, there have been updates to both the platform SDK and its documentation.
In this document:
The PaymentMethodManagement API is extended with the following custom operations:
getPaymentSystems returns a list of payment systems available for the specified account.
addPaymentMethod adds a payment method based on the specified payment system to an account. See the respective example: Add Payment Methods.
tokenizePaymentMethod creates a token based on a Redirect or Modal payment method.
The existing updatePaymentMethod operation now enables external systems to make a payment method the default for the specified customer.
The above-mentioned operations were previously possible only in the user panel. Now they are available for external systems through the extended API.
The BssAccountInformation APS type exposes the following new custom operations:
getAvailableFunds returns the amount of funds of the specified account that can be used for payment as illustrated in the Custom Operations example. This operation enables an external system to check whether a customer has enough funds to pay for a new order.
initializeReseller allows an external system to finalize creation of a reseller in the platform by setting a required currency code for the reseller. For usage, refer to the examples of Custom Operations.
The restriction on the use of the APS-Actor-Scope header only in UX1 sessions is removed, and now this header is also available in sessions authenticated through OAuth. This allows an external management system interacting with the platform on behalf of a reseller to require a certain scope of resources to be returned by the platform.
In the DiscountManagement APS type, the new getDealsPerUnit operation is recommended instead of getDealsForPlans to calculate prices for specified service plans. The advantage is that it returns the prices per resource unit (instead of the prices per specified resource amount). The new operation supports the following automatic price calculations as illustrated in Examples:
Effective setup and recurring prices per subscription period and per resource rate
Discounts for the subscription periods and resource rates
Discounts caused by parent plans
Tiered prices
The OrderManagementApplication API rejects sales orders and change orders which do not comply with resource dependencies when the dependency type is REQUIRES as illustrated by the Resource Dependency Validation example.
The Real Services Integration Example demo project is extended with an example on how to expand the application product line by implementing the InitWizardVendorCatalogConfig APS type and using its fetchCatalog custom operation. The latter receives a list of new service MPNs (Manufacturer Product Number) and returns the configuration of service plans and related resources to sell the new services.
A new example illustrates how to make a payment method the default one for its owner.
The description of the APS-Skip-Content-Range header is added. This header substantially improves performance by skipping the counting of resources by the APS controller. The use of this header is recommended when the total number of resources is not required.