Payment Result Notification

The final step of every payment transaction, regardless of the service type, is to get notified of the outcome - i.e. whether the payment was successful or not. Payment result notification provides you with all the relevant data for your further processing.

In order to have this option activated you need to provide URL of notification handling endpoint (i.e. web service which handles notifications). Upon transaction reaching its final state, Centili will invoke provided notification handling endpoint, with the following parameters:

Parameter
Type
Description
Example
Availability

transactionid

String

Unique payment transaction identifier used on Centili Payment Platform. Used to identify any particular transaction within Centili system.

Default value is encrypted, but on request it can be set to decrypted value.

ac8bd4a9c26fd94c
c786be72cea3936f

Always

phone

String

Mobile number of customer who paid or attempted to pay. It is in E.164 format excluding plus ("+") character.

4366124567

Always

userid

String

Your user identifier.
If the value is not set within payment request, this field will contain MSISDN of the particular customer.

usrId1983

NOTE: If the value is not set within payment request, this field will contain MSISDN of the particular customer.

Always

country

String

The code of countryof the custoemr.
For more details use official ISO list of country codes.

FR

Always

mno

String

Mobile Network Operator which customer belongs to. This parameter is sent in format <mobile_country_code>< mobile_network_code> (mcc and mnc concatenated).

50219

In some cases (e.g. WAP flow) this parameter will not be sent through payment result notification.

mnocode

String

Mobile Network Operator code in Centili’s system which customer belongs to. It is provided by Centili.

FR_ORANGE

Always

amount

Integer

Quantity of purchased virtual goods. It depends on package configuration of the service.

5

Always

status

String

Status of the payment. Defines the payment result of the transaction. According to this parameter you should implement your business logic (e.g. provide content to the customer or not).

Possible values are:

  • success
  • canceled
  • failed

success

Always

revenue

Decimal

The net payout received from the particular payment

3.0567

Always

revenuecurrency

String

Currency in which revenue has been calculated (prefered currency under your Partner Panel account).

EUR

Always

reference

String

Reference to customer or transaction at your side, sent by you in payment initiation step.

NOTE: There are different ways how you can send this parameter to Centili depending on payment initiation type:

MO initiation - it can be passed as additional word after the keyword
(YOURKEYWORD 12345)
Payment Page - it can be passed as a specific parameter
(...&reference=12345)
API - must be sent as clientid
("clientid":"12345")

12345

In some cases this parameter can be called clientid instead of reference.

For more info, please contact Centili tech team.

enduserprice

Decimal

Price paid (or should have been paid if transaction is failed) by the customer in local currency with VAT included.

8.000

Always

service

String

Unique identifier of your service registered inside Centili Payment Platform (API key).

3586a2363bcd51a2
b3c4d5f34918263a

Always

errormessage

String

Error description in case of failed transaction request.

Possible values:

  • CHARGING_FAILED
  • PIN_MAX_ATTEMPTS_EXCEEDED
  • TRANSACTION_TIMEOUT
  • NOT_ENOUGH_CREDIT
  • TRANSACTION_CANCELED_BY_USER

CHARGING_FAILED

Available in case of error

event_type

String

Type of transaction depending on type of service.

Possible values for one-time payments:

  • one_off

Possible values for subscription services:

  • opt_in
  • opt_out
  • recurring_billing

opt_in

Always

opt_in_channel

String

Channels through which the services were used.

Possible values are:

  • web
  • wap
  • android

web

Available only in subscription services

interval

String

Subscription interval according to service configuration.

Possible values are:

  • DAY
  • WEEK
  • MONTH

day

Available only in subscription services

sign

String

Hash value calculated using HMAC-SHA1 algorithm. The algorithm is applied on concatenated list of alphabetically sorted parameters.

NOTE: Please refer to the signature key generation guide.

aee0ed6b191bbcef271
dfded5b5b3fa2fc1bf14

Always

subscriptionid

String

Unique identifier of a subscription in Centili Platform. All the transactions related to single subscription (opt_in, recurring_billing, opt_out) will have identical subscriptionid value.

4300105998

Available only in subscription services

originalmessage

String

Original SMS message received from the customer.

GAME 2525

Additional parameter for PSMS connections

shortcode

String

Short number to which message has been sent.

2525

Additional parameter for PSMS connections

momessage

String

Original keyword for registered service.

GAME

Additional parameter for PSMS connections

Note

Parameters which will be sent in this notification can vary.
Please consult Centili tech team in order to get exact information related to your service.

Examples

  • One-time payment notification sent using HTTP GET method:
http://www.example.com/notificationscript.php?phone=4366124567&country=es&mno=50219&mnocode=ES_VODAFONE&amount=5&status=success&reference=bBxUvIpDpqkTPuUiV8RknOxCSo&revenue=3.0567&revenuecurrency=EUR&enduserprice=8.000&transactionid=1488787&service=3586a2363bcd51a2b3c4d5f34918263a&event_type=one_off
  • Subscription payment notification sent using HTTP GET method:
http://www.example.com/notificationscript.php&transactionid=1488787&phone=4366124567&errormessage=subscription_closed&interval=month&status=failed&event_type=recurring_billing&revenuecurrency=EUR&country=es&amount=5&reference=bBxUvIpDpqkTPuUiV8RknOxCSo&opt_in_channel=web&enduserprice=8.000&mno=50219&mnocode=ES_VODAFONE&transactionid=1488787&service=3586a2363bcd51a2b3c4d5f34918263a&revenue=0.0000

Payment Result Notification response

After invoking your notification handling endpoint on provided notification handling URL, we are expecting a HTTP response with one of the following statuses:

  • HTTP status 200

    Result notification is sucessfully completed on your side. Transaction notification status is marked as success on transaction page in Centili Partner Panel.

  • HTTP status 406

    Result notification is rejected (Not acceptable) and we will immediately discontinue notification for that transaction. Transaction notification status is marked as rejected on transaction page in Centili Partner Panel.

  • All other HTTP statuses

    When neither http status 200 nor status 406 is returned (e.g. your server goes offline or any other error occurs), then Centili will keep retrying notifying you 3 times during the next 30 minutes. Undelivered payment result notification will be marked in Centili Partner Panel transactions page and you will also be able to resend them to your URL manually.

Resending undelivered payment result notifications

On Centili Partner Panel transactions page you can:

  • Resend single payment result notification

    When there is payment result notification with status failed you can resend payment result notification for that transaction and this is done immediately.

  • Resend bulk payment result notification

    When multiple transactions have the payment result notification status failed
    you can resend payment result notification for multiple transactions together. All of the selected payment result notifications will be queued for sending.

Payment Result Notification


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.