PaymentProvider
Visão geral
A interface PaymentProvider define os métodos que qualquer provedor de pagamento deve implementar.
interface PaymentProvider {
suspend fun print(context: Context, text: String): PrintResponse
suspend fun print(context: Context, bitmap: Bitmap, imageHeight: Int): PrintResponse
suspend fun startTransaction(
context: Context,
params: TransactionParams,
authParams: AuthParams,
style: ProviderStyle? = null
) : TransactionResponse
suspend fun startTransaction(
componentActivity: ComponentActivity,
params: TransactionParams,
authParams: AuthParams,
style: ProviderStyle? = null
) : TransactionResponse
suspend fun startTransaction(
fragment: Fragment,
params: TransactionParams,
authParams: AuthParams,
style: ProviderStyle? = null
) : TransactionResponse
suspend fun sendTrace(
context: Context,
authParams: AuthParams
): TransactionResponse
}
observação
Nem todos os provedores de pagamento suportam a implementação de impressão e/ou envio de trace.
Nestes casos, o chamado lançará uma exceção do tipo UnsupportedOperationException.
Funções
print() - String
suspend fun print(context: Context, text: String): PrintResponse
Imprime uma string utilizando a impressora nativa do Smart POS.
Retorno
print() - Bitmap
suspend fun print(context: Context, bitmap: Bitmap, imageHeight: Int): PrintResponse
Imprime uma imagem utilizando a impressora nativa do Smart POS.
Retorno
startTransaction()
suspend fun startTransaction(
context: Context,
params: TransactionParams,
authParams: AuthParams,
style: ProviderStyle? = null
): TransactionResponse
suspend fun startTransaction(
componentActivity: ComponentActivity,
params: TransactionParams,
authParams: AuthParams,
style: ProviderStyle? = null
): TransactionResponse
suspend fun startTransaction(
fragment: Fragment,
params: TransactionParams,
authParams: AuthParams,
style: ProviderStyle? = null
): TransactionResponse
Inicia uma transação de pagamento com os parâmetros fornecidos.
Retorno
SendTrace
suspend fun sendTrace(
context: Context,
authParams: AuthParams
): TransactionResponse
Realiza o envio de logs de Trace para a adquirente. Nem toda implementação de PaymentProvider suporta esta operação.