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:

ParameterTypeDescriptionExampleAvailability
transactionidStringUnique 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
phoneStringMobile number of customer who paid or attempted to pay. It is in E.164 format excluding plus ("+") character.4366124567Always
useridStringYour 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
countryStringThe code of countryof the custoemr.
For more details use official ISO list of country codes.
FRAlways
mnoStringMobile Network Operator which customer belongs to. This parameter is sent in format <mobile_country_code>< mobile_network_code> (mcc and mnc concatenated).50219In some cases (e.g. WAP flow) this parameter will not be sent through payment result notification.
mnocodeStringMobile Network Operator code in Centili’s system which customer belongs to. It is provided by Centili.FR_ORANGEAlways
amountIntegerQuantity of purchased virtual goods. It depends on package configuration of the service.5Always
statusStringStatus 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
successAlways
revenueDecimalThe net payout received from the particular payment3.0567Always
revenuecurrencyStringCurrency in which revenue has been calculated (prefered currency under your Partner Panel account).EURAlways
referenceStringReference 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")
12345In some cases this parameter can be called clientid instead of reference.

For more info, please contact Centili tech team.
enduserpriceDecimalPrice paid (or should have been paid if transaction is failed) by the customer in local currency with VAT included.8.000Always
serviceStringUnique identifier of your service registered inside Centili Payment Platform (API key).3586a2363bcd51a2
b3c4d5f34918263a
Always
errormessageStringError 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_FAILEDAvailable in case of error
event_typeStringType 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_inAlways
opt_in_channelStringChannels through which the services were used.

Possible values are:
web
wap
* android
webAvailable only in subscription services
intervalStringSubscription interval according to service configuration.

Possible values are:
DAY
WEEK
* MONTH
dayAvailable only in subscription services
signStringHash 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
subscriptionidStringUnique 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.4300105998Available only in subscription services
originalmessageStringOriginal SMS message received from the customer.GAME 2525Additional parameter for PSMS connections
shortcodeStringShort number to which message has been sent.2525Additional parameter for PSMS connections
momessageStringOriginal keyword for registered service.GAMEAdditional 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.