Proceso de resolución pendiente¶
Pendiente de resolución se realiza revisando el listado de pagos y verificando el estado de cada pago, si hay algún pago con estado pendiente se intenta resolver este asunto pendiente y al final se informa el resultado. Más detalles se pueden encontrar en demo-payments-android.
Ejemplo¶
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();
}
}