Transaction Status Values

0 INITIATED The transaction has been initiated
1 SUCCESS Transaction completed successfully
2 TRANSACTION_CANCELLED The transaction was cancelled
3 INSUFFICIENT_CREDIT The end user has insufficient credit
4 NOT_ADULT_VERIFIED The end user is not adult verified
5 SPEND_LIMIT_REACHED The end user has reached the daily\monthly spend limit
6 NETWORK_ERROR An error at the network
7 ALREADY_SUBSCRIBED The end user is already subscribed
8 SERVICE_BAR The end user has a service bar in place
99 UNKNOWN_ERROR An unknown error has occurred

Network Values

1: Vodafone UK
2: O2 UK
3: Orange UK
4: T-Mobile
5: Virgin
6: Three UK

Notification Type Values

ajax: Indicates that a Ajax purchase has been initiated by an end user
ppe: Indicates that a Standard flow one off purchase has been initiated by an end user
reminder: Indicates when a reminder notification has been sent to an end user for a given transaction
STOP: Indicates a Stop SMS has been received from a user for a client’s service. Clients should remove the user from and active subscriptions/ marketing
sub: Indicates that a Standard flow subscription has been initiated by an end user

Hash Generation / Validation

The secure hash is an MD5 digest of the query string parameters combined with the Merchant Token.

Creation example
The steps to create the hash are:
• Take the completed query string prior to the hash parameter being appended with parameters URL encoded if necessary. Parameters should be in the order they are received in.

tid=123&ref=123%24&time=20130101235959&status=1&type=PPE&sid=123&msisdn=447701020304&networkid=1

• Append to this the merchant token

tid=123&ref=123%24&time=20130101235959&status=1&type=PPE&sid=123&&msisdn=447701020304&networkid=18A55F91F-84D2-4E9C-A0A8-EB0FD58B9B98

• Perform an MD5 of the string

Md5(‘tid=123&ref=123%24&time=20130101235959&status=1&type=PPE&sid=123&msisdn=447701020304&networkid=18A55F91F-84D2-4E9C-A0A8-EB0FD58B9B98’);

• Use the output of the MD5 as the hash parameter

tid=123&ref=123%24&time=20130101235959&status=1&type=PPE&sid=123&msisdn=447701020304&networkid=1&hash=8b4d153ecbc5ea64292cd6b620d062ef

Hash Validation

The steps to validate the hash are:
• Take the query string and remove the hash parameter

tid=123&ref=123%24&time=20130101235959&status=1&type=PPE&sid=123&msisdn=447701020304&networkid=1

• Append to this the merchant token

tid=123&ref=123%24&time=20130101235959&status=1&type=PPE&sid=123&msisdn=447701020304&networkid=18A55F91F-84D2-4E9C-A0A8-EB0FD58B9B98

• Perform an MD5 of the string

Md5(‘tid=123&ref=123%24&time=20130101235959&status=1&type=PPE&sid=123&msisdn=447701020304&networkid=18A55F91F-84D2-4E9C-A0A8-EB0FD58B9B98’);

• Compare the output of the MD5 to the value provided in the hash parameter. If the values match this is a valid request

8b4d153ecbc5ea64292cd6b620d062ef = 8b4d153ecbc5ea64292cd6b620d062ef