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;
}
}