refund crash fixed
This commit is contained in:
parent
7452443a45
commit
ff9450a50c
@ -54,7 +54,6 @@ public class QRPayFragment extends DataBindingFragment {
|
|||||||
@Override
|
@Override
|
||||||
protected DataBindingConfig getDataBindingConfig() {
|
protected DataBindingConfig getDataBindingConfig() {
|
||||||
boolean isQrRefundEnable = SystemParamsOperation.getInstance().getQrRefundEnable();
|
boolean isQrRefundEnable = SystemParamsOperation.getInstance().getQrRefundEnable();
|
||||||
LogUtil.d("KMK", "isQrRefundEnable =>" + isQrRefundEnable);
|
|
||||||
List<QRPayItem> features = new ArrayList<>();
|
List<QRPayItem> features = new ArrayList<>();
|
||||||
features.add(new QRPayItem("Sale", R.drawable.ic_qr_pay, true));
|
features.add(new QRPayItem("Sale", R.drawable.ic_qr_pay, true));
|
||||||
if(isQrRefundEnable){
|
if(isQrRefundEnable){
|
||||||
|
|||||||
@ -149,7 +149,13 @@ public class QRRefundProcessFragment extends DataBindingFragment {
|
|||||||
payDetail.setIsCanceled(true);
|
payDetail.setIsCanceled(true);
|
||||||
payDetail.setCustomerMobile(response.getResponse().getWalletIdentifier());
|
payDetail.setCustomerMobile(response.getResponse().getWalletIdentifier());
|
||||||
payDetail.setTradeDateAndTime(response.getResponse().getRefundTime());
|
payDetail.setTradeDateAndTime(response.getResponse().getRefundTime());
|
||||||
EReceiptRequest request = EReceiptUtil.getInstance().generateQRRefundReceipt(sharedViewModel.payDetail.getValue(), TransResultStatus.SUCCESS);
|
EReceiptRequest request = EReceiptUtil.getInstance().generateQRRefundReceipt(
|
||||||
|
refundAmount,
|
||||||
|
referenceNo,
|
||||||
|
payDetail != null ? payDetail.getInvoiceNo() : "",
|
||||||
|
payDetail != null ? payDetail.getVoucherNo() : "",
|
||||||
|
TransResultStatus.SUCCESS
|
||||||
|
);
|
||||||
sharedViewModel.pushReceipt(request);
|
sharedViewModel.pushReceipt(request);
|
||||||
|
|
||||||
retrievedUpdatePayDetail(referenceNo);
|
retrievedUpdatePayDetail(referenceNo);
|
||||||
@ -165,7 +171,13 @@ public class QRRefundProcessFragment extends DataBindingFragment {
|
|||||||
errorMsg = response.getResponse().getMsg();
|
errorMsg = response.getResponse().getMsg();
|
||||||
}
|
}
|
||||||
payDetail.setTradeResultDes(errorMsg);
|
payDetail.setTradeResultDes(errorMsg);
|
||||||
EReceiptRequest request = EReceiptUtil.getInstance().generateQRRefundReceipt(sharedViewModel.payDetail.getValue(), TransResultStatus.FAIL);
|
EReceiptRequest request = EReceiptUtil.getInstance().generateQRRefundReceipt(
|
||||||
|
"0",
|
||||||
|
referenceNo,
|
||||||
|
payDetail != null ? payDetail.getInvoiceNo() : "",
|
||||||
|
payDetail != null ? payDetail.getVoucherNo() : "",
|
||||||
|
TransResultStatus.FAIL
|
||||||
|
);
|
||||||
sharedViewModel.pushReceipt(request);
|
sharedViewModel.pushReceipt(request);
|
||||||
|
|
||||||
sharedViewModel.payDetail.setValue(payDetail);
|
sharedViewModel.payDetail.setValue(payDetail);
|
||||||
|
|||||||
@ -92,9 +92,15 @@ public class EReceiptUtil {
|
|||||||
return request;
|
return request;
|
||||||
}
|
}
|
||||||
|
|
||||||
public EReceiptRequest generateQRRefundReceipt(PayDetail payDetail, TransResultStatus status) {
|
public EReceiptRequest generateQRRefundReceipt(
|
||||||
|
String refundAmount,
|
||||||
double realAmount = payDetail.getAmount() / 100.0;
|
String referenceNo,
|
||||||
|
String invoiceNo,
|
||||||
|
String voucherNo,
|
||||||
|
TransResultStatus status
|
||||||
|
) {
|
||||||
|
long amt = POSUtil.getInstance().convertAmount(refundAmount);
|
||||||
|
double realAmount = amt / 100.0;
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
String amount = df.format(realAmount);
|
String amount = df.format(realAmount);
|
||||||
|
|
||||||
@ -104,15 +110,15 @@ public class EReceiptUtil {
|
|||||||
request.setDE3("QRV");
|
request.setDE3("QRV");
|
||||||
|
|
||||||
request.setDE7(currentTimeStamp);
|
request.setDE7(currentTimeStamp);
|
||||||
request.setDE37(payDetail.getReferNo());
|
request.setDE37(referenceNo);
|
||||||
|
|
||||||
request.setDE49("MMK");
|
request.setDE49("MMK");
|
||||||
request.setSerial(serialNum);
|
request.setSerial(serialNum);
|
||||||
request.setAppId(packageName);
|
request.setAppId(packageName);
|
||||||
request.setDE41(qrTerminalId);
|
request.setDE41(qrTerminalId);
|
||||||
request.setDE42(qrMerchantId);
|
request.setDE42(qrMerchantId);
|
||||||
request.setInvoiceNumber(payDetail.getInvoiceNo());
|
request.setInvoiceNumber(invoiceNo != null ? invoiceNo : "");
|
||||||
request.setDE11(payDetail.getVoucherNo());
|
request.setDE11(voucherNo != null ? voucherNo : "");
|
||||||
|
|
||||||
// need to add payment identifier field too
|
// need to add payment identifier field too
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user