Enhancement: airwallex EPS and SOFORT implementation #4310
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.
Type of Change
Description
#4309
This PR implements the linked issue, which is created based on this hiring challenge discussion
Additional Changes
Following files were changed:
crates/router/src/connector/airwallex/transformers.rs
No config change was done.
Motivation and Context
Implementing EPS and SOFORT bank redirect payment methods for the Airwallex payment processor which is supported by airwallex but unimplemented on hyperswitch.
Linked issue
How did you test it?
I tested this manually as I am new to rust and due to some time constraints. Will add proper unit tests further maybe.
For testing, I created a merchant account, api key, payment connector supporting bank redirect and finally a payment using the postman collection provied in the discussion doc. Attaching screenshots below.
Currently the implementation fails as the demo Airwallex account mentioned in the discussions page does not seem to support EPS and Sofort.
The following log supports my claim:
But the trasformer works fine and converts the input data into proper airwallex input JSON as below:
The following 2 lines were generated by the statement
println!("{:#?}",serde_json::to_string(&payment_method));
for debugging purposes.Transformed and serialized EPS payment_method data:
Transformed and serialized Sofort payment_method data:
Payment creation returned 200. Couldn't test further as demo account does not support it yet.
Checklist
cargo +nightly fmt --all
cargo clippy