NAV Navbar
HTTP GET HTTP POST SOAP JSON

Infomedia Platform Integration

Introduction

This document provides Partners with the information they need to manage their integration with the Infomedia platform. This will allow Partners to connect to any Mobile Carrier facilitated by Infomedia through our standard Checkout Pages-hosted flow.

Checkout Pages flow consists of:
1. Infomedia Checkout Pages-hosted user acquisition flow to allow the user to purchase a product or subscribe to a service.
2. Infomedia managing the subscription base, and therefore triggering all billing and compliance messaging.

The integration into the Checkout Pages platform will allow you to perform the following: Checkout Pages Integration

Checkout Pages Flow

The following sequence diagram shows the basic user acquisition flow through the Checkout Pages platform. Once the user has been successfully subscribed, or successfully purchases a product, they are directed to the Partner's service URL. Checkout Pages Flow sequence diagram

Pass user to Checkout Page

A user must be passed to an Infomedia-hosted Checkout Pages URL, which will be generated by Infomedia and provided to you for each individual service. Please contact your Technical Account Manager to have the Checkout Page setup and to be provided with the URL.

Once you have your Checkout Pages service URL, you can send users to it along with appending a 'PT' (PassThrough) parameter to the URL, which can contain any value in a URL encoded format. This 'PT' parameter will be returned to you in the response.

Due to the length and appearance of the Checkout Pages URL domain, the Partner should 'CNAME' to the domain of their choice, over the domain of the Infomedia Checkout Pages URL. This will allow your users to view/access a much shorter and visibly appropriate URL to access the Checkout Pages service.

Once the user has accessed the Checkout Pages URL, they will go through a series of acquisition/payment pages, which may all be hosted by Infomedia for some carriers, and in some cases could be hosted by the carrier themselves. In either case, the user will be passed back to the Partner's platform at the end of the flow, either having initiated a subscription/purchase, or having cancelled out of the flow.

If the user has setup a subscription/performed a purchase, then they are passed back to the Partner's platform with the following populated parameters:

Parameter Description
MX Populated with an encrypted MSISDN or encrypted Infomedia Alias.
MCC 3-digit Mobile Country Code
MNC 2-digit Mobile Network Code
Success '1' signifying that an acquisition has taken place successfully.
PT The pass-through value, if PT was passed to the original Infomedia-hosted Checkout Pages URL.

Once the successful user has returned to your platform via the return URL, you will be able to provide them with access to their service. This would be the best time to store the user's details, e.g. MX, MCC, MNC, or possibly have the user create login credentials for your service so you can identify them when they return to your service in the future. For more details please refer to Managing Returning Customers.

Checkout Pages Integration

Subscription

Subscriptions are managed by the Infomedia platform, and the user's triggering of a subscription takes place via the Infomedia-hosted Checkout Pages flow. The Infomedia platform triggers the subscription and then the user is passed back to the Partner's platform.

Ensure the user has been passed to the Checkout Pages URL by following the points in this section.

Subscription Cancellation

Cancelling a subscription can be done via the following methods:

  1. Partner-triggered subscription cancellation: You can unsubscribe a user from a service by triggering the SubscriptionUnsubscribe method of the Mobile Payments API.

  2. STOP MO SMS: Users can unsubscribe by sending a STOP MO message which is handled by the carrier. Please get in contact with your Technical Account Manager to setup a keyword and request short code information.

One-time purchase

One-time purchases are triggered by the user on the Infomedia platform via the Infomedia-hosted Checkout Pages flow. The Infomedia platform triggers the bill and then the user is passed back to the Partner's platform.

Ensure the user has been passed to the Checkout Pages URL by following the points in this section.

Notifications

The Infomedia platform can trigger asynchronous notifications to your platform in the event of certain actions taking place. The following notification types are available to be configured per Partner. Please contact your Technical Account Manager if you would like notifications for any of the following to be configured:

• Successful Subscriptions
• Successful Subscription Cancellations
• Successful bills (one-time purchase and recurring subscription billing)
Refer to section Subscriber Notifications for more information on how to handle these notifications.

• Delivered MT SMS
Refer to section SMS Notifications for more information on how to handle these notifications.

Page interaction Notifications

Checkout Pages services allow for the capture of real-time notifications upon specific events occuring on the Checkout Page. Each notification reports an Action ID for specific events on the page as listed below:

ActionID Description
1 User has landing on the Landing Page
2 Subscribe Click
3 Confirm subscription/payment Click
4 Licensing acquisition Click
5 User is browsing whilst being on an unsupported carrier network
6 Non detected user
7 Successful aquisition
8 Invalid PIN Entry
9 User has clicked the Exit/Cancel button/link
10 Error aquiring user
11 Already subscribed
12 Aquisition timeout reset

To receive these notifications when a user interacts with the Checkout Pages service, please provide your Technical Account Manager with a URL for your notification handler and the notifications will be configured.

Page interaction notification parameters:

Parameter Description
EngagementID Unique reference for the interaction that has taken place between the user and the service.
MX Populated with an encrypted MSISDN or encrypted Infomedia Alias.
MCC 3-digit Mobile Country Code.
MNC 2-digit Mobile Network Code.
PID The ServiceID or the BPID for the Product that the user is requesting.
SID ServiceID. Infomedia will supply you with a list of these.
PageIdentifier This should be a meaningful reference for the page which would then be used for tracking and identifying notifications.
PT The pass-through value, if PT was passed to the original Infomedia-hosted Checkout Pages URL.
ActionID ID relating to the action occurring on the Checkout Page for which the notification has occurred.
DateTime Date and time.
AFID Unique identifier relating to the specific Checkout Page service.

Google Analytics

Checkout Pages services can be configured to utilise Google Analytics to monitor user flow and interactions. Please provide your Technical Account Manager with your Google Analytics TrackingID to have this configured.

Managing Returning Customers

A customer's first access to a Partner's service is usually straight after the Checkout Pages acquisition flow. Your environment will be able to recognise the customer based upon the MX, MCC, and MNC returned from the Checkout Pages platform. However, when the customer leaves your service page/app and returns again at another time, you may need to identify them again and authenticate them to provide them with access to the service.

User Detection

User detection is required to authenticate a user before providing them with access to a service. You should first attempt to identify the user by using your own methods, e.g. via user login, or checking a cookie/session on your platform. You would want to do this when a returning user lands on your platform and you want to detect them to send them through to their service that they may already have purchased/subscribed to. If your own detection methods fail, then you would utilise the Infomedia User Detection methods. If the user is detected but not yet acquired, you would send them through the Checkout Pages acquisition/purchase flow.

Identification Flow sequence diagram: Returning User

1. Header enrichment

User detection will be handled via the IABLU platform. The IABLU flow can be used to retrieve the MX (an encrypted Operator Identification), MCC and MNC details for a user. The user must be browsing whilst on their mobile data connection and not Wi-Fi for detection to succeed. This is done via a process known as Header Enrichment.

To decrypt the MX, please call the Decrypt MX method. The MX will contain either the MSISDN or an Infomedia Alias, however the MX should be passed to the API methods instead of passing an MSISDN or Alias.

2. Manual Input/PIN flow

The following PIN flow is an optional alternative way of carrying out user identification, particularly useful when a user is on a Wi-Fi connection and therefore can't be detected via Header Enrichment. You can create your own one-time PIN and send it to a user's device via the Infomedia SMS API.

a. SMS API: You would need to generate your own PIN and send this to the user through the Infomedia SMS API via the SendMessageWithCampaign method. Please get in contact with your Technical Account Manager to setup a CampaignID to send an SMS. After receiving the PIN, the user will have to enter this on your platform, where you will have to carry out validation of the PIN against the user's MSISDN that triggered it, before providing the user with access to their service.

Subscription Status Check

Make a call to the Subscription Check method to check the status of a user's subscription. If the user has an Active status, they should be given access to their service, otherwise they can be passed through to the Checkout Pages acquisition flow, or to wherever else is appropriate in your flow.

Mobile Payments API

This API is split into three parts: MSISDN Identification, Billing and Subscriptions. Several MSISDN Identification methods are available, depending on carrier. These are explained later in the documentation.

The Billing section can be used for one-time purchases or for processing recurring payments from a Subscription service managed by yourselves.

The Subscription section can be used to Subscribe and Unsubscribe users to/from a subscription service or Check a subscription that is managed by Infomedia. Recurring payments and retry policies.

You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

The Infomedia Mobile Payments API has been developed to provide a simple interface for single or re-occuring billing for publishers/content owners to access the network billing solutions of Worldwide Operators.

Authentication

Developers will not be able to access any API methods without a username, password, and the required product IDs. Developers are also required to provide the IP Addresses that requests to the API will be made from so that they can be whitelisted.

API access credentials are set up and provided to you upon completion of your Account Setup document. For Product ID setup, please get in contact with your Account Manager.

User Identification

An MX, MCC and MNC, are required for many methods in the Mobile Payments API. If this data is not already known, it can be retrieved by using the following identification method via Header Enrichment.

Identify user via redirect method (IABLU)

The user must be physically passed to this URL whilst browsing using their mobile data connection and not on Wi-Fi. Once successfully detected, the user's MX, MCC, and MNC will be appended to the QueryString in the ReturnURL provided.

The ReturnURL/s must be provided to Infomedia to be whitelisted for the User Identification request to be accepted. The ReturnURL in the request must be URL Encrypted and can include a QueryString of it's own if necessary.

HTTP Request

TEST http://wbg.Infomediatechnologies.com/iablusb/V/1/6/?m=redirect&ru=[ReturnURL]
LIVE http://wbg.Infomediatechnologies.com/iablu/V/1/6/?m=redirect&ru=[ReturnURL]

Authentication

The Query String parameters in the table below will be required for a successful identification flow. The descriptions for each flow will indicate if these are required. These are required to be appended onto the HTTP Request detection URL.

Parameter Description Optional
AID Your AccountID. This will be provided by your Account Manager. Required
PAID A Product Account ID allocated per product which will be provided by the Infomedia Account Manager. (Example: dd59a7c3-d8e2-4348-b809-c9ad8bc71fe6) Required
PID The ServiceID or the BPID for the Product that the user is requesting. Required
PT The pass-through value. If provided, it will be returned in the response after identification is attempted.

Response Parameters

Parameter Description
MX Encrypted MSISDN/Alias. This can be decrypted using DecryptMX.
MCC The Mobile Country Code.
MNC The Mobile Network Code.
PT The pass-through value. If provided in the request, it will be returned in the response after identification is attempted.

Decrypt MX

This method returns an MSISDN or Alias from the MX supplied.

Sample Request

GET /V/1/6/Default.asmx/DecryptMX?MX=string&U=string&P=string HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
POST /V/1/6/Default.asmx/DecryptMX HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

MX=string&U=string&P=string
POST /V/1/6/Default.asmx HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://localhost/InAppbillingAPI/InAppBilling/DecryptMX"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <DecryptMX xmlns="http://localhost/InAppbillingAPI/InAppBilling">
      <MX>string</MX>
      <U>string</U>
      <P>string</P>
    </DecryptMX>
  </soap:Body>
</soap:Envelope>
Example Request
POST /V/1/6/Default.asmx/DecryptMX HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
Content-Type: application/json
Accept: application/json
Content-Length: length

{
"MX":"STRING", 
"U":"STRING",
"P":"STRING"
}

Request Parameters

Parameter Description Optional
MX Encrypted Alias or encrypted MSISDN. Required
U Your Username Required
P Your Password Required

Sample Response

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<DecryptedMX xmlns="http://localhost/InAppbillingAPI/InAppBilling">
  <Status>string</Status>
  <Description>string</Description>
  <MSISDN>string</MSISDN>
</DecryptedMX>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<DecryptedMX xmlns="http://localhost/InAppbillingAPI/InAppBilling">
  <Status>string</Status>
  <Description>string</Description>
  <MSISDN>string</MSISDN>
</DecryptedMX>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <DecryptMXResponse xmlns="http://localhost/InAppbillingAPI/InAppBilling">
      <DecryptMXResult>
        <Status>string</Status>
        <Description>string</Description>
        <MSISDN>string</MSISDN>
      </DecryptMXResult>
    </DecryptMXResponse>
  </soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: length

{
"d":{
"__type":"MobilePaymentsLibrary.DecryptMX",
"Status":"STRING",
"Description":"STRING",
"MSISDN":"STRING"
}
}

Response Parameters

Parameter Description
Status This node can be Success or Error.
Description This should be interpreted to determine the outcome. See Status and Description Values for details.
MSISDN The decrypted MX will return a MSISDN in international format or an Infomedia Alias.

Status and Description Values

The table below lists Status and Description values that may be found in the response for this API call.

Status Description Action
Success 00 - Everything was ok This request has been successfully accepted by our platform.
Error 00 - Invalid MX No MX parameter was passed in the request or invalid MX or MSISDN was passed. Please correct this parameter and re-try the submission.
Error 01 - Invalid login The login credentials are incorrect. Please correct and re-try the submission.
Error 02 - Unuathorised The account is not authorised to access this API call. Please contact your Account Manager.
Error 06 - Unauthorised IP The IP Address of the client server has not been whitelisted. Please contact your Account Manager.
Error 99 - Internal Error Infomedia internal error. Please re-try API. If this failure persists please contact your Account Manager.

Alias Lookup

This call allows the API user to lookup a carrier's Alias for an MSISDN.

Sample Request

GET /V/1/6/Default.asmx/AliasLookUp?MX=string&MCC=string&MNC=string&U=string&P=string HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
POST /V/1/6/Default.asmx/AliasLookUp HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

MX=string&MCC=string&MNC=string&U=string&P=string
POST /V/1/6/Default.asmx HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://localhost/InAppbillingAPI/InAppBilling/AliasLookUp"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <AliasLookUp xmlns="http://localhost/InAppbillingAPI/InAppBilling">
      <MX>string</MX>
      <MCC>string</MCC>
      <MNC>string</MNC>
      <U>string</U>
      <P>string</P>
    </AliasLookUp>
  </soap:Body>
</soap:Envelope>
Example Request
POST /V/1/6/Default.asmx/AliasLookUp HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
Content-Type: application/json
Accept: application/json
Content-Length: length

{
"MX":"STRING", 
"MCC":"STRING", 
"MNC":"STRING", 
"U":"STRING",
"P":"STRING"
}

Request Parameters

Parameter Description Optional
MX Encrypted Alias or encrypted MSISDN. Required
MCC The Mobile Country Code Required
MNC The Mobile Network Code Required
U Your Username Required
P Your Password Required

Sample Response

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<AliasLookup xmlns="http://localhost/InAppbillingAPI/InAppBilling">
  <Status>string</Status>
  <Description>string</Description>
  <CarrierAlias>string</CarrierAlias>
</AliasLookup>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<AliasLookup xmlns="http://localhost/InAppbillingAPI/InAppBilling">
  <Status>string</Status>
  <Description>string</Description>
  <CarrierAlias>string</CarrierAlias>
</AliasLookup>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <AliasLookUpResponse xmlns="http://localhost/InAppbillingAPI/InAppBilling">
      <AliasLookUpResult>
        <Status>string</Status>
        <Description>string</Description>
        <CarrierAlias>string</CarrierAlias>
      </AliasLookUpResult>
    </AliasLookUpResponse>
  </soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: length

{
"d":{
"__type":"MobilePaymentsLibrary.AliasLookUp",
"Status":"STRING",
"Description":"STRING",
"CarrierAlias":"STRING"
}
}

Response Parameters

Parameter Description
Status This node can be Success or Error.
Description This should be interpreted to determine the outcome. See Status and Description Values for details.
CarrierAlias This is an ID that we hold which relates to the Carrier's Alias for this MSISDN.

Status and Description Values

The table below lists Status and Description values that may be found in the response for this API call.

Status Description Action
Success 00 - Everything was ok This request has been successfully accepted by our platform.
Error 00 - Invalid MX No MX parameter was passed in the request or invalid MX or MSISDN was passed. Please correct this parameter and re-try the submission.
Error 01 - Invalid Login The login credentials are incorrect. Please correct and re-try the submission.
Error 02 - Unuathorised The account is not authorised to access this API call. Please contact your Account Manager.
Error 06 - Unauthorised IP The IP Address of the client server has not been whitelisted. Please contact your Account Manager.
Error 31 - No Alias found for this MSISDN No Alias was found for this MSISDN on the Carrier API.
Error 99 - Internal Error Infomedia internal error. Please re-try API. If this failure persists please contact your Account Manager.

Subscription Check

This method allows a Partner to check the status of a user's subscription.

Sample Request

GET /V/1/6/Default.asmx/SubscriptionCheck?SID=string&MX=string&MNC=string&MCC=string&U=string&P=string HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
POST /V/1/6/Default.asmx/SubscriptionCheck HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

SID=string&MX=string&MNC=string&MCC=string&U=string&P=string
POST /V/1/6/Default.asmx HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://localhost/InAppbillingAPI/InAppBilling/SubscriptionCheck"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <SubscriptionCheck xmlns="http://localhost/InAppbillingAPI/InAppBilling">
      <SID>int</SID>
      <MX>string</MX>
      <MNC>int</MNC>
      <MCC>int</MCC>
      <U>string</U>
      <P>string</P>
    </SubscriptionCheck>
  </soap:Body>
</soap:Envelope>
Example Request
POST /V/1/6/Default.asmx/SubscriptionCheck HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
Content-Type: application/json
Accept: application/json
Content-Length: length

{
"SID":"STRING",
"MX":"STRING", 
"MCC":"STRING",
"MNC":"STRING",
"U":"STRING",
"P":"STRING"
}

Request Parameters

Parameter Description Optional
SID ServiceID. Infomedia will supply you with a list of these. Required
MX Encrypted Alias or encrypted MSISDN, or if unavailable, then provide MSISDN with country code (e.g. 447777123456). Required
MNC The Mobile Network Code Required
MCC The Mobile Country Code Required
U Your Username Required
P Your Password Required

Sample Response

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<SubsCheck xmlns="http://localhost/InAppbillingAPI/InAppBilling">
  <Status>string</Status>
  <Description>string</Description>
  <SID>string</SID>
  <MX>string</MX>
  <MCC>string</MCC>
  <MNC>string</MNC>
</SubsCheck>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<SubsCheck xmlns="http://localhost/InAppbillingAPI/InAppBilling">
  <Status>string</Status>
  <Description>string</Description>
  <SID>string</SID>
  <MX>string</MX>
  <MCC>string</MCC>
  <MNC>string</MNC>
</SubsCheck>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <SubscriptionCheckResponse xmlns="http://localhost/InAppbillingAPI/InAppBilling">
      <SubscriptionCheckResult>
        <Status>string</Status>
        <Description>string</Description>
        <SID>string</SID>
        <MX>string</MX>
        <MCC>string</MCC>
        <MNC>string</MNC>
      </SubscriptionCheckResult>
    </SubscriptionCheckResponse>
  </soap:Body>
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: length

{
"d":{
"__type":"MobilePaymentsLibrary.SubscriptionCheck",
"Status":"STRING",
"Description":"STRING",
"SID":"STRING",
"MX":"STRING", 
"MCC":"STRING",
"MNC":"STRING",
}
}

Response Parameters

Parameter Description
Status This node can be Success or Error, see below table for further details of failures.
Description This should be interpreted to determine the outcome. See Status and Description Values for details.
SID The Subscription ID that the MSISDN/Alias was subscribed to.
MX An encrypted version of the MSISDN/Alias.
MCC The Mobile Country Code
MNC The Mobile Network Code

Status and Description Values

The table below lists Status and Description values that may be found in the response for this API call.

Status Description Action
Success 00 - User is subscribed The customer is subscribed to the service.
Error 00 - Invalid MX No MX parameter was passed in the request or invalid MX or MSISDN was passed. Please correct this parameter and re-try the submission.
Error 01 - Invalid login The login credentials are incorrect. Please correct and re-try the submission.
Error 02 - Unuathorised The account is not authorised to access this API call. Please contact your Account Manager.
Error 06 - Unauthorised IP The IP Address of the client server has not been whitelisted. Please contact your Account Manager.
Error 15 - Invalid SID The Service ID parameter was incorrect. Please correct the parameter and retry.
Error 99 - Internal Error Infomedia internal error. Please re-try API. If this failure persists please contact your Account Manager.

Subscription Unsubscribe

This method allows a Partner to unsubscribe a user from an active subscription.

Sample Request

GET /V/1/6/Default.asmx/SubscriptionUnsubscribe?SID=string&MX=string&MNC=string&MCC=string&U=string&P=string HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
POST /V/1/6/Default.asmx/SubscriptionUnsubscribe HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

SID=string&MX=string&MNC=string&MCC=string&U=string&P=string
POST /V/1/6/Default.asmx HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://localhost/InAppbillingAPI/InAppBilling/SubscriptionUnsubscribe"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <SubscriptionUnsubscribe xmlns="http://localhost/InAppbillingAPI/InAppBilling">
      <SID>int</SID>
      <MX>string</MX>
      <MNC>int</MNC>
      <MCC>int</MCC>
      <U>string</U>
      <P>string</P>
    </SubscriptionUnsubscribe>
  </soap:Body>
</soap:Envelope>
POST /V/1/6/Default.asmx/SubscriptionUnsubscribe HTTP/1.1
Host: iab.wbg.infomediatechnologies.com
Content-Type: application/json
Accept: application/json
Content-Length: length

{
"SID":"STRING",
"MX":"STRING", 
"MCC":"STRING",
"MNC":"STRING",
"U":"STRING",
"P":"STRING"
}

Request Parameters

Parameter Description Optional
SID ServiceID. Infomedia will supply you with a list of these. Required
MX Encrypted Alias or encrypted MSISDN, or if unavailable, then provide MSISDN with country code (e.g. 447777123456). Required
MNC The Mobile Network Code Required
MCC The Mobile Country Code Required
U Your Username Required
P Your Password Required

Sample Response

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<SubsUnsub xmlns="http://localhost/InAppbillingAPI/InAppBilling">
  <Status>string</Status>
  <Description>string</Description>
  <SID>string</SID>
  <MX>string</MX>
  <MCC>string</MCC>
  <MNC>string</MNC>
</SubsUnsub>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<SubsUnsub xmlns="http://localhost/InAppbillingAPI/InAppBilling">
  <Status>string</Status>
  <Description>string</Description>
  <SID>string</SID>
  <MX>string</MX>
  <MCC>string</MCC>
  <MNC>string</MNC>
</SubsUnsub>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <SubscriptionUnsubscribeResponse xmlns="http://localhost/InAppbillingAPI/InAppBilling">
      <SubscriptionUnsubscribeResult>
        <Status>string</Status>
        <Description>string</Description>
        <SID>string</SID>
        <MX>string</MX>
        <MCC>string</MCC>
        <MNC>string</MNC>
      </SubscriptionUnsubscribeResult>
    </SubscriptionUnsubscribeResponse>
  </soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: length

{
"d":{
"__type":"MobilePaymentsLibrary.SubscriptionUnsubscribe",
"Status":"STRING",
"Description":"STRING",
"SID":"STRING",
"MX":"STRING", 
"MCC":"STRING",
"MNC":"STRING",
}
}

Response Parameters

Parameter Description
Status This node can be Success or Error, see below table for further details of failures.
Description This should be interpreted to determine the outcome. See Status and Description Values for details.
SID The Subscription ID that the MSISDN/Alias was subscribed to.
MX An encrypted version of the MSISDN/Alias.
MCC The Mobile Country Code
MNC The Mobile Network Code

Status and Description Values

The table below lists Status and Description values that may be found in the response for this API call.

Status Description Action
Success 00 - User has been unsubscribed This customer has been unsubscribed from the service
Error 00 - Invalid MX No MX parameter was passed in the request or invalid MX or MSISDN was passed. Please correct this parameter and re-try the submission.
Error 01 - Invalid Login The login credentials are incorrect. Please correct and re-try the submission.
Error 02 - Unuathorised The account is not authorised to access this API call. Please contact your Account Manager.
Error 06 - Unauthorised IP The IP Address of the client server has not been whitelisted. Please contact your Account Manager.
Error 07 - Invalid MNC No MNC parameter was passed in the request. Please correct this parameter and retry.
Error 08 - Invalid MCC No MCC parameter was passed in the request. Please correct this parameter and retry.
Error 15 - Invalid SID The SubscriptionID parameter was incorrect. Please correct the parameter and retry.
Error 18 - User is not subscribed The user is not subscribed to the service
Error 99 - Internal Error Infomedia internal error. Please re-try API. If this failure persists please contact your Account Manager.

Data Synchronisation

Subscriber Notifications

For Infomedia-managed subscription services, Partners should setup a URL in the below format to receive asynchronous notifications upon certain events taking place.

https://www.example.com/?MX=%%mx%%&MCC=%%mcc%%&MNC=%%mnc%%&ProductID=%%productid%%&Type=%%etid%%

Parameter Description
%%mx%% Encrypted MSISDN/Alias. This can be decrypted using DecryptMX.
%%mnc%% The Mobile Network Code.
%%mcc%% The Mobile Country Code.
%%productid%% The Product ID (PID).
%%etid%% An Integer which indicates the type of interaction that has been performed. See the Interaction Types table below.

Interaction Types

These are the current possible values that may be received via the postback call. Other values are used internally.

ETID Description
1 Subscribe
2 Unsubscribe
5 Successful Bill Transaction

SMS API

This API allows you to send SMS messages to users on certain Mobile Carriers. Messages can be scheduled or sent immediately and can be sent in batches or to single users.

The API is available as a simple web service and a WSDL is provided.

Access is restricted by Username and Password. These will be provided at point of setup.

SendMessageWithCampaign

Sample Request

HTTP GET is not supported for this method.
HTTP POST is not supported for this method.
POST /hermes/hermes.asmx HTTP/1.1
Host: sms.infomediatechnologies.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/SendMessageWithCampaign"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <SendMessageWithCampaign xmlns="http://tempuri.org/">
      <Username>string</Username>
      <MD5Hash>string</MD5Hash>
      <SMSMessage>string</SMSMessage>
      <MSISDNList>
        <MSISDNDetails>
          <MSISDN>string</MSISDN>
          <MCC>string</MCC>
          <MNC>string</MNC>
        </MSISDNDetails>
        <MSISDNDetails>
          <MSISDN>string</MSISDN>
          <MCC>string</MCC>
          <MNC>string</MNC>
        </MSISDNDetails>
      </MSISDNList>
      <UserMsgID>string</UserMsgID>
      <UserTag>string</UserTag>
      <ScheduleFor>string</ScheduleFor>
      <CampaignID>string</CampaignID>
    </SendMessageWithCampaign>
  </soap:Body>
</soap:Envelope>
JSON is not supported for this method.

Sample Response

HTTP GET is not supported for this method.
HTTP POST is not supported for this method.
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <SendMessageWithCampaignResponse xmlns="http://tempuri.org/">
      <SendMessageWithCampaignResult>
        <Status>string</Status>
        <IsError>boolean</IsError>
        <DetailsOfError>
          <UserFriendlyMessage>string</UserFriendlyMessage>
          <SystemMessage />
          <StackTrace />
        </DetailsOfError>
      </SendMessageWithCampaignResult>
    </SendMessageWithCampaignResponse>
  </soap:Body>
</soap:Envelope>
JSON is not supported for this method.

Sends a message to an MSISDN (or list of MSISDNs) with a Campaign ID. Multiple campaigns can be setup to allow SMS campaigns to be split up at the reporting level. Campaigns can be set up when your account is created and then through your account manager when your campaigns are live.

Parameter Description Optional
Username You will be provided your username at account setup. You will need this for all API calls. Required
MD5Hash You will be provided with a password and a "secret" that you will need to hash together and pass in this parameter. This will authenticate you on our system and allow you to send us SMS's (for reference http://en.wikipedia.org/wiki/Md5) Required
SMSMessage This is the SMS message you wish to send. Remember that some special characters are counted double by some networks. Required
MSISDNList This is a single MSISDN or multiple MSISDNs that you wish to send the message to. Required
UserMsgID This is your unique id for the message Required
UserTag Currently not in use Not Required
ScheduleFor This is the date and time you would like to send the message. The format of the datetime should be yyyymmddhhmmss. If you would like to send the message immediately please set this to all 0's e.g. 00000000000000 Required
CampaignID These will be provided to you as required by your Account Manager. CampaignIDs are unique to your Product and the type of message you are sending, ie. PIN Message. Required

Failure reasons and actions

Status Failure Description Action
91 There is no account specified for the username and password Check username and password and try again.
92 The MD5 hash supplied was invalid Check the hash and try again.
93 Duplicate feed Check the MessageID and try again.
94 The ScheduleFor DateTime is invalid Change to format yyyMMddHHmmSS or 00000000000000 (for immediate send).

Data Synchronisation

Successfully Delivered SMS Notifications

SMS asynchronous notifications can be setup for both Infomedia-managed services as well as services managed by Partners using a URL in the below format. Please check the parameter descriptions below to see which parameters apply to your integration type.

Parameter Description
%%mx%% Encrypted MSISDN/Alias. This can be decrypted using DecryptMX.
%%mnc%% The Mobile Network Code.
%%mcc%% The Mobile Country Code.
%%usermsgid%% For messages sent via our Hermes API, this will be the UserMsgID that was provided when the SendMessage call was made. This will be omitted for Infomedia-hosted subscription services.
%%campaignid%% The CampaignID that the message was sent through on. For Hermes API users, this will match what was requested. For Infomedia-hosted subscription services we can provide you a list of CampaignID's for you to match against your services. Please speak to your Account Manager for further details.

Glossary

Term Description
AID Your AccountID. This will be provided by your Account Manager.
Alias An alphanumeric Infomedia-created ID which relates to the user's mobile number.
CNAME A Canonical Name record (abbreviated as CNAME record) is a type of resource record in the Domain Name System (DNS) which maps one domain name (an alias) to another (the Canonical Name).
CSLite The Infomedia Customer Services tool, which was purpose built to handle customer queries, available for Partner use to manage their customer base.
CTC Infomedia's set of JavaScript functions which when triggered capture screenshots and consent of the user's acquisition journey.
DCB Direct Carrier Billing. The method by which customers are billed via their mobile carrier network.
IABLU The Infomedia user identification platform which detects users via Header Enrichment and provides an MX, MCC, and MNC, if the user was able to be identified.
MCC 3-digit Mobile Country Code
MNC 2-digit Mobile Network Code
MO SMS Mobile Originating SMS. These are messages which are triggered from a mobile device, hence 'originating' at the the mobile.
MSISDN A mobile number.
MT SMS Mobile Terminating SMS. These are messages which are sent to a device, hence 'terminating' at the the mobile.
MX An Infomedia parameter populated with an encrypted MSISDN or encrypted Infomedia Alias.
PAID A Product Account ID allocated per product which will be provided by the Infomedia Account Manager. (Example: dd59a7c3-d8e2-4348-b809-c9ad8bc71fe6)
PID The ServiceID or the BPID (Billing Product ID) for the Product that the user is requesting.
PSMS Premium SMS. The method of billing a customer by sending an SMS to their device which charges the customer.
PT The pass-through value, if PT was passed to the original Infomedia-hosted Checkout Pages URL.
SID ServiceID.
TXID The Transaction ID for a bill.

FAQs

FAQs for developers to help when integrating with the Infomedia platform.

If you require assistance which is not covered in the FAQs, please contact your Infomedia Account Manager.

Billing

Is step-charging available for renewal billing?

This can differ depending on territory. Please refer to the territory specific Infomedia Framework for more information.

Some territories may not allow step-charging at all, so it will not be referred to in the framework. If it is available, it can be found under the 'Retry and Step Charging Policies' section.

Notifications

Can the PT parameter be returned in notifications?

Unfortuntately not. However, you can enter a PT parameter into the Checkout Pages URL when sending the user to our platform, and that will allow the PT to return to you after the user has completed their flow.

I received a subscription/purchase notification, but the user was not sent back to our platform. Why did this happen? (O2/Vodafone/Three UK)

This may be the case where part of the acqusition flow is hosted by the carrier and the user has subscribed/purchased but then has been shown a carrier-hosted confirmation page. In some cases, this is a static page and the user may need to click a 'Continue' type button to return through the Infomedia Checkout Pages and onto the Partner's platform.

The ideal is for the Partner to host their own subscription/purchase confirmation page, so if this something you are willing to setup, please get in contact with Infomedia to request the removal of the carrier-hosted confirmation page, and instead have the user be automatically redirected to the Checkout Pages platform and onto the Partner's platform.

SMS

Who sends compliance messages (SMS)?

Compliance messages are automatically triggered by the Infomedia platform. For some carriers, you will be able to provide us with the text you require in the SMS and we can configure this. Please contact your Technical Account Manager to configure this.

Yes, however there are differing requirements depending on the Carrier and/or territory, please refer to Infomedia Frameworks for more information, and contact your Account Manager to discuss your requirements further.

Subscriptions

Is there a Subscription API?

There is no Subscription API for Checkout Pages. Users are subscribed from within the Checkout Pages service and then directed straight to your service content, and therefore all subscriptions are handled by Infomedia.

How is a user's subscription cancelled when they send a STOP type MO SMS?

A user's subscription is cancelled if they send a 'STOP'* type MO SMS to the relevant shortcode for a service.

If they send STOP along with the service's keyword, e.g. 'STOP YOURGAMES' then that specific service will be cancelled, if they were subscribed to it.

However, if they send a different unrelated keyword, or happen to mispell the keyword, e.g. 'STOP SOMEOTHERGAMES' or 'STOP IT', then they will have their most recently subscribed service on that shortcode cancelled, as the 'STOP' request must result in a cancellation.

If a user sends 'STOP ALL', then all of their subscriptions on that particular shortcode will be cancelled.

*Or equivalent in local language

If a user doesn't pay their bill, is their subscription cancelled automatically?

Yes, the user's subscription is automatically cancelled by the Infomedia platform if they have gone over the permitted time period/billing cycles without payment. A notification can be sent to your platform upon subscription cancellation taking place.

Please refer to the 'Retry Policy' section of the carrier/territory specific Infomedia Framework for more information.

Can a subscription have a free trial period?

Yes, this can be configured for your service by your Technical Account Manager. It is recommended to provide at least a 1 day free period for a subscription service.