Skip to content

payable/tap-sdk-demo

Repository files navigation

PAYable TAP - Android Integration

PAYable TAP (Tap-on-Phone) - Android Integration - io.payable.lk/tap-sdk-demo | Create Issue


Initialization


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

Demo Video

PAYable TAP-on-Phone - Android Integration

About

PAYable TAP (Tap-on-Phone) - Android Integration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published