[DEPRECATED] Sincroniza as transações e fecha o lote atual.¶
Esse método deve ser chamado para executar o fechamento de lote e envio do mesmo.
Métodos¶
| Assinatura | Descrição |
|---|---|
void closeBatch(SettlementRequest settlementRequest, PaymentCallback paymentCallback) |
Sincroniza as transações e fecha o lote atual. |
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
request |
SettlementRequest |
Sim | Objeto de transferência de dados que conterá as informações da requisição do fechamento de lote. Note que nem todos os parâmetros são obrigatórios. |
callback |
PaymentCallback |
Sim | Interface que será executada para notificações de sucesso ou erro do processo de fechamento de lote. |
Detalhe dos parâmetros request (SettlementRequest)
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
ApplicationInfo.credentials |
Credentials |
Sim | Credenciais da aplicação que está solicitando a operação, conforme cadastro na PayStore. Basicamente, trata-se da identificação da aplicação e o token de acesso. |
ApplicationInfo.softwareVersion |
String |
Sim | Versão da aplicação que está solicitando o pagamento. |
printMerchantReceipt |
Boolean |
Não | Indica se o comprovante do estabelecimento deve ser impresso ou não. |
(DEPRECATED: Utilizar SettlementCallbackV2)
callback (SettlementCallback)¶
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
onSuccess |
Método para notificação em caso de sucesso. | ||
Settlement.Receipt.merchantVia |
String |
Sim | Retorna um comprovante da adquirente com as informações do fechamento de lote. |
Settlement.BatchNumber |
String |
Sim | Número de lote. |
acquirerResponseCode |
String |
Sim | Código de resposta do host. |
terminalId |
String |
Sim | Identificação do terminal |
acquirerAdditionalMessage |
String |
Não | Mensagem enviada no campo 63 de resposta EPS, para ser impressa ou exibida no final do fluxo transacional. O aplicativo de pagamentos permanece responsável por exibir na tela ou verificar o conteúdo presente neste campo, mas também deve enviar o valor recebido para a aplicação integrada para que ela possa aplicar suas regras de negócios baseadas no conteúdo deste campo. |
onError |
Método para notificação em caso de falha. | ||
ErrorData.paymentsResponseCode |
String |
Sim | Código de resposta para o erro que ocorreu. Vide Códigos de Resposta |
ErrorData.acquirerResponseCode |
String |
Não | Código de resposta para o erro ocorrido retornado pela adquirente. Observe que apenas este erro será retornado se a transação não for autorizada pela adquirente. |
ErrorData.responseMessage |
String |
Sim | Mensagem descritiva da causa da não autorização. Se a transação foi negada pela adquirente, conterá a mensagem retornada pela adquirente. |
ErrorData.acquirerAdditionalMessage |
String |
Não | Mensagem enviada no campo 63 de resposta EPS, para ser impressa ou exibida no final do fluxo transacional. O aplicativo de pagamentos permanece responsável por exibir na tela ou verificar o conteúdo presente neste campo, mas também deve enviar o valor recebido para a aplicação integrada para que ela possa aplicar suas regras de negócios baseadas no conteúdo deste campo. |
Exemplo¶
public class MyActivity extends Activity implements PaymentClient.PaymentCallback {
private PaymentClient paymentClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_payment);
paymentClient = new PaymentClientImpl();
}
@Override
protected void onResume() {
super.onResume();
paymentClient.bind(this);
}
@Override
protected void onDestroy() {
try {
paymentClient.unbind(this);
} catch (Exception e) {
Log.e(TAG, e.getMessage());
}
super.onDestroy();
}
public void doExecute(){
ApplicationInfo appInfo = new ApplicationInfo();
appInfo.setCredentials(new Credentials("demo-app", "TOKEN-KEY-DEMO"));
appInfo.setSoftwareVersion("1.0.0.0");
SettlementRequest settlementRequest = new SettlementRequest();
settlementRequest.setApplicationInfo(appInfo);
settlementRequest.setPrintMerchantReceipt(true);
try {
paymentClient.closeBatch(settlementRequest, this);
} catch (ClientException e) {
Log.e(TAG, "Error while closing batch.", e);
}
}
@Override
public void onError(ErrorData errorData) {
Log.e(TAG, "Error: " + errorData.getResponseMessage());
}
@Override
public void onSuccess(Settlement settlement) {
Log.i(TAG, "Success!");
}
}