Class PaymentTransactionReversalJobListener
java.lang.Object
com.broadleafcommerce.paymenttransaction.service.messaging.reversals.PaymentTransactionReversalJobListener
@DataRouteByKey("paymentTransaction")
public class PaymentTransactionReversalJobListener
extends Object
Scheduled Job listener that is responsible for processing
PaymentTransaction
reversals.- Author:
- Chris Kittrell (ckittrell), Dima Myroniuk (dmyroniuk)
-
Field Summary
-
Constructor Summary
ConstructorDescriptionPaymentTransactionReversalJobListener
(com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentMessageService, com.broadleafcommerce.data.tracking.core.service.scheduledjob.ScheduledJobContextService scheduledJobContextService, PaymentService<Payment> paymentService, PaymentTransactionService<PaymentTransaction> paymentTransactionService, TransactionExecutionService transactionExecutionService) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
archivePayment
(@NonNull Payment payment, String lockToken, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Archives thePayment
that represents a single-use payment method.protected void
archiveSingleUsePayment
(@NonNull Payment payment, String lockToken, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.protected com.broadleafcommerce.data.tracking.core.context.ContextInfo
buildContextInfoForRead
(org.springframework.messaging.Message<com.broadleafcommerce.common.messaging.domain.ScheduledJobRef> message) Builds aContextInfo
object, which is used to gather and update the payments and transactions.protected com.broadleafcommerce.data.tracking.core.context.ContextInfo
buildContextInfoForReadPayments
(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfoForRead) Builds aContextInfo
object forOperationType.READ
, which is used to read the payments.protected com.broadleafcommerce.data.tracking.core.context.ContextInfo
buildContextInfoForUpdate
(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfoForRead) Builds aContextInfo
object forOperationType.UPDATE
, which is used to update the payments and transactions.protected int
getBatchSize
(@NonNull com.broadleafcommerce.common.messaging.domain.ScheduledJobRef jobRef) Gets the batch size to use when fetching payment transactions.protected com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService
protected String
getJobIdempotencyKey
(org.springframework.messaging.Message<com.broadleafcommerce.common.messaging.domain.ScheduledJobRef> message) protected PaymentLockService<Payment>
protected PaymentManagementService<Payment>
getPaymentsById
(@NonNull List<PaymentTransaction> transactions, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Gather thePayments
related to the providedPaymentTransactions
.protected PaymentService<Payment>
protected PaymentTransactionService<PaymentTransaction>
protected PaymentTransactionReversalProperties
protected com.broadleafcommerce.data.tracking.core.service.scheduledjob.ScheduledJobContextService
protected PaymentTransactionServiceProperties
protected TransactionExecutionService
void
listen
(org.springframework.messaging.Message<com.broadleafcommerce.common.messaging.domain.ScheduledJobRef> message) protected List<PaymentTransaction>
prepareTransactionsForReversal
(List<PaymentTransaction> transactions, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Updates the transaction management state toREVERSAL_IN_PROGRESS
.protected List<PaymentTransaction>
processFailedTransactionReversal
(List<PaymentTransaction> paymentTransactions, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Updates the transaction management state toFAILED_REVERSAL
if the transaction inREVERSAL_IN_PROGRESS
state.protected void
processTransactionReversals
(@NonNull org.springframework.messaging.Message<com.broadleafcommerce.common.messaging.domain.ScheduledJobRef> message) Responsible for initiating payment transaction reversals based on the provided message.protected void
processTransactionReversalsForPayments
(@NonNull List<PaymentTransaction> transactions, @NonNull Map<String, Payment> paymentsById, @NonNull String jobIdempotencyKey, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Responsible for initiating payment transaction reversals for the provided payments.protected String
refundTransaction
(@NonNull Payment payment, @NonNull PaymentTransaction parentTransaction, @NonNull String jobIdempotencyKey, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated, for removal: This API element is subject to removal in a future version.protected String
refundTransaction
(@NonNull Payment payment, @NonNull PaymentTransaction parentTransaction, @NonNull String jobIdempotencyKey, String lockToken, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected String
reverseAuthAndCaptureTransaction
(@NonNull Payment payment, @NonNull PaymentTransaction parentTransaction, @NonNull String jobIdempotencyKey, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated, for removal: This API element is subject to removal in a future version.protected String
reverseAuthAndCaptureTransaction
(@NonNull Payment payment, @NonNull PaymentTransaction parentTransaction, @NonNull String jobIdempotencyKey, String lockToken, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Reverses a successful authorizeAndCapture transaction by interacting with the relevant payment gateway to refund the authorizeAndCapture.protected String
reverseAuthTransaction
(@NonNull Payment payment, @NonNull PaymentTransaction parentTransaction, @NonNull String jobIdempotencyKey, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated, for removal: This API element is subject to removal in a future version.protected String
reverseAuthTransaction
(@NonNull Payment payment, @NonNull PaymentTransaction parentTransaction, @NonNull String jobIdempotencyKey, String lockToken, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Communicates with the relevant payment gateway to execute aDefaultTransactionTypes.REVERSE_AUTH
transaction.protected String
reverseCaptureTransaction
(@NonNull Payment payment, @NonNull PaymentTransaction parentTransaction, @NonNull String jobIdempotencyKey, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated, for removal: This API element is subject to removal in a future version.protected String
reverseCaptureTransaction
(@NonNull Payment payment, @NonNull PaymentTransaction parentTransaction, @NonNull String jobIdempotencyKey, String lockToken, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Reverses a successful capture transaction by interacting with the relevant payment gateway to refund the capture.protected String
reversePaymentTransaction
(@NonNull Payment payment, @NonNull PaymentTransaction parentTransaction, @NonNull String jobIdempotencyKey, String lockToken, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Responsible for processing payment transaction reversals based on the provided payment and transaction.protected String
reversePaymentTransaction
(@NonNull Map<String, Payment> paymentsById, @NonNull PaymentTransaction parentTransaction, @NonNull String jobIdempotencyKey, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated, for removal: This API element is subject to removal in a future version.protected void
reversePaymentTransactions
(@NonNull Payment payment, @NonNull List<PaymentTransaction> transactions, @NonNull String jobIdempotencyKey, String lockToken, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Responsible for processing payment transaction reversals.protected List<PaymentTransaction>
reversePaymentTransactions
(@NonNull List<PaymentTransaction> transactions, @NonNull Map<String, Payment> paymentsById, @NonNull String jobIdempotencyKey, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated, for removal: This API element is subject to removal in a future version.void
setPaymentLockService
(PaymentLockService<Payment> paymentLockService) void
setPaymentManagementService
(PaymentManagementService<Payment> paymentManagementService) void
setProperties
(PaymentTransactionReversalProperties properties) void
setServiceProperties
(PaymentTransactionServiceProperties serviceProperties)
-
Field Details
-
MESSAGE_IDEMPOTENCY_KEY
- See Also:
-
PAYMENT_TRANSACTION_REVERSAL_JOB_TYPE
- See Also:
-
BATCH_SIZE_FLD
- See Also:
-
-
Constructor Details
-
PaymentTransactionReversalJobListener
public PaymentTransactionReversalJobListener(com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentMessageService, com.broadleafcommerce.data.tracking.core.service.scheduledjob.ScheduledJobContextService scheduledJobContextService, PaymentService<Payment> paymentService, PaymentTransactionService<PaymentTransaction> paymentTransactionService, TransactionExecutionService transactionExecutionService)
-
-
Method Details
-
listen
@StreamListener("triggeredJobEventInputPaymentTransactionReversal") public void listen(org.springframework.messaging.Message<com.broadleafcommerce.common.messaging.domain.ScheduledJobRef> message) -
processTransactionReversals
protected void processTransactionReversals(@NonNull @NonNull org.springframework.messaging.Message<com.broadleafcommerce.common.messaging.domain.ScheduledJobRef> message) Responsible for initiating payment transaction reversals based on the provided message.- Parameters:
message
- Contains the scheduled job detail
-
getBatchSize
protected int getBatchSize(@NonNull @NonNull com.broadleafcommerce.common.messaging.domain.ScheduledJobRef jobRef) Gets the batch size to use when fetching payment transactions. Defaults to 10. Note: We want a generally small batch size because it will take time to process reversal transactions. If the batch size is too large, then the time between gathering transactions & their relevant payments will be long enough to potentially make the payments & transactions out-of-date by the time that we attempt to process them.- Parameters:
jobRef
- Contains the scheduled job detail with this property- Returns:
- The batch size to use when fetching payment transactions
-
getPaymentsById
protected Map<String,Payment> getPaymentsById(@NonNull @NonNull List<PaymentTransaction> transactions, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Gather thePayments
related to the providedPaymentTransactions
.- Parameters:
transactions
- The transactions that are to be reversedcontextInfo
- context information related to multitenancy.- Returns:
- the
Payments
related to the providedPaymentTransactions
.
-
processTransactionReversalsForPayments
protected void processTransactionReversalsForPayments(@NonNull @NonNull List<PaymentTransaction> transactions, @NonNull @NonNull Map<String, Payment> paymentsById, @NonNull @NonNull String jobIdempotencyKey, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Responsible for initiating payment transaction reversals for the provided payments.- Parameters:
transactions
- the list of transactions to be reversed.paymentsById
- the payments for the transactions grouped by ID.jobIdempotencyKey
- A unique identifier for this job execution.contextInfo
- context information related to multitenancy.
-
prepareTransactionsForReversal
protected List<PaymentTransaction> prepareTransactionsForReversal(List<PaymentTransaction> transactions, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Updates the transaction management state toREVERSAL_IN_PROGRESS
.- Parameters:
transactions
- the list of transactions to be reversedcontextInfo
- context information related to multitenancy.- Returns:
- the updated transactions
-
reversePaymentTransactions
@Deprecated(since="1.0.2", forRemoval=true) protected List<PaymentTransaction> reversePaymentTransactions(@NonNull @NonNull List<PaymentTransaction> transactions, @NonNull @NonNull Map<String, Payment> paymentsById, @NonNull @NonNull String jobIdempotencyKey, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated, for removal: This API element is subject to removal in a future version.Responsible for processing payment transaction reversals.- Parameters:
transactions
- the list of transactions to be reversed.paymentsById
- the payments for the transactions grouped by ID.jobIdempotencyKey
- A unique identifier for this job execution.contextInfo
- context information related to multitenancy.- Returns:
- The processed transactions with the updated transaction management state.
-
reversePaymentTransactions
protected void reversePaymentTransactions(@NonNull @NonNull Payment payment, @NonNull @NonNull List<PaymentTransaction> transactions, @NonNull @NonNull String jobIdempotencyKey, @Nullable String lockToken, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Responsible for processing payment transaction reversals.- Parameters:
payment
- the payment for transactions.transactions
- the list of transactions to be reversed.jobIdempotencyKey
- A unique identifier for this job execution.lockToken
- Token granted to resource that owns the payment lock.contextInfo
- context information related to multitenancy.
-
reversePaymentTransaction
@Deprecated(since="1.0.2", forRemoval=true) protected String reversePaymentTransaction(@NonNull @NonNull Map<String, Payment> paymentsById, @NonNull @NonNull PaymentTransaction parentTransaction, @NonNull @NonNull String jobIdempotencyKey, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated, for removal: This API element is subject to removal in a future version.Responsible for processing payment transaction reversals based on the provided payment and transaction.- Parameters:
paymentsById
- the payments for the transactions grouped by ID.parentTransaction
- The transaction that is being rolled back.jobIdempotencyKey
- A unique identifier for this job execution.contextInfo
- context information related to multitenancy.- Returns:
DefaultTransactionReversalStatuses.SUCCESS
if the transaction was successfully reversed orDefaultTransactionReversalStatuses.FAILURE
otherwise
-
reversePaymentTransaction
protected String reversePaymentTransaction(@NonNull @NonNull Payment payment, @NonNull @NonNull PaymentTransaction parentTransaction, @NonNull @NonNull String jobIdempotencyKey, @Nullable String lockToken, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Responsible for processing payment transaction reversals based on the provided payment and transaction.- Parameters:
payment
- the payments for the transactions.parentTransaction
- The transaction that is being rolled back.jobIdempotencyKey
- A unique identifier for this job execution.lockToken
- Token granted to resource that owns the payment lock.contextInfo
- context information related to multitenancy.- Returns:
DefaultTransactionReversalStatuses.SUCCESS
if the transaction was successfully reversed orDefaultTransactionReversalStatuses.FAILURE
otherwise
-
reverseAuthTransaction
@Deprecated(since="1.0.2", forRemoval=true) protected String reverseAuthTransaction(@NonNull @NonNull Payment payment, @NonNull @NonNull PaymentTransaction parentTransaction, @NonNull @NonNull String jobIdempotencyKey, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated, for removal: This API element is subject to removal in a future version.Communicates with the relevant payment gateway to execute aDefaultTransactionTypes.REVERSE_AUTH
transaction.- Parameters:
payment
- The payment that was previously authorized.parentTransaction
- The transaction that is being rolled back.jobIdempotencyKey
- A unique identifier for this job execution.contextInfo
- context information related to multitenancy.- Returns:
DefaultTransactionReversalStatuses.SUCCESS
if the transaction was successfully reversed orDefaultTransactionReversalStatuses.FAILURE
otherwise- See Also:
-
reverseAuthTransaction
protected String reverseAuthTransaction(@NonNull @NonNull Payment payment, @NonNull @NonNull PaymentTransaction parentTransaction, @NonNull @NonNull String jobIdempotencyKey, @Nullable String lockToken, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Communicates with the relevant payment gateway to execute aDefaultTransactionTypes.REVERSE_AUTH
transaction.- Parameters:
payment
- The payment for the transactions.parentTransaction
- The transaction that is being rolled back.jobIdempotencyKey
- A unique identifier for this job execution.lockToken
- Token granted to resource that owns the payment lock.contextInfo
- context information related to multitenancy.- Returns:
DefaultTransactionReversalStatuses.SUCCESS
if the transaction was successfully reversed orDefaultTransactionReversalStatuses.FAILURE
otherwise- See Also:
-
reverseAuthAndCaptureTransaction
@Deprecated(since="1.0.2", forRemoval=true) protected String reverseAuthAndCaptureTransaction(@NonNull @NonNull Payment payment, @NonNull @NonNull PaymentTransaction parentTransaction, @NonNull @NonNull String jobIdempotencyKey, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated, for removal: This API element is subject to removal in a future version.Reverses a successful authorizeAndCapture transaction by interacting with the relevant payment gateway to refund the authorizeAndCapture.- Parameters:
payment
- The payment that was previously authorizeAndCaptured as a part of this checkout submission.parentTransaction
- The transaction that is being rolled back.jobIdempotencyKey
- A unique identifier for this job execution.contextInfo
- context information related to multitenancy- Returns:
DefaultTransactionReversalStatuses.SUCCESS
if the transaction was successfully reversed orDefaultTransactionReversalStatuses.FAILURE
otherwise
-
reverseAuthAndCaptureTransaction
protected String reverseAuthAndCaptureTransaction(@NonNull @NonNull Payment payment, @NonNull @NonNull PaymentTransaction parentTransaction, @NonNull @NonNull String jobIdempotencyKey, @Nullable String lockToken, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Reverses a successful authorizeAndCapture transaction by interacting with the relevant payment gateway to refund the authorizeAndCapture.- Parameters:
payment
- The payment that was previously authorizeAndCaptured as a part of this checkout submission.parentTransaction
- The transaction that is being rolled back.jobIdempotencyKey
- A unique identifier for this job execution.lockToken
- Token granted to resource that owns the payment lock.contextInfo
- context information related to multitenancy- Returns:
DefaultTransactionReversalStatuses.SUCCESS
if the transaction was successfully reversed orDefaultTransactionReversalStatuses.FAILURE
otherwise
-
reverseCaptureTransaction
@Deprecated(since="1.0.2", forRemoval=true) protected String reverseCaptureTransaction(@NonNull @NonNull Payment payment, @NonNull @NonNull PaymentTransaction parentTransaction, @NonNull @NonNull String jobIdempotencyKey, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated, for removal: This API element is subject to removal in a future version.Reverses a successful capture transaction by interacting with the relevant payment gateway to refund the capture.- Parameters:
payment
- The payment that was previously captured as a part of this checkout submission.parentTransaction
- The transaction that is being rolled back.jobIdempotencyKey
- A unique identifier for this job execution.contextInfo
- context information related to multitenancy.- Returns:
DefaultTransactionReversalStatuses.SUCCESS
if the transaction was successfully reversed orDefaultTransactionReversalStatuses.FAILURE
otherwise
-
reverseCaptureTransaction
protected String reverseCaptureTransaction(@NonNull @NonNull Payment payment, @NonNull @NonNull PaymentTransaction parentTransaction, @NonNull @NonNull String jobIdempotencyKey, @Nullable String lockToken, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Reverses a successful capture transaction by interacting with the relevant payment gateway to refund the capture.- Parameters:
payment
- The payment that was previously captured as a part of this checkout submission.parentTransaction
- The transaction that is being rolled back.jobIdempotencyKey
- A unique identifier for this job execution.lockToken
- Token granted to resource that owns the payment lock.contextInfo
- context information related to multitenancy.- Returns:
DefaultTransactionReversalStatuses.SUCCESS
if the transaction was successfully reversed orDefaultTransactionReversalStatuses.FAILURE
otherwise
-
refundTransaction
@Deprecated(since="1.0.2", forRemoval=true) protected String refundTransaction(@NonNull @NonNull Payment payment, @NonNull @NonNull PaymentTransaction parentTransaction, @NonNull @NonNull String jobIdempotencyKey, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated, for removal: This API element is subject to removal in a future version. -
refundTransaction
protected String refundTransaction(@NonNull @NonNull Payment payment, @NonNull @NonNull PaymentTransaction parentTransaction, @NonNull @NonNull String jobIdempotencyKey, @Nullable String lockToken, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
archiveSingleUsePayment
@Deprecated protected void archiveSingleUsePayment(@NonNull @NonNull Payment payment, @Nullable String lockToken, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.in favor ofarchivePayment(Payment, String, ContextInfo)
Archives thePayment
that represents a single-use payment method.- Parameters:
payment
- The payment to archive.lockToken
- Token granted to resource that owns the payment lock.contextInfo
- context information related to multitenancy.
-
archivePayment
protected void archivePayment(@NonNull @NonNull Payment payment, @Nullable String lockToken, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Archives thePayment
that represents a single-use payment method.- Parameters:
payment
- The payment to archive.lockToken
- Token granted to resource that owns the payment lock.contextInfo
- context information related to multitenancy.
-
buildContextInfoForRead
protected com.broadleafcommerce.data.tracking.core.context.ContextInfo buildContextInfoForRead(org.springframework.messaging.Message<com.broadleafcommerce.common.messaging.domain.ScheduledJobRef> message) Builds aContextInfo
object, which is used to gather and update the payments and transactions.- Parameters:
message
- Contains scheduled job details about the context- Returns:
- A
ContextInfo
object, which used to gather & update carts.
-
buildContextInfoForUpdate
protected com.broadleafcommerce.data.tracking.core.context.ContextInfo buildContextInfoForUpdate(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfoForRead) Builds aContextInfo
object forOperationType.UPDATE
, which is used to update the payments and transactions.The
ContextInfo.isIgnoreNarrowing()
is set to true for update, because it is also used to retrieve the owning payment, which may be archived.- Parameters:
contextInfoForRead
- theContextInfo
withOperationType.READ
to build from- Returns:
- a
ContextInfo
object forOperationType.UPDATE
-
buildContextInfoForReadPayments
protected com.broadleafcommerce.data.tracking.core.context.ContextInfo buildContextInfoForReadPayments(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfoForRead) Builds aContextInfo
object forOperationType.READ
, which is used to read the payments.When reading
Payments
, a newContextInfo
is built withContextInfo.isIgnoreNarrowing()
set to true. This is done so that this job can reverse transactions even if their payments are archived. The payments should already be tenant discriminated, because their transactions should already be narrowed by specified tenant.- Parameters:
contextInfoForRead
- theContextInfo
withOperationType.READ
to build from- Returns:
- a
ContextInfo
object forOperationType.UPDATE
-
getJobIdempotencyKey
protected String getJobIdempotencyKey(org.springframework.messaging.Message<com.broadleafcommerce.common.messaging.domain.ScheduledJobRef> message) -
processFailedTransactionReversal
protected List<PaymentTransaction> processFailedTransactionReversal(List<PaymentTransaction> paymentTransactions, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Updates the transaction management state toFAILED_REVERSAL
if the transaction inREVERSAL_IN_PROGRESS
state.- Parameters:
paymentTransactions
- the transactions to processcontextInfo
- context information related to multitenancy- Returns:
- the failed transactions
-
getIdempotentMessageService
protected com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService getIdempotentMessageService() -
getScheduledJobContextService
protected com.broadleafcommerce.data.tracking.core.service.scheduledjob.ScheduledJobContextService getScheduledJobContextService() -
getPaymentService
-
getPaymentTransactionService
-
getTransactionExecutionService
-
setProperties
-
getProperties
-
setPaymentManagementService
@Autowired public void setPaymentManagementService(PaymentManagementService<Payment> paymentManagementService) -
getPaymentManagementService
-
setPaymentLockService
-
getPaymentLockService
-
getServiceProperties
-
setServiceProperties
-
archivePayment(Payment, String, ContextInfo)