On This Page
Process EBT SNAP and EBT Cash Transactions
Use this information to process an EBT sale and other transactions for EBT SNAP (food
benefit) and EBT cash.
Instructions for processing various EBT transaction types are
shown in step 2 of the code example.
Follow these steps to process an EBT transaction.
- Create aTransactionParametersobject and provide the required information for the payment.
- Retrieve thetransactionIntentvariable from themposUiobject and use thestartActivitymethod to initiate the transaction flow.val transactionParameters = TransactionParameters.Builder() // Use for Sale .charge(BigDecimal("1.00"), Currency.USD) // Use for Stand-Alone Credit // .refund(BigDecimal("1.00"), Currency.USD) // Use for Cashback // .withCashback(BigDecimal("10.00")) .customIdentifier("yourReferenceForTheTransaction") .workflow(new WorkflowConfiguration.Builder() .ebt() // Set to CASH for EBT cash .category(FOOD) // Set to true for Balance Inquiry and set amount to 0 .balanceInquiry(false) // Set to true for Voucher transaction .voucher(false) .build()) .build() val transactionIntent = mposUi.createTransactionIntent(transactionParameters) startActivityForResult(transactionIntent, MposUi.REQUEST_CODE_PAYMENT)
- After the transaction is complete and the Summary screen is dismissed, theonActivityResultmethod is triggered. This action returns information about the last transaction.override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (requestCode == MposUi.REQUEST_CODE_PAYMENT) { when (resultCode) { // Result code from a successful transaction MposUi.RESULT_CODE_APPROVED -> { val transactionIdentifier = data?.getStringExtra(MposUi.RESULT_EXTRA_TRANSACTION_IDENTIFIER) Toast.makeText(findViewById(android.R.id.content),"Transaction approved!\nIdentifier: $transactionIdentifier", Toast.LENGTH_LONG).show() } // Result code from a declined, aborted or failed transaction MposUi.RESULT_CODE_FAILED -> { Toast.makeText(findViewById(android.R.id.content), "Transaction was declined, aborted, or failed", Toast.LENGTH_LONG).show() } } } }
- Get the full transaction object by retrieving thelatestTransactionfrom the mposUi object.val transactionObject = mposUi.latestTransaction