Fix subaccounts#98
Merged
Merged
Conversation
AdminRequiredMixin (LoginRequiredMixin) performs sync DB operations (session/auth lookup) which Django forbids in async context. Converted: - ServiceCreateSubaccountView: now calls _make_paystack_request directly - PaymentRefundView: uses sync ORM + async_to_sync for webhook dispatch Remaining async views (InitiatePayment, VerifyPayment, Webhook) are public-facing without auth mixins, so they work fine in async mode.
Paystack API returns duplicate bank entries (same bank, different branch types). Filter by unique code to prevent double-named banks in the dropdown.
Appends (Mobile money) or similar label to bank names that aren't regular bank accounts (nuban/ghipss), helping users distinguish e.g. Safaricom M-Pesa from traditional banks.
- ServiceEditView handles all fields (basic, integration, security, revenue sharing) - Updates Paystack subaccount if code exists and bank details change - Edit button added to service detail page topbar - URL route: /dashboard/services/<slug>/edit/
- Add channels param to initialise_transaction() - Define DEFAULT_PAYMENT_CHANNELS including apple_pay - Pass channels in both public and API payment flows - Fix test_dashboard_refund_flow mock (sync _make_paystack_request)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
AdminRequiredMixin (LoginRequiredMixin) performs sync DB operations
(session/auth lookup) which Django forbids in async context. Converted:
Remaining async views (InitiatePayment, VerifyPayment, Webhook) are
public-facing without auth mixins, so they work fine in async mode.