| lambda$createPaymentExceptionRefund$2(PaymentModels.CreatePaymentExceptionRefundCommand, String, String, TradePort.PaymentContext, TransactionStatus) |   | 83% |   | 58% | 10 | 13 | 10 | 68 | 0 | 1 |
| processValidCallback(PaymentModels.RefundCallbackCommand, Instant) |   | 71% |   | 55% | 8 | 10 | 8 | 29 | 0 | 1 |
| lambda$createFromRefundRequested$0(PaymentModels.RefundRequestedCommand, TransactionStatus) |   | 88% |   | 70% | 6 | 11 | 5 | 50 | 0 | 1 |
| paymentExceptionAuditView(PaymentExceptionRefundAuditEntity) |  | 0% | | n/a | 1 | 1 | 10 | 10 | 1 | 1 |
| lambda$retryDispatch$3(PaymentModels.RetryRefundDispatchCommand, String, String, TransactionStatus) |   | 87% |   | 75% | 2 | 5 | 2 | 21 | 0 | 1 |
| replayPaymentExceptionRefund(PaymentExceptionRefundAuditEntity) |   | 61% |   | 33% | 2 | 3 | 3 | 6 | 0 | 1 |
| insertTransaction(RefundOrderEntity, PaymentModels.RefundCallbackCommand, String, Instant) |   | 87% |   | 58% | 5 | 7 | 3 | 23 | 0 | 1 |
| processMockCallback(PaymentModels.RefundCallbackCommand) |   | 80% |   | 75% | 1 | 3 | 2 | 11 | 0 | 1 |
| listPaymentExceptionRefundAudits(String, int) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| applySuccess(RefundOrderEntity, PaymentModels.RefundCallbackCommand, Instant) |   | 83% |   | 75% | 1 | 3 | 3 | 15 | 0 | 1 |
| applyFailure(RefundOrderEntity, PaymentModels.RefundCallbackCommand, Instant) |   | 81% |   | 50% | 2 | 3 | 3 | 13 | 0 | 1 |
| persistRetryAudit(RefundDispatchRetryAuditEntity, String) |   | 67% |   | 50% | 2 | 3 | 2 | 8 | 0 | 1 |
| createPaymentExceptionRefund(PaymentModels.CreatePaymentExceptionRefundCommand) |   | 89% |   | 75% | 2 | 5 | 2 | 16 | 0 | 1 |
| replayRetry(RefundDispatchRetryAuditEntity, String) |   | 77% |   | 75% | 1 | 3 | 1 | 5 | 0 | 1 |
| sha256(String) |   | 56% | | n/a | 0 | 1 | 2 | 4 | 0 | 1 |
| writeJson(Object) |   | 41% | | n/a | 0 | 1 | 2 | 3 | 0 | 1 |
| rejectRetry(PaymentModels.RetryRefundDispatchCommand, String, String, RefundOrderEntity, PaymentError, Instant) |   | 85% |   | 50% | 1 | 2 | 1 | 6 | 0 | 1 |
| requireByAfterSaleNo(String) |   | 76% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| requireRefund(String) |   | 76% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| callbackExpired(long, Instant) |   | 72% |   | 50% | 1 | 2 | 2 | 4 | 0 | 1 |
| requireUpdated(int) |   | 44% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| paymentExceptionEligibilityError(PaymentOrderEntity, TradePort.PaymentContext) |  | 96% |   | 55% | 8 | 10 | 1 | 11 | 0 | 1 |
| requireSameChannelRefundNo(RefundOrderEntity, PaymentModels.RefundCallbackCommand) |  | 91% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| appendRefundEvent(RefundOrderEntity, String, Instant) |  | 100% | | n/a | 0 | 1 | 0 | 37 | 0 | 1 |
| retryAudit(PaymentModels.RetryRefundDispatchCommand, String, String, RefundOrderEntity, String, String, Instant) |  | 100% |   | 50% | 1 | 2 | 0 | 19 | 0 | 1 |
| recordUntrustedCallback(PaymentModels.RefundCallbackCommand, Instant) |  | 100% | | n/a | 0 | 1 | 0 | 13 | 0 | 1 |
| RefundService(RefundOrderMapper, RefundTransactionMapper, RefundCallbackLogMapper, CallbackSecurityAuditMapper, RefundDispatchRetryAuditMapper, PaymentExceptionRefundAuditMapper, PaymentOrderMapper, ConsumedEventMapper, OutboxEventMapper, MockChannelProperties, ObjectMapper, TransactionTemplate, MessagingTracing, TradePort) |  | 100% | | n/a | 0 | 1 | 0 | 16 | 0 | 1 |
| callbackLog(PaymentModels.RefundCallbackCommand, String, boolean, String, String, Instant) |  | 100% | | n/a | 0 | 1 | 0 | 12 | 0 | 1 |
| view(RefundOrderEntity) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| paymentExceptionAudit(PaymentModels.CreatePaymentExceptionRefundCommand, String, String, Instant) |  | 100% | | n/a | 0 | 1 | 0 | 10 | 0 | 1 |
| paymentExceptionRefundHash(PaymentOrderEntity) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| retryDispatch(PaymentModels.RetryRefundDispatchCommand) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| retryAuditView(RefundDispatchRetryAuditEntity) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| refundRequestHash(PaymentModels.RefundRequestedCommand) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| acknowledgeRequest(RefundOrderEntity, Instant) |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| isManualRetryAllowed(RefundOrderEntity) |  | 100% |   | 87% | 1 | 5 | 0 | 4 | 0 | 1 |
| lambda$createPaymentExceptionRefund$1(PaymentModels.CreatePaymentExceptionRefundCommand, String, TransactionStatus) |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| acceptPaymentExceptionAudit(PaymentExceptionRefundAuditEntity, PaymentOrderEntity, RefundOrderEntity) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| getForUser(Long, String) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| getByAfterSaleNoForUser(Long, String) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| lambda$recordRejectedCallback$6(PaymentModels.RefundCallbackCommand, boolean, PaymentError, Instant, TransactionStatus) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| paymentExceptionCommandHash(PaymentModels.CreatePaymentExceptionRefundCommand, String) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| retryCommandHash(PaymentModels.RetryRefundDispatchCommand, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| listRetryAudits(String, int) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| createFromRefundRequested(PaymentModels.RefundRequestedCommand) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| recordRejectedCallback(PaymentModels.RefundCallbackCommand, PaymentError, boolean, Instant) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| constantEquals(String, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$recordUntrustedCallback$5(CallbackSecurityAuditEntity, TransactionStatus) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| hashPart(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| callbackHash(PaymentModels.RefundCallbackCommand) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$processMockCallback$4(PaymentModels.RefundCallbackCommand, Instant, TransactionStatus) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| paymentExceptionReference(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |