tokenizeEBTCard

Tokenizes an EBT Card via a ForagePANEditText Element.

  • On success, the object includes a ref token that represents an instance of a Forage PaymentMethod. You can store the token for future transactions, like to checkBalance or to create a Payment in Forage's database.

  • On failure, for example in the case of unsupported_bin, the response includes a list of com.joinforage.forage.android.core.services.forageapi.network.ForageError objects that you can unpack to programmatically handle the error and display the appropriate customer-facing message based on the ForageError.code.

// Example tokenizeEBTCard call in a TokenizeViewModel.kt
class TokenizeViewModel : ViewModel() {
    val merchantId = "<merchant_id>"
    val sessionToken = "<session_token>"

    fun tokenizeEBTCard(foragePanEditText: ForagePANEditText) = viewModelScope.launch {
        val response = ForageSDK().tokenizeEBTCard(
            TokenizeEBTCardParams(
                foragePanEditText = foragePanEditText,
                reusable = true,
                customerId = "<hash_of_customer_id>"
            )
        )

        when (response) {
            is ForageApiResponse.Success -> {
                val paymentMethod = response.toPaymentMethod()
                // Unpack paymentMethod.ref, paymentMethod.card, etc.
                val card = paymentMethod.card
                // Unpack card.last4, ...
                if (card is EbtCard) {
                    // Unpack card.usState
                }
            }
            is ForageApiResponse.Failure -> {
                val error = response.error
                // handle error.code here
            }
        }
    }
}

Return

A ForageApiResponse object. Use toPaymentMethod() to convert the data string to a PaymentMethod.

Parameters

params

A TokenizeEBTCardParams model that passes a foragePanEditText instance, a customerId, and a reusable boolean that Forage uses to tokenize an EBT Card.

See also

  • SDK errors for more information on error handling.

Throws

If the ForageConfig is not set for the provided foragePanEditText.