Changelog for latest library versions
New design
Pay-by-Mobile widget fallback for devices without a SIM card
For this you will need to add an activity to AndroidManifest.xml
<activity android:configChanges="orientation|keyboardHidden" android:name="com.fortumo.android.FortumoActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" />
Ability to use custom image in payment window
Credit multiplier support (setSku())
Multiplies amount of credits by some coefficient. For example, if by default the user would get 100 credits for 1.00EUR, then with setCreditsMultiplier(1.5d) they would get 150 credits for the same price.
Volume discount
Products support (library level)
11 new languages: Slovak, Slovenian, Lithuanian, Serbian, Ukrainian, Thai, Indoneesia, Greek, Hungarian, Croatian, Hebrew
The Fortumo library now uses broadcast intents to send billing responses to your application.
Methods (onPaymentCanceled(PaymentResponse response) , onPaymentFailed(PaymentResponse response) , onPaymentPending(PaymentResponse response) and onPaymentSuccess(PaymentResponse response) ) in PaymentActivity are no longer required in subclasses if you use the new BroadCasting system.
See here for upgrading instructions: Making a Payment v 7.1
Added support for multiple offline services.
Allow characters '_' and '-' in parameter product_name values.
Improved input forms in DCB payment dialog.
Added options to earn virtual credits by downloading other Android applications.
Improved input forms in DCB payment dialog.
Configuration change - the permission android.permission.READ_SMS is not needed in the Manifest anymore.
Added a PAYMENT_STATUS_CHANGED broadcast (see enablePaymentBroadcast() method in Fortumo class).
Added Marmalade SDK support.
Added Romanian translations.
Added notification in case user is out of coverage or when the device is in the airplane mode or when the SIM card is not ready.
Fixed a problem where library failed to correctly read certain types of service information.
Fixed a problem when failing to send out a SMS did not immediately set the payment status to failed.
Fixed a problem where in case of some server errors the lib did not fail the payment right away and instead waited until timeout.
Fixed a problem where in some very rare cases connection problems could create a situation where server sent a SMS which the library didn't know to catch.
Direct carrier billing (DCB) payments are now supported the library.
DCB payments only work if your service supports them and the device has an active mobile data or WIFI connection.
If mobile data connection is active at the time of payment, then the payment flow is very similar to the previous (SMS based payment) experience. Only there will be no SMS messages exchanged between the device and Fortumo server, everything will happen over the data connection.
If WIFI connection is active at the time of payment, then there will be one additional step in the payment process. After the user agrees to the payment, the device will ask the user for his/her phone number (in many cases this is already prefilled and user just has to confirm it). Subsequent to this step the device will (wait for and) receive a SMS from the server (to the previously supplied number) containing the necessary information to finalize the payment.
If no data connection is available at the time of the payment, then the library will proceed with none-dcb payment.
PS: Depending on the country and it's laws, the user may have to enter more information than only his/her phone number in the course of dcb payment.
PPS: This library version also requires the application manifest to declare an additional service: <service android:name="com.fortumo.android.FortumoService" />