Ir para o conteúdo

Realiza o processo de resolução de pendências QR Code - Lista de pagamentos


Esse método deve ser chamado para executar a resolução de pendências QR Code - Lista de pagamentos.

Métodos

Assinatura Descrição
void resolveQRCodePendencies(QRCodePendenciesRequest request, PaymentCallback paymentCallback) Realiza o processo de resolução de pendência QR Code para lista de pagamentos.

Parâmetros

Nome Tipo Obrigatório Descrição
request QRCodePendenciesRequest Sim Objeto de transferência de dados que conterá as informações da requisição da resolução de pendências para lista de pagamentos QR Code.
callback PaymentCallback Sim Interface que será executada para notificações de sucesso ou erro do processo de resolução de pendências para lista de pagamentos QR Code.

Detalhe dos parâmetros request (QRCodePendenciesRequest)

Nome Tipo Obrigatório Descrição
applicationId Credentials Sim Identificação do aplicativo que está solicitando a consulta.
secretToken Credentials Sim Token de acesso do aplicativo que está solicitando a consulta.
softwareVersion String Sim Versão da aplicação que está solicitando a consulta.

response

Nome Tipo Descrição
Value BigDecimal Valor do pagamento. Este é o valor que foi aprovado pela adquirente. Deve ser validado sempre na resposta, ainda que tenha sido passado como parâmetro, pois há adquirentes que, para algumas situações, aprovam valores diferentes dos solicitados
QRType QRCodeIntentType Tipo de QR (venda, anulação, devolução).
appTransactionId String Identificador da transação integrada. O Identificador referido é o da aplicação que originou a solicitação de pagamento. Não deve se repetir.
Date String Data / hora do pagamento.
qrId String Identificador QrCode gerado pelo terminal de captura.
Exemplo
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import com.jakewharton.threetenabp.AndroidThreeTen;

import java.math.BigDecimal;

import java.text.SimpleDateFormat;
import java.util.Arrays;

import java.util.Date;
import java.util.List;
import java.util.TimeZone;

import br.com.phoebus.android.payments.api.ApplicationInfo;
import br.com.phoebus.android.payments.api.Credentials;

import br.com.phoebus.android.payments.api.Payment;
import br.com.phoebus.android.payments.api.PaymentClient;
import br.com.phoebus.android.payments.api.PaymentStatus;
import br.com.phoebus.android.payments.api.provider.PaymentContract;
import br.com.phoebus.android.payments.api.provider.PaymentProviderApi;
import br.com.phoebus.android.payments.api.provider.PaymentProviderRequest;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    Button bt_start;
    private PaymentClient paymentClient;
    public static final String TEST_APPLICATION_ID = "0";
    public static final String TEST_SECRET_TOKEN = "000000000000000000000000";
    public static final String TAG = "TAG_DEMO";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        bt_start = (Button) this.findViewById(R.id.button);
        bt_start.setOnClickListener(this);
        paymentClient = new PaymentClient();
        AndroidThreeTen.init(getApplication());

    }


    @Override
    public void onClick(View view) {
        doExecute();
    }


    public void doExecute() {
        //definindo as credenciais
        Credentials credentials = new Credentials();
        credentials.setApplicationId(TEST_APPLICATION_ID);
        credentials.setSecretToken(TEST_SECRET_TOKEN);

        ApplicationInfo applicationInfo = new ApplicationInfo();
        applicationInfo.setCredentials(credentials);
        applicationInfo.setSoftwareVersion("1.0");

        //criando objeto de request para o payment
        QRCodePendenciesRequest request = createRequest(applicationInfo);

    }

    private QRCodePendenciesRequest createRequest(ApplicationInfo appInfo) {

        QRCodePendenciesRequest request = new QRCodePendenciesRequest();
        request.setApplicationInfo(appInfo);

        request.setSecretToken(appInfo.getCredentials());
        request.setApplicationId(appInfo.getCredentials());
        request.setSoftwareVersion(appInfo.getSoftwareVersion());

        return request;
    }
}