Page body
What this form does
The form creates or updates one payment-method record. It is used for both simple provider rows and more complex card or crypto flows.
Operators can work in two modes:
- regular form mode
- JSON mode for direct structured editing
The same shared modal is also used for four operator entry points:
Add MethodEdit Payment MethodCreate GroupEdit Payment Group
Group mode is still the same payload editor, but it starts from a different default state and is aimed at parent/group rows instead of standalone methods.
When to use it
- add a new provider or method variant
- change display titles or descriptions
- switch a method on or off
- set country, currency, email, or traffic restrictions
- configure card or crypto-specific behavior
- upload or replace the method logo
- create or maintain a payment group that other rows can attach to through
Parent Group
How to read it
The form is easiest to think about in sections:
- identity: name, provider, title resource key, raw title, description resource key
- core status: active, hidden, withdrawal enabled, bonus flag
- method type: bank, email, card, crypto, payment-group behavior, network behavior
- limits and defaults: default amount, bottom-amount helper text, EUR limits, and per-currency ranges
- targeting: country, currency, email, and traffic restrictions
- copy blocks: deposit and withdrawal text blocks used by player-side payment UX
What usually confuses operators
JSON mode is powerful but bypasses the grouped form layout
JSON mode is useful for advanced edits or structure review. It should be used carefully because it exposes the raw payload that will be posted to the backend. The modal also exposes helper actions to format, copy, download, upload, and re-apply JSON back into grouped form mode.
The FE does not save invalid JSON. Apply & Switch to Form is blocked until the JSON parses successfully.
Title and Description are resource keys, not plain content fields
The visible labels are Title (key from Resources) and Description (key from Resources). Operators should enter resource keys that map to translation resources, not long free-text copy.
Payment groups are configured from the same modal
The same create/edit surface is also used for Create New Group and Edit Payment Group. The Is Payment Group switch changes the row into a parent/group record and affects how child rows use the Parent field.
Create Group also starts from group-oriented defaults in the FE:
isCrypto: truename: new-grouprawTitle: New Grouptitle: New Payment GroupisActive: true
Card and crypto toggles unlock extra fields
Options such as saved-card behavior or QR/static-network behavior matter only when the corresponding form type is enabled.
Traffic flags are not the same thing
Allowed Traffic Typecontrols broad traffic targetingTrusted Onlynarrows to trusted trafficAffiliate Onlynarrows to affiliate-attributed traffic
The FE also forces Trusted Only off for some traffic selections and disables it for traffic modes where the combination is not allowed.
Known caveats
- The backend enforces uniqueness on the
name + paymentMethodcombination. - FE validation only hard-requires
Name. The modal does not requirePayment Method,Title, orDescriptionbefore save. - The list page, not the form page, owns delete.
- Some numeric fields allow blank values, which the hook converts to
nullbefore submit. Gateway Crypto Static QR Next Stepcan be auto-enabled in the FE whenGateway Crypto Static QR Flowis enabled for thegatewaycryptomethod name.Traffic Typecan forcibly clear and disableTrusted Onlyfor combinations the FE does not allow.
Verification status
- status:
verified_backend - FE mapping checked from the shared modal editor in
paymentMethods.tsx - backend create and update paths checked in
CrudPaymentMethodService