hyperswitch
hyperswitch copied to clipboard
feat(connector): [nordea] sepa bank debit
Type of Change
- [ ] Bugfix
- [x] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD
Description
This PR introduces SEPA Bank Debit targeting Payments API SEPA Credit Transfer in Nordea.
There are a few bottle necks that does not allow this connector from working (as of 20250525):
- Connector requires
access_tokento make a payment. Gettingaccess_tokenis a 2 step process which Hyperswitch core does not allow at present.- Initial call has to be made to
/authorizeend point to get acode(this is single use long-lived token) - Second call has to be made to
/authorize/tokenend point by passingcodeto get theaccess_tokenandrefresh_tokenwhereaccess_tokenis short lived and expires every 3600 seconds (every hour) whilerefresh_tokenis a single-use long-lived token - Once
codeis used to getaccess_tokenandrefresh_tokenit is no longer needed -
refresh_tokenis used to getaccess_tokenevery time it expires
- Initial call has to be made to
-
/personal/v4/payments/sepawas deprecated on 20250525 and/personal/v5/payments/sepa-credit-transfer(s)(it is still not clear in the doc)- Payments via Sepa credit transfer is again a 2 step process where
/sepa-credit-transfer(s)returnsPendingConfirmationas payment status which requires TPP (us) to make another call to/payments/sepa-credit-transfer(s)/confirmendpoint that returns a response with a link havingsigningas reference with a redirect url to complete the transaction
- Payments via Sepa credit transfer is again a 2 step process where
Other than that, below are not supported by the connector:
- Manual Capture
- Refunds
- Webhooks
Additional Changes
- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/environment variables
Motivation and Context
New connector Nordea SEPA integration. Closes #8134.
How did you test it?
- Cannot be tested due to above mentioned limitations.
- Connector's Postman collection as well as their API console constantly throw
invalid digesterror
Checklist
- [x] I formatted the code
cargo +nightly fmt --all - [x] I addressed lints thrown by
just clippy && just clippy_v2 - [x] I reviewed the submitted code
- [ ] I added unit tests for my changes where possible
coderabbit:
@coderabbitai ignore