PAYable TAP - Android Integration
PAYable TAP (Tap-on-Phone) - Android Integration - io.payable.lk/tap-sdk-demo | Create Issue |
Initialization
- Install
PAYable TAP
from Google Play or APK
Implementation
Kotlin
1. Starting payment activity using the intent action com.payable.action.TAP_PAYMENT
as below.
private fun startPayment() {
val intent = Intent("com.payable.action.TAP_PAYMENT")
intent.putExtra("ID", "INV-1001")
intent.putExtra("METHOD", "CARD")
intent.putExtra("ORDER_TRACKING", "Customer-1001")
intent.putExtra("AMOUNT", 250.00)
try {
startActivityForResult(intent, 9000)
} catch (ex: ActivityNotFoundException) {
// PAYable TAP is not installed or outdated
}
}
2. Override onActivityResult
method from Activity
class to get the response from the PAYable TAP
.
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(requestCode == 9000 && data != null) {
val id = data.getStringExtra("ID")
val method = data.getStringExtra("METHOD")
val orderTracking = data.getStringExtra("ORDER_TRACKING")
val amount = data.getDoubleExtra("AMOUNT", 0.00)
val status = data.getStringExtra("STATUS")
}
}
STATUS contains below values.
PENDING,
SUCCESS,
FAILED,
CANCELLED,
UNAUTHORIZED,
Java
private void startPayment() {
Intent intent = new Intent("com.payable.action.TAP_PAYMENT");
intent.putExtra("ID", "INV-1001");
intent.putExtra("METHOD", "CARD");
intent.putExtra("ORDER_TRACKING", "Customer-1001");
intent.putExtra("AMOUNT", 100.00);
try {
startActivityForResult(intent, 9000);
} catch (ActivityNotFoundException ex) {
// PAYable Tap is not installed or outdated
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 9000) {
String id = data.getStringExtra("ID");
String method = data.getStringExtra("METHOD");
String orderTracking = data.getStringExtra("ORDER_TRACKING");
double amount = data.getDoubleExtra("AMOUNT", 0.00);
String status =data.getStringExtra("STATUS");
}
}
Demonstration
PAYable TAP-on-Phone - Android Integration