When a transaction has finished, an Intent with the following data is returned to the calling Activity:

reference_number Internal myPOS reference number for the transaction
cardholder_name Emboss name on the card
date_time Date and time of the transaction formatted as YYMMDDHHmmss
pan Obfuscated PAN, e.g. "XXXX-XXXX-XXXX-8008"
pan_hash  a hash of the PAN
status (int) one of the constants in the Transaction Processing Result Class
status_text a textual representation of the status
card_brand MASTERCARD, MAESTRO, VISA, PAYPASS, etc.
card_entry_mode ENTRY_MODE_MAGSTR, ENTRY_MODE_EMV, ENTRY_MODE_CONTACTLESS, etc.
response_code  
authorization_code  
signature_required (boolean)  
TSI  
TVR  
AID  
STAN  
CVM  
application_name  
transaction_approved (boolean)  
merchant_data

Bundle with data from your myPOS profile used for printing the receipts. It contains:

  • billing_descriptor
  • address_line1
  • address_line2
  • MID
  • custom_receipt_row1
  • custom_receipt_row2

Note 1: Unless noted, extras in the bundle are Strings.

Note 2: Depending on the card and transaction type, some of the extras are not always present.

 

 

Transaction Process Result Class

package com.mypos.smartsdk;

public class TransactionProcessingResult {
    /**
     * Transaction completed successfully
     */
    public static final int TRANSACTION_SUCCESS  = 0;
    /**
     * User canceled the transaction
     */
    public static final int TRANSACTION_CANCELED = 1;
    /**
     * The transaction was declined for some reason (by the Host or the Issuer)
     */
    public static final int TRANSACTION_DECLINED = 2;
    /**
     * The transaction failed - because of a connection timeout or some other malfunction
     */
    public static final int TRANSACTION_FAILED   = 3;
    /**
     * The device is not activated, meaning no transactions can be performed
     */
    public static final int DEVICE_NOT_ACTIVATED = 4;
    /**
     * Some needed data was missing. Mainly used when a Void transaction is requested when there is no previous transaction data present
     */
    public static final int NO_DATA_FOUND        = 5;
    /**
     * When a currency different than the device's currency is set when calling the payment app
     */
    public static final int INVALID_CURRENCY     = 6;
    /**
     * When the amount is greater than the allowed maximum or less than the allowed minimum.
     */
    public static final int INVALID_AMOUNT       = 7;
}