How can you build a mobile app that accepts payments? Whether it’s a travel app or a fashion mobile commerce application, you need to somehow accept electronic payments for physical goods your customers want to purchase. Sales from mobile shopping are projected to continue rising, according to Forrester research. It’s critical to have a payment processing gateway that runs smoothly within your mobile app. Here we will learn to integrate Authorize.Net payment gateway in android mobile app.
The Accept Mobile SDKs, for Android and iOS, provide secure credit card processing, using the same API fields as the Apple Pay and Android Pay secure payment data. This provides maximum flexibility for in-app payments, without the payment data touching your servers.
Integrate Authorize.Net payment gateway in android
First of all create Sandbox account. To create Sandbox account Click Here
Step 1: OBTAINING A PUBLIC CLIENT KEY
When you send the payment data to Authorize.Net, you use a public client key to secure it.
To obtain a public client key:
1. Log in to the Authorize.Net Merchant Interface using an administrator account.
2. Navigate to Account > Settings > Security Settings > General Settings > Manage Public Client Key.
3. Enter the secret answer to your secret question in the section Create New Public Client Key and click Submit. The client key is shown as a string.
Step 2: Installation
Add the dependency from jCenter to your app’s (not project) build.gradle
file.
repositories {
jcenter()
}
dependencies {
compile 'net.authorize:accept-android-sdk:+'
}
Step 3:Initialize AcceptSDKApiClient
All SDK API’s will be accessed through AcceptSDKApiClient
Object, which can be created as follows:
apiClient = new AcceptSDKApiClient.Builder (getActivity(),AcceptSDKApiClient.Environment.SANDBOX) .connectionTimeout(5000) // optional connection time out in milliseconds .build();
Step 4: Prepare Objects required to call Token API
Fetch token API require EncryptTransactionObject
and it can be created as follows:
EncryptTransactionObject transactionObject = TransactionObject. createTransactionObject(TransactionType.SDK_TRANSACTION_ENCRYPTION)// type of transaction object .cardData(prepareCardDataFromFields()) // card data to be encrypted .merchantAuthentication(prepareMerchantAuthentication()) //Merchant authentication .build();
EncryptTransactionObject require CardData object and it can be created as follows:
CardData cardData = new CardData.Builder (CARD_NUMBER, EXPIRATION_MONTH, // MM EXPIRATION_YEAR) // YYYY .cvvCode(CARD_CVV) // Option .zipCode(ZIP_CODE)// Optional .cardHolderName(CARD_HOLDER_NAME)// Optional .build();
EncryptTransactionObject require Merchant Authentication object and it can be created as follows:
ClientKeyBasedMerchantAuthentication merchantAuthentication = ClientKeyBasedMerchantAuthentication. createMerchantAuthentication(API_LOGIN_ID, CLIENT_KEY);
Step 5: Implement EncryptTransactionCallback Interface
To get a response back, the activity/fragment should implement the EncryptTransactionCallback
interface. It has following methods.
onEncryptionFinished()
This method will be called when token is successfully generated.EncryptTransactionResponse
object has Data Descriptor and Data value details which will be used to perform payment transaction.
@Override public void onEncryptionFinished(EncryptTransactionResponse response) { Toast.makeText(getActivity(),response.getDataDescriptor() + " : " + response.getDataValue(),Toast.LENGTH_LONG).show(); }
onErrorReceived()
This method will be called in three senarios,
> Validation of information is failed.
> Network related errors.
> API error response.
ErrorTransactionResponse
may contain one or more error messages.
@Override public void onErrorReceived(ErrorTransactionResponse errorResponse) { Message error = errorResponse.getFirstErrorMessage(); Toast.makeText(getActivity(),error.getMessageCode() + " : " + error.getMessageText() ,Toast.LENGTH_LONG).show(); }
Conclusion
If you want to integrate Authorize.Net payment gateway in android mobile app then you will find these steps more easy. Integration of Authorize.Net payment gateway in android mobile app has very easy steps as described above. You can edit the xml and activity files in your own way to make it more attractive as per your requirements.
There are various native e-commerce and Social Network mobile apps available in the market for example MagentoShop – Shopping App etc that use these steps to to use Authorize.Net payment gateway .
MagentoShop
Looking for a native Magento mobile app builder (iOS/Android) for your Magento based online marketplace? Try the 30-day free trial of our Magento mobile app, go mobile commerce in a few hours and increase your sales exponentially. No Setup Fee, Pay as you go pack at just $69/month.
Refrences
User Guide : Authorize.Net Mobile Application
Mobile SDK : Authorize.Net Accept Mobile SDK for Android