Pular para o conteúdo principal

Frota

Para realizar uma Transação de Frota, utilize o método fleet da classe paykit.

FleetParameters

CampoTipoDescrição
amountBigDecimalO valor total da transação.
cpfString?CPF do cliente, se aplicável. Este campo é opcional.
vehiclePlateString?Placa do Veículo.
driverIdString?Matrícula ou Código do Motorista.
odometerInt?Contador da quilometragem percorrida pelo veículo.
hourMeterInt?Representa a quantidade de tempo de funcionamento do veículo.
providerParamsJSONObject?JSON para parâmetros extras.
externalIdString?Identificador externo para a transação.
autoPrintReceiptBooleanImprime automaticamente o comprovante do lojista quando o processador da transação é o TEF.
printMerchantReceiptBooleanImprime (ou não) o recibo do lojista. Utilizar apenas em totens de auto atendimento.
autoConfirmBoolean?Envia a confirmação automaticamente. Só utilizada quando o processador da transação é o TEF
Atenção

Verifique os parâmetros da transação. Os atributos devem seguir os critérios:

  • amount: MAIOR ou igual a 0.01

Fluxo Unificado de Frotas (TEFs)

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.FleetParameters
import com.linx.paykit.common.builder.TefFleetUnifiedBuilder
import com.linx.paykit.common.builder.models.RefuelItem
import com.linx.paykit.common.builder.models.ServiceItem
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, "Frota", PaykitId("PAYKIT_ID")))

val unifiedFleetRequest = TefFleetUnifiedBuilder()
.setAcquirerCode(121)
.setCpf("12345678901")
.setVehiclePlate("ABC1234")
.setDriverId("12345678901")
.setOdometer(1000)
.setHourMeter(1000)
.setMileage(1000)
.setWorkOrderNumber("12345678901")
.setEmployeeId("12345678901")
.setHasBrPremmia(false)
.setBrPremmiaEmployeeCode("12345678901")
.addServiceItem(
ServiceItem(1231, 123.45.toBigDecimal(), 123.45.toBigDecimal())
)
.addRefuelItem(
RefuelItem(123, 123.45.toBigDecimal(), 123.45.toBigDecimal())
)
.build()

val fleetParameters = FleetParameters(
providerParams = unifiedFleetRequest
)

paykit.fleet(fleetParameters, object : Callback<PaymentResult> {
override fun execute(result: PaymentResult) {
Log.i("PaymentResult", "ID: ${result.id}, Transaction: ${result.rawData}")
}
})
}
}

Demais Rotinas de Frotas

val fleetParameters = FleetParameters(
amount = BigDecimal("100.00"), // Valor da transação
vehiclePlate = "ABC1234", // Placa do Veículo
driverId = "234123", // Matrícula ou Código do Motorista
odometer = 1000, // Contador da quilometragem percorrida pelo veículo
hourMeter = 1000, // Representa a quantidade de tempo de funcionamento do veículo
providerParams = JSONObject(..) // JSON para parâmetros extras
)

paykit.fleet(fleetParameters, object : Callback<PaymentResult> {
override fun execute(result: PaymentResult) {
Log.i("PaymentResult", "ID: ${result.id}")
}
})
Atenção

Verifique os parâmetros do JSON, a título de consulta, na documentação do provedor de pagamentos.

Este conteúdo foi útil para você?