Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(pm_list): add required fields for Ideal #3183

Merged
merged 0 commits into from
Jan 9, 2024
Merged

Conversation

AkshayaFoiger
Copy link
Contributor

@AkshayaFoiger AkshayaFoiger commented Dec 21, 2023

Type of Change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring
  • Dependency updates
  • Documentation
  • CI/CD

Description

Resolves #3701

Test Cases

  1. Create an eps payment with mollie with empty payment method object. The payment should succeed.
{
  "amount": 1000,
  "currency": "EUR",
  "confirm": true,
  "capture_method": "automatic",
  "capture_on": "2022-09-10T10:11:12Z",
  "amount_to_capture": 1000,
  "customer_id": "StripeCustomer",
  "email": "[email protected]",
  "name": "John Doe",
  "phone": "999999999",
  "phone_country_code": "+65",
  "description": "Its my first payment request",
  "authentication_type": "three_ds",
  "return_url": "https://google.com",
  "statement_descriptor_name": "joseph",
  "statement_descriptor_suffix": "JS",
  "payment_method": "bank_redirect",
  "payment_method_type": "ideal",
  "payment_method_data": {
    "bank_redirect": {
      "ideal": {
      }
    }
  }
}

Must be tested for each of this connectors

  1. Adyen
Required fields: 
     payment_method_data.bank_redirect.eps.bank_name
  1. ACI
Required fields: 
     payment_method_data.bank_redirect.ideal.bank_name
     payment_method_data.bank_redirect.ideal.country
  1. GlobalPayments
Required fields: 
None
  1. Mollie
None
  1. Nuvie
Required fields: 
     email
     billing.address.first_name
     billing.address.last_name
     billing.address.country
  1. Paypal
Required fields: 
     payment_method_data.bank_redirect.ideal.billing_details.billing_name
     payment_method_data.bank_redirect.ideal.country
  1. Shift4
     payment_method_data.bank_redirect.ideal.country
  1. Stripe
Required fields for mandates
     payment_method_data.bank_redirect.ideal.billing_details.billing_name
     payment_method_data.bank_redirect.ideal.billing_details.email
  1. Trustpay
Required fields: 
     billing.address.first_name
     billing.address.line1
     billing.address.city
     billing.address.zip
     billing.address.country
  1. Nexinets
Required fields: 
None

-> Configure Ideal under bank_redirect, in connector create

{
                    "payment_method_type": "ideal",
                    "payment_experience": "redirect_to_url",
                    "card_networks": null,
                    "accepted_currencies": {
                        "type": "enable_only",
                        "list": [
                            "EUR"
                        ]
                    },
                    "accepted_countries": {
                        "type": "enable_only",
                        "list": [
                            "AT"
                        ]
                    },
                    "minimum_amount": -1,
                    "maximum_amount": 68607706,
                    "recurring_enabled": false,
                    "installment_payment_enabled": false
                }

-> Create a payment with confirm false

-> list payment methods, with client secret and publishable key

curl --location 'http://localhost:8080/account/payment_methods?client_secret={{client_secret}}' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key:{{api_key}}' \
--data ''

Required fields must be populated, according to the connector

Additional Changes

  • This PR modifies the API contract
  • This PR modifies the database schema
  • This PR modifies application configuration/environment variables

Checklist

  • I formatted the code cargo +nightly fmt --all
  • I addressed lints thrown by cargo clippy
  • I reviewed the submitted code
  • I added unit tests for my changes where possible
  • I added a CHANGELOG entry if applicable

@AkshayaFoiger AkshayaFoiger added A-connector-compatibility Area: Connector compatibility A-connector-integration Area: Connector integration M-api-contract-changes Metadata: This PR involves API contract changes labels Dec 21, 2023
@AkshayaFoiger AkshayaFoiger self-assigned this Dec 21, 2023
@AkshayaFoiger AkshayaFoiger requested review from a team as code owners December 21, 2023 07:10
crates/router/src/connector/aci/transformers.rs Outdated Show resolved Hide resolved
crates/router/src/configs/defaults.rs Outdated Show resolved Hide resolved
crates/router/src/configs/defaults.rs Outdated Show resolved Hide resolved
crates/router/src/configs/defaults.rs Outdated Show resolved Hide resolved
crates/router/src/configs/defaults.rs Outdated Show resolved Hide resolved
crates/router/src/configs/defaults.rs Outdated Show resolved Hide resolved
crates/router/src/configs/defaults.rs Outdated Show resolved Hide resolved
@AkshayaFoiger AkshayaFoiger added the S-waiting-on-review Status: This PR has been implemented and needs to be reviewed label Jan 8, 2024
prasunna09
prasunna09 previously approved these changes Jan 9, 2024
ArjunKarthik
ArjunKarthik previously approved these changes Jan 9, 2024
prasunna09
prasunna09 previously approved these changes Jan 9, 2024
@AkshayaFoiger AkshayaFoiger dismissed stale reviews from prasunna09 and ArjunKarthik via 68abc98 January 9, 2024 13:41
@likhinbopanna likhinbopanna added this pull request to the merge queue Jan 9, 2024
Merged via the queue into main with commit 1c3c5f6 Jan 9, 2024
9 of 11 checks passed
@likhinbopanna likhinbopanna deleted the dynamic_field/ideal branch January 9, 2024 15:28
pixincreate added a commit that referenced this pull request Jan 9, 2024
* 'main' of github.com:juspay/hyperswitch:
  feat(pm_list): add required fields for Ideal  (#3183)
  refactor: pass customer object to `make_pm_data` (#3246)
  feat(Connector): [VOLT] Add support for Payments Webhooks (#3155)
  fix(users): Added merchant name is list merchants (#3289)
  fix(outgoingwebhookevents): Throw an error when outgoing webhook events env var not found (#3291)
  fix(wasm): fix failing `wasm-pack build` for `euclid_wasm` (#3284)
  ci: add workflow to create stable SemVer tag for a given CalVer tag (#3285)
  fix(connector): [BOA, Cybersource] capture error_code (#3239)
  fix(connector): [BOA/CYB] Fix Metadata Error (#3283)
  chore(version): 2024.01.08.0
  fix: introduce net_amount field in payment response (#3115)
  ci(postman): Adyen assertion fix for expired card test case  (#3279)
  feat(connector): Add Revoke mandate flow (#3261)
  refactor(drainer): change logic for trimming the stream and refactor for modularity (#3128)
  fix(router): Payment link api contract change (#2975)
  feat(pm_list): add required fields for eps (#3169)
  refactor(api_lock): allow api lock on psync only when force sync is true (#3242)
  fix(router): multiple incremental_authorizations with kv enabled (#3185)
  feat(payments): add payment id in all the payment logs (#3142)
  ci: add reusable workflow to create nightly tags in CalVer format (#3247)
@SanchithHegde SanchithHegde removed the S-waiting-on-review Status: This PR has been implemented and needs to be reviewed label Jan 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-connector-compatibility Area: Connector compatibility A-connector-integration Area: Connector integration M-api-contract-changes Metadata: This PR involves API contract changes
Projects
No open projects
Status: Under Development
Development

Successfully merging this pull request may close these issues.

5 participants