Processo de resolução de pendências¶
A resolução de pendências é feita percorrendo a lista de pagamentos e verificando o status de cada um. Se existir algum pagamento com o status pendente, ocorre a tentativa de solucionar essa pendência e, ao final, informar o resultado. Mais detalhes podem ser encontrados no demo-payments-android.
Exemplo¶
private void doSolvePend(PaymentClient paymentClient) {
try {
List<Payment> paymentList;
Boolean pendingsFound = false;
PaymentProviderRequest request = new PaymentProviderRequest(CredentialsUtils.getMyAppInfo(this.getPackageManager(), this.getPackageName()), new Date());
request.setColumns(new String[]{
PaymentContract.column.ID,
PaymentContract.column.PAYMENT_STATUS
});
paymentList = PaymentProviderApi.create(this).findAll(request);
for (final Payment payment : paymentList) {
if (payment.getPaymentStatus() == PaymentStatus.PENDING) {
pendingsFound = true;
PaymentDomain pd = new PaymentDomain(paymentClient, this);
pd.doConfirmPayment(payment.getPaymentId());
}
}
if (pendingsFound) {
Toast.makeText(getApplicationContext(), getString("Todas as pendencias foram resolvidas!"), Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), getString("Nenhuma pendencia encontrada!"), Toast.LENGTH_SHORT).show();
}
} catch (Exception e) {
e.printStackTrace();
}
}