Voucher
Para realizar uma Transação de Voucher, utilize o método voucher da classe paykit.
VoucherParameters
| Campo | Tipo | Descrição |
|---|---|---|
amount | BigDecimal | O valor total da transação. |
voucherType | VoucherTransactionType | Tipo de transação de Voucher. |
cpf | String? | CPF do cliente, se aplicável. Este campo é opcional. |
billOfSale | String? | Documento de venda associado à transação. Este campo é opcional. |
dateTimeOfSale | Date? | Data e hora em que a venda foi realizada. Este campo é opcional. |
externalId | String? | Identificador externo para a transação. Este campo é opcional. |
items | List<OrderItem>? | Lista dos items de venda, relacionados a transação a ser realizada. Este campo é opcional. |
autoPrintReceipt | Boolean | Imprime automaticamente o comprovante do lojista quando o processador da transação é o TEF. |
printMerchantReceipt | Boolean | Imprime (ou não) o recibo do lojista. Utilizar apenas em totens de auto atendimento. |
autoConfirm | Boolean? | Envia a confirmação automaticamente. Só utilizada quando o processador da transação é o TEF |
VoucherTransactionType
Para o voucherType é utilizado um enum para identificação da Modalidade de Voucher.
/**
* Enum representando os tipos de transação de Voucher.
* Correspondência DE-PARA (Português -> Inglês):
* - VOUCHER_ALIMENTACAO -> FOOD
* - VOUCHER_REFEICAO -> MEAL
* - VOUCHER_AUTOMOTIVO -> AUTOMOTIVE
* - VOUCHER_CULTURA -> CULTURE
* - VOUCHER_PEDAGIO -> TOLL
* - VOUCHER_BENEFICIOS -> BENEFITS
* - VOUCHER_AUTO -> AUTOMOBILE
*/
enum class VoucherTransactionType(
override val hasInterest: Boolean = false,
override val hasInstalments: Boolean = false
) : TransactionType {
FOOD, // VOUCHER_ALIMENTACAO
MEAL, // VOUCHER_REFEICAO
AUTOMOTIVE, // VOUCHER_AUTOMOTIVO
CULTURE, // VOUCHER_CULTURA
TOLL, // VOUCHER_PEDAGIO
BENEFITS, // VOUCHER_BENEFICIOS
AUTOMOBILE, // VOUCHER_AUTO
BALANCE_INQUIRY, // VOUCHER_CONSULTA_SALDO
TOLL_VALE, // VOUCHER_VALE_PEDAGIO
}
Atenção
Verifique a modalidade de voucher suportada pela adquirente.
Exemplo
Atenção
Verifique os parametros da transação. Os atributos devem seguir os critérios:
- amount: MAIOR ou igual a 0.01
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import com.linx.paykit.common.Callback
import com.linx.paykit.common.PaymentResult
import com.linx.paykit.common.builder.Parameters
import com.linx.paykit.common.parameter.VoucherParameters
import com.linx.paykit.common.parameter.type.VoucherTransactionType
import com.linx.paykit.core.Paykit
import com.linx.paykit.core.PaykitFactory
import java.math.BigDecimal
class MainActivity : AppCompatActivity() {
private lateinit var paykit: Paykit
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
paykit = PaykitFactory().build(Parameters(this, "Voucher", PaykitId("PAYKIT_ID")))
val voucherParameter = VoucherParameters(
amount = BigDecimal("100.00"), // Valor da transação
voucherType = VoucherTransactionType.FOOD // Tipo de transação de Voucher
)
paykit.voucher(voucherParameter, object : Callback<PaymentResult> {
override fun execute(result: PaymentResult) {
Log.i("PaymentResult", "ID: ${result.id}, Transaction: ${result.rawData}")
}
})
}
}
Este conteúdo foi útil para você?