Make a Pre-authorization with a previously stored card token. This will lock the funds from the client's account until the pre-authorization is completed or cancelled.
public void onPreAuthSBtnClick(View view) {
...
Intent intent = new Intent(this, PreAuthorizationActivity.class);
intent.putExtra(MyPos.INTENT_EXTRA_AMOUNT , amount);
intent.putExtra(MyPos.INTENT_EXTRA_ORDER_ID , "12345678");
intent.putExtra(MyPos.INTENT_EXTRA_CARD_TOKEN, cardToken);
startActivityForResult(intent, MyPos.REQUEST_CODE_PRE_AUTHORIZATION);
...
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if( resultCode == RESULT_OK && requestCode == MyPos.REQUEST_CODE_PRE_AUTHORIZATION ) {
int status = data.getIntExtra(MyPos.INTENT_EXTRA_STATUS, MyPos.STATUS_INTERNAL_API_ERROR);
if( status == MyPos.STATUS_SUCCESS) {
...
}
}