[DEPRECATED] Realiza o processo de devolução não referenciada.¶
Esse método deve ser chamado para executar a devolução não referenciada.
Métodos¶
| Assinatura | Descrição |
|---|---|
void refundPayment(RefundRequest settlementRequest, PaymentCallback paymentCallback) |
Realiza o processo de devolução não referenciada. (DEPRECATED: Utilizar refundPaymentV2) |
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
request |
RefundRequest |
Sim | Objeto de transferência de dados que conterá as informações da requisição da devolução não referenciada. 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 devolução. |
Detalhe dos parâmetros request (RefundRequest) (DEPRECATED: Utilizar RefundRequestV2)
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
value |
BigDecimal |
Não | Valor da devolução não referenciada. Caso não seja preenchido (null), ou seja preenchido com 0 (zero), o App de Pagamento deve solicitar o valor ao operador. |
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 |
Não | 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. O valor padrão é false, isto é, o comprovante não é impresso. |
printCustomerReceipt |
Boolean |
Não | Indica se o comprovante do cliente deve ser impresso ou não. O valor padrão é false, isto é, o comprovante não é impresso. |
productShortName |
String |
Não | Quando preenchido, após a leitura do cartão e identificação do produto de bandeira, caso não corresponda a productShortName do produto em questão, o terminal deve exibir um erro em tela e encerrar a transação. Exemplos: VI=VISA, MC=MASTERCARD, AX=AMEX |
appTransactionId |
String |
Não | Identificador da transação integrada para o software. O Identificador referido é aquele utilizado na aplicação que originou a solicitação de devolução. Não deve se repetir. |
callback (RefundCallback)
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
onSuccess |
Método para notificação em caso de sucesso | ||
Refund.acquirerId |
String |
Sim | ID da adquirente. |
Refund.refundId |
String |
Sim | ID da devolução. |
Refund.productShortName |
String |
Sim | Corresponde ao productShortName correspondente ao produto de bandeira do contexto da transação. |
Refund.batchNumber |
String |
Sim | ID do lote ao qual a transação pertence. |
Refund.nsuTerminal |
String |
Sim | NSU gerado pelo terminal para a transação. Os 4 dígitos mais à direita correspondem ao Ticket Number. Esse NSU é informado pelo terminal para o PhAST no parâmetro “merchantTransactionId”. |
Refund.acquirerResponseCode |
String |
Sim | Código de resposta da adquirente. |
Refund.acquirerResponseDate |
Date |
Sim | Data/hora retornada pela adquirente. |
Refund.acquirerAuthorizationNumber |
String |
Sim | Número da autorização fornecido pela adquirente (consta no comprovante do cliente Portador do Cartão). |
Refund.Receipt.merchantVia |
String |
Não | Conteúdo do comprovante - via do estabelecimento. Cópia lojista |
Refund.Receipt.clientVia |
String |
Não | Conteúdo do comprovante - via do cliente. Cópia cliente |
onError |
Método para notificação em caso de erro. | ||
ErrorData.paymentsResponseCode |
String |
Sim | Código de resposta para o erro ocorrido. Vide Códigos de Resposta |
ErrorData.acquirerResponseCode |
String |
Não | Código de resposta para o erro ocorrido retornado pela adquirente. Note que este erro só será retornado se a transação não for autorizada pela adquirente. |
ErrorData.responseMessage |
String |
Sim | Mensagem descritiva da causa do erro. |
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");
RefundRequest refundRequest = new RefundRequest();
refundRequest.setApplicationInfo(appInfo);
refundRequest.setPrintMerchantReceipt(true);
try {
paymentClient.refundPayment(refundRequest, this);
} catch (ClientException e) {
Log.e(TAG, "Error starting devolution", e);
}
}
@Override
public void onError(ErrorData errorData) {
Log.e(TAG, "Error: " + errorData.getResponseMessage());
}
@Override
public void onSuccess(Refund refund) {
Log.i(TAG, "Success!");
}
}