Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decouple from PaymentService module #123

Open
gdlcf88 opened this issue Mar 10, 2022 · 0 comments
Open

Decouple from PaymentService module #123

gdlcf88 opened this issue Mar 10, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request module-payments

Comments

@gdlcf88
Copy link
Member

gdlcf88 commented Mar 10, 2022

Redesign the EShop.Payments module to decouple from the PaymentService module, so it can be compatible with the Volo.Payment module and more.

We follow these steps:

  1. Create payment provider submodules to support different payment modules:
    • EShop.Payments.Provider.EasyAbpPaymentService
    • EShop.Payments.Provider.VoloPayment
  2. These submodules subscribe to the ETOs they recognized then we can pay for orders with different payment modules. Installing multiple payment modules is also good.
  3. Simplify Payment and Refund aggregates:
    • Remove most properties and add a new property named PaymentModuleName. The null value of PaymentModuleName means using the default, which avoids making a breaking change).
    • Remove the PaymentItem and RefundItem entities, record them with ExtraProperties.Items.
    • Don't change the IRefundAppService and IRefundAppService interfaces but invoke the payment and refund methods implemented by the payment provider submodules mentioned above.
@gdlcf88 gdlcf88 added enhancement New feature or request module-payments labels Mar 10, 2022
@gdlcf88 gdlcf88 self-assigned this Mar 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request module-payments
Projects
None yet
Development

No branches or pull requests

1 participant