juspay / hyperswitch

An open source payments switch written in Rust to make payments fast, reliable and affordable
https://hyperswitch.io/
Apache License 2.0
12.34k stars 1.34k forks source link

[FEATURE] Implementing iDEAL and Giropay payment methods with Multisafe #4397

Closed TakshPanchal closed 4 months ago

TakshPanchal commented 6 months ago

Feature Description

Add iDEAL and Giropay payment processors in Multisafepay connector.

Whole description can be found in #4143 discussion.

Possible Implementation

Proposal: Implementing iDEAL and Giropay payment methods with Multisafe #4143

Objective

Add iDEAL and Giropay payment processors in Multisafepay connector.

Background

Currently multisafepay provides various payment processors from Banking Methods, BNPL, Credit and Debit cards, Prepaid cards and Wallets segment. From these hyperswitch's multisafepay connector provides support for credit cards and debit cards, mendate payements, GooglePay, Paypal and Klarna only. iDEAL and Giropay are from "Banking Methods" category.

iDeal

iDeal has direct and re-directed flow which is showed below: iDeal payment-flow

direct: given iDEAL issuer code user customer will be directly redirected to the bank’s page redirect: Redirect customer to payment’s page to select their bank.

Giropay

giropay has only redirect flow which is exactly same flow as iDEAL’s redirect flow. Giropay payment-flow

Approach

For iDeal deciding direct or re-direct payment type: If bank name is provided in PaymentMethodData then direct path should be used otherwise redirect. If direct flow is selected then in MultisafepayPaymentsRequest ’s gateway_info must have issuer_id field.

List of iDEAL issuers and respective code is given below (source)

Code Description
0031 ABN AMRO
0761 ASN Bank
4371 bunq
1235 Handelsbanken
9927 Nationale Nederlanden
9926 N26
0721 ING
0801 Knab
0021 Rabobank
0771 Regio Bank
1099 Revolut
0751 SNS Bank
0511 Triodos Bank
0161 Van Lanschot Bankiers
0806 Yoursafe

Only these banks should be allowed in PaymentMethodData for iDEAL.

Implementation

All the changes will be in connector/multisafepay.rs file and in the enums and traits for request object

Have you spent some time checking if this feature request has been raised before?

Have you read the Contributing Guidelines?

Are you willing to submit a PR?

Yes, I am willing to submit a PR!

TakshPanchal commented 6 months ago

I am writing to bring to your attention an issue I encountered during the hiring process.

As part of the process, I submitted the form for the Hiring Challenge, after which I received a call and a message regarding the Online Assessment. However, during the assessment, I faced technical difficulties on the platform's side, which led to an abrupt termination of the assessment.

Following this incident, I attempted to reach out to the HR department via email, but unfortunately, I have not received a response. I would greatly appreciate your assistance in resolving this matter, as I am highly interested in the opportunity and would like to complete the assessment process.

Thank you for your understanding and support. I look forward to your response and further guidance on how to proceed.

CC: @srujanchikke