PurchaseProduct
The PurchaseProduct web service
XML- or JSON-based information exchange systems that use the Internet for direct application-to-application interaction. These systems can include programs, objects, messages, or documents. provides Subscribers with the functionality to purchase one-off product offers, such as Top-ups or Bolt-ons, from an external Selfcare
A MDS online self-service customer care tool. application or an IVR
Interactive Voice Response.
An automated customer management interface that accepts voice and phone tone input to allow limited self-management of an account. system.
The Selfcare application invokes the ability to take real time payments for the products via a third party
Of software; a reusable component developed to be either freely distributed or sold by an entity other than the original vendor of the development platform. payment provider by calling a Purchase Offers request in the associated Real TIme Charging (RTC
Real Time Charging. Also known as an Online Charging System (OCS), a system that allows service providers to charge customers in real time, based on their service usage.) system, which in turn adds the top-up usage
The consumption of services, for example a subscriber using call minutes. to the relevant Subscription
A billing entity that incurs a charge. Examples include a network attached device whose usage you want to measure and charge for, or a monthly software subscription. This supplemental usage is known as the Basket.
Any external payments can be recorded in CMP
Converged Monetisation Platform. The MDS Global product that supports customer care and billing for digital service providers. against an overriding posting account
In the Cloud Monetisation Platform, a billing entity that can be used to manage payments on one or more subscriptions or payments for services. An account can hold details such as payments or invoices. (general ledger for the company) which can consist of multiple Subscriptions. It is possible for a parent Subscription related to this post-pay Account to top up other Subscriptions under that Account, provided the Account is not in credit control.
If an Account is in credit control, no purchase activity is allowed on the Account, even for pre-paid Subscriptions.
It is configurable whether payments are recorded against the customer
In the context of the Cloud Monetisation Platform, an individual or organisation who has signed an agreement to take goods and services from a service provider. A customer receives a bill associated with one or more subscriptions, and can be a single end user or a large company with many subscriptions assigned to one agreement. Accounts or the overriding Posting Account.
PurchaseProduct Request
The PurchaseProduct tag instructs the Basket Service to enable an external application to purchase one-off offers from the RTC system and to take payments for those products via an external payment provider. This request contains the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
ExternalReference |
String69 |
The client may use this identifier to correlate the request and the response. |
Optional |
|
SubscriptionNumber |
Integer8 |
Indicates the unique system generated Subscription Number. |
Mandatory |
|
ReloadMethod |
String6 |
Reload Method is primarily used to indicate where the charge for the reload will go. A reload can be linked to multiple reload methods, so it is possible to have a situation where one reload method has an overriding Account and another doesn't (i.e. goes directly to the customer's Account). |
Mandatory |
|
TransactionReference |
String20 |
This is used to store the transaction reference of the payment. If this element is populated, it needs to be stored on the Purchase Reference field on the CMP Event Reload file. |
Optional |
|
PaymentDetails |
Container |
See PaymentDetails Request Container for details. |
Optional |
|
PurchaseOffers |
Container |
See PurchaseOffers Request Container for details. |
Mandatory |
|
Synchronous |
Boolean |
Indicates if the purchase should be made synchronously or asynchronously If the 'synchronous' parameter is not specified in the request the default will be to execute synchronously. |
Optional |
|
AuditRecord |
Container |
See AuditRecord Request Container for details. |
Optional |
PaymentDetails Request Container
The PaymentDetails request container has the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
TransactionReference |
String20 |
This is used to store the Transaction Reference of the payment. |
Optional |
|
PaymentReference |
String40 |
Third Party payment reference, normally this is set with the payment reference returned from the payment provider. |
Optional |
|
CardReference |
String30 |
The tokenised string representing the card. |
Optional |
|
TransactionDateTime |
dateTime |
Transaction date. Defaults to current date/time. |
Mandatory |
|
CurrencyCode |
String |
ISO 4217 Currency code (e.g. GBP, EUR, USD) |
Mandatory |
|
PaymentType |
String6 |
Indicates nature of payment e.g. credit card, direct debit, cheque. |
Mandatory |
|
CardNumber |
String20 |
The final 4 digits of the number of the credit card used to make the payment. |
Optional |
|
StartDate |
Container |
See StartDate Container for details. |
Optional |
|
ExpiryDate |
Container |
See ExpiryDate Container for details. |
Optional |
|
NameOnCard |
String20 |
The cardholder's name as it appears on the card. |
Optional |
|
AVSHouseStreetNumber |
String25 |
The Address of the cardholder. |
Optional |
|
PostCode |
String10 |
Postcode of the cardholder. |
Optional |
|
CountryCode |
String2 |
The Number Code for the country where the cardholder resides. |
Optional |
|
ReasonCode |
String4 |
Reason Codes are four-character reason identifiers which are used in conjunction with Reason Types for the initiation of any workflow within CMP. |
Optional |
|
ProductService |
String30 |
This allows the payment description to be captured. |
Optional |
|
AuthorisationCode |
String6 |
Obtained by the client application from the Payment Provider to indicate the payment was approved. |
Optional |
StartDate Container
The StartDate request container has the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
Month |
String6 |
Valid Month Start Date on the card. MM |
Mandatory |
|
Year |
Integer2 |
Valid Year Start Date on the card. YY |
Mandatory |
ExpiryDate Container
The ExpiryDate request container has the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
Month |
String6 |
Valid Month Start Date on the card. MM |
Mandatory |
|
Year |
Integer2 |
Valid Year Start Date on the card. YY |
Mandatory |
PurchaseOffers Request Container
The PurchaseOffers request container has the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
ReloadOption |
String6 |
This represents the reload option(s) being purchased. |
Mandatory |
|
Price |
Currency (Decimal) |
The price to be charged for the reload. |
Optional |
AuditRecord Request Container
The AuditRecord request container has the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
UserID |
String10 |
User ID associated with the profile. This is the ID which the calling program adds to the records that are created. |
Mandatory |
|
Program |
String10 |
The Program Name should be hard coded in the calling application to uniquely identify that application. |
Mandatory |
Sample PurchaseProduct Request
PurchaseProduct Response
The PurchaseProduct response is the response to the PurchaseProduct Request. This contains the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
ExternalReference |
String69 |
Returned unmodified in the response. The client may use this identifier to correlate the request and the response. |
Optional |