MO (Mobile Originating Billing) and MT (Mobile Terminating Billing) billing are the two methods how carriers charge users for Premium SMS transactions. In short, with MO-billing user is charged for sending the message and with MT-billing he is charged for receiving a reply message.
MO billing: mobile operator attempts to bill the user after sending the message. If billing is not successful (not enough credit on prepaid balance or postpaid spending has reached a limit), message is not delivered to Fortumo and service provider. Thus all messages, that reach Fortumo and service provider's back end in MO billing countries are already successfully billed and service should be delivered to end-user.
MT billing: mobile operator attempts to bill the user before delivering the reply message. In case billing attempt is not successful, reply message is not delivered to the end-user. This also means, that not all messages, that reach Fortumo and service provider's back end, will be successfully billed and service should delivered only after obtaining billing confirmation (billing report - see below).
In both cases reply message is delivered only for successfully billed transactions, so one of the easiest way of building the service is to trigger service delivery based on reply message, for example by sending a PIN code, that should entered on a web page to complete the transaction.
Another option is to deliver the service after receiving a pending status request in MO-billing countries and ok status billing report request in MT-billing countries. Please note, that in some rare cases due to capacity issues there might be delays with delivering ok-billing reports or operator may fail to send one at all (although this is rare and in 99% of transactions billing report is delivered instantly).
For some setups it's also possible to deliver the service after a pending-status billing request and later cancel it in case a failed-status billing report is received, but may be confusing for the end-user.
The method of billing varies by country and in some countries it also varies by operator, additional information is available in every request to service provider's back end. It can be also obtained from service XML file (billing_type and default_billing_status parameters).
Only one request (also known as MO-request or message report) with pending status will be performed to service provider's back end, specified during service configuration. The status of transaction in Fortumo system will later change from pending to ok (usually within 36 hours).
Two requests will be performed to service provider's back end. First request with pending status will be delivered to service URL:
After successful or unsuccessful attempt to charge the user an ok or failed billing report request (also know as MT-request or Delivery Notice, DN) will be delivered to service billing report URL, specified during service configuration:
Some operators have implemented a hybrid billing method, where billing reports are available with MO billing.