hyperswitch icon indicating copy to clipboard operation
hyperswitch copied to clipboard

[FEATURE] Implementing iDEAL and Giropay payment methods with Multisafe

Open TakshPanchal opened this issue 10 months ago • 1 comments

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

  • Add Ideal and Giropay in Gateway enum
  • changes in impl TryFrom<&CheckoutRouterData<&T>> for MultisafepayPaymentsRequest
    • for payment_type : add pattern for redirect “giropay” and “iDeal” and direct “iDeal” payments

    • for gateway : add BankRedirectData::Ideal and BankRedirectData::Geropay pattern

    • for gateway_info: Only for direct “iDeal” payments,

      • issuer_id : get issuer id from the table above There are also optional gateway_info fields for modifying payment behaviours like allow_change_amount , min_amount and max_amount which are related to QR code payment in direct flop.

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

  • [X] I checked and didn't find a similar issue

Have you read the Contributing Guidelines?

Are you willing to submit a PR?

Yes, I am willing to submit a PR!

TakshPanchal avatar Apr 19 '24 08:04 TakshPanchal

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

TakshPanchal avatar Apr 26 '24 08:04 TakshPanchal