Ir para o conteúdo

Realiza el proceso de resolución de pagos pendientes con QRCode - Lista de pagos


Se debe llamar a este método para resolver pagos pendientes realizados con QRCode - Lista de Pagos

Métodos

Assinatura Descripción
void resolveQRCodePendencies(QRCodePendenciesRequest request, PaymentCallback paymentCallback) Realiza el proceso de resolución de pagos pendientes con QRCode para lista de pagos.

Parámetros

Nombre Tipo Obligatorio Descripción
request QRCodePendenciesRequest Si Objeto de transferencia de datos que contendrá la información de solicitud de resolución de la lista de pagos pendientes con QRCode.
callback PaymentCallback Si Interfaz que se ejecutará para notificaciones de éxito o error del proceso.

Detalle de los Parámetros request (QRCodePendenciesRequest)

Nombre Tipo Obligatorio Descripción
applicationId Credentials Si Identificación de la aplicación que está realizando la consulta.
secretToken Credentials Si Token de acesso do aplicativo que está solicitando a consulta.
softwareVersion String Si Token de acceso de la aplicación que está realizando la consulta..

response

Nombre Tipo Descripción
Value BigDecimal Monto del pago. Este es el monto que fue aprobado por la adquirente. Siempre debe estar validado en la respuesta, incluso si se pasó como parámetro, ya que hay adquirentes que, para algunas situaciones, aprueban valores diferentes a los solicitados.
QRType QRCodeIntentType Tipo de QR (venta, anulación, devolución)..
appTransactionId String Identificador de transacción integrado. El identificador referido es el de la aplicación que originó la solicitud de pago. Debe ser lo mismo identificador enviado en la transacción de pago.
Date String Fecha / hora de pago para la aplicación de pagos.
qrId String Identificador de QrCode generado por el terminal de captura.
Ejemplo
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;
    }
}