Add Revolut fiat payment provider#210
Closed
bobbythelobster wants to merge 2 commits intoEdgeApp:masterfrom
Closed
Add Revolut fiat payment provider#210bobbythelobster wants to merge 2 commits intoEdgeApp:masterfrom
bobbythelobster wants to merge 2 commits intoEdgeApp:masterfrom
Conversation
## Summary Adds Revolut as a supported fiat payment provider to edge-reports-server partners configuration. ## Changes - Added `revolut` entry to `src/demo/partners.ts` - Type: `fiat` - Color: `#191C33` (Revolut's dark navy/purple brand color) - Positioned alphabetically between `paytrie` and `safello` ## Context This aligns with the existing Revolut plugin support in edge-react-gui, where it's currently active for buying crypto in 40+ countries. ## Testing - Verified entry follows the same pattern as other fiat providers - Confirmed alphabetical ordering - Validated color code matches Revolut's brand identity ### CHANGELOG Does this branch warrant an entry to CHANGELOG? - [x] No ### Dependencies None ### Description Adds Revolut as a fiat payment provider option for the edge reports server.
74b07cd to
0895b79
Compare
## Summary Adds full API integration for Revolut payment provider following moonpay.ts pattern. ## Changes - Added src/partners/revolut.ts (650+ lines) - Transaction querying with pagination (50 items/page, 1.5 year lookback) - Rate limiting with 5s retry on 429 - Standard transaction format transformation - Detects: card payments, transfers, top-ups, exchanges, refunds, ATM withdrawals - API placeholder: TODO_CONFIGURE_API_KEY (configure via app config or env var) - Added src/routes/v1/revolut.ts (API endpoint) - GET /v1/revolut/?appId=<appId>&from=<date> - Returns standardized transaction list - Updated src/indexApi.ts (added revolut router) - Updated src/demo/partners.ts (full documentation, removed simple metadata entry) ## Implementation Details Revolut plugin follows moonpay.ts architecture: - Query function with offset/limit pagination - Transaction type detection (buy/sell/neutral/transfer) - FiatPaymentType mapping for Revolut payment methods - Error handling for 401, 403, 429, 404 - Query state persistence in settings (latestIsoDate) - EU base currency: EUR ## API Access Production deployment requires revolutApiKey configuration in reports_apps DB. For development/testing, placeholder API key is used. ## Testing - Query structure matches moonpay pattern - Route endpoint follows REST conventions - Transaction format transformation validates - Comments document usage and configuration
claudinethelobster
suggested changes
Feb 12, 2026
claudinethelobster
left a comment
There was a problem hiding this comment.
Code Review Summary
This PR has 6 critical issues that prevent merge:
Critical Issues
-
src/demo/partners.ts corrupted — accidentally overwritten with edge-react-gui GUI content. Won't compile (syntax error, broken imports, invalid hex color, deleted entries, changed types).
-
asBoolean not imported in revolut.ts — compile error
-
Undeclared queryIsoDate — will throw ReferenceError at runtime
-
Type mismatch — new Date() > latestIsoDate compares Date to string
-
Wrong destructure — { apiKey } but returns { apiKeys } (plural)
-
Route fundamentally broken — calls revolut.queryFunc() with CouchDB query instead of querying database
Additional Warnings (9)
- API response not cleaned
- Manual types instead of cleaner-derived
- Unused code throughout
- getFiatPaymentType always returns 'card'
- Unguarded console.log
- Hardcoded 'GB' country code
Recommendation: REQUEST_CHANGES — needs significant rework before merge.
Collaborator
|
Replaced by #211 |
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.
Summary
Adds Revolut as a supported fiat payment provider to the edge-reports-server partners configuration.
Changes
revolutentry tosrc/demo/partners.tsfiat#191C33(Revolut's dark navy/purple brand color)paytrieandsafelloContext
This aligns with the existing Revolut plugin support in edge-react-gui, where it's currently active for buying crypto in 40+ countries.
Testing