feat(core): added force_3ds_challenge for decoupled txns#7484
Merged
likhinbopanna merged 15 commits intomainfrom Apr 7, 2025
Merged
feat(core): added force_3ds_challenge for decoupled txns#7484likhinbopanna merged 15 commits intomainfrom
likhinbopanna merged 15 commits intomainfrom
Conversation
sai-harsha-vardhan
previously approved these changes
Mar 24, 2025
jarnura
previously approved these changes
Mar 26, 2025
ThisIsMani
previously approved these changes
Mar 27, 2025
ThisIsMani
approved these changes
Mar 31, 2025
sai-harsha-vardhan
approved these changes
Apr 1, 2025
Aprabhat19
approved these changes
Apr 1, 2025
Contributor
Aprabhat19
left a comment
There was a problem hiding this comment.
Payment Method Changes LGTM
jarnura
approved these changes
Apr 1, 2025
pixincreate
added a commit
that referenced
this pull request
Apr 10, 2025
…acilitapay-pix-pmt * 'main' of github.com:juspay/hyperswitch: (21 commits) chore(version): 2025.04.10.0 refactor(connector): [STRIPE] Remove sofort bank redirect from stripe (#7733) feat(connector): Add invoice number and email in AuthorizeDotNet connector (#7726) fix(router): fix retry_count and add validation for process_tracker (#7614) feat(payment_link): expose configurations for payment links (#7742) chore(version): 2025.04.09.0 chore(postman): update Postman collection files feat(connector): [AIRWALLEX, ELAVON, NOVALNET, XENDIT] add in feature API (#7163) refactor: move merchant_key_store table to accounts schema (#7746) chore(postman): update `Stripe` response `status`, `error_code`, and `error_message` for deprecated `Sofort` (#7730) feat(connector): Add recovery support for recurly [v2] (#7497) refactor(cypress): update BOA configs for manual payments' refunds and connector agnostic (#7690) feat(router): Support `card` in `payment_method_subtype` [V2] (#7662) feat: Add open API reference for Intelligent router (#7727) ci(cypress-ci): remove wise payout from running in github ci (#7756) feat(authentication): create authentications to fallback to ApiKeyAuth if AdminApiAuth fails (#7744) chore(version): 2025.04.08.0 feat(core): added force_3ds_challenge for decoupled txns (#7484) chore(version): 2025.04.07.0 chore(postman): update Postman collection files ...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Added force_3ds_challenge flag in payments request for decoupled txns.
Previously
force_3ds_challengeflag was a business_profile property, but now we will priortise flag send in payments request over business_profile.add two new fields in payment_create response
force_3ds_challenge,force_3ds_challenge_triggerHow did you test it?
Try doing a netcetera txns by updating business profile
force_3ds_challengeastrueFor validation you can check connector request logs
force_3ds_challenge: true

now try overriding the value set in business profile
force_3ds_challengeas false in payment createforce_3ds_challenge: false

Payment Create Response
{ "payment_id": "pay_N5VoouQEnkDL6bx8yxeu", "merchant_id": "sahkal", "status": "requires_payment_method", "amount": 6540, "net_amount": 6540, "shipping_cost": null, "amount_capturable": 0, "amount_received": null, "connector": null, "client_secret": "pay_N5VoouQEnkDL6bx8yxeu_secret_8bFLGPv5ymU16mal9Qew", "created": "2025-03-23T20:17:16.893Z", "currency": "USD", "customer_id": "StripeCustomer", "customer": { "id": "StripeCustomer", "name": "John Doe", "email": "guest@example.com", "phone": "999999999", "phone_country_code": "+65" }, "description": "Its my first payment request", "refunds": null, "disputes": null, "mandate_id": null, "mandate_data": null, "setup_future_usage": null, "off_session": null, "capture_on": null, "capture_method": "automatic", "payment_method": null, "payment_method_data": null, "payment_token": null, "shipping": { "address": { "city": "San Fransico", "country": "US", "line1": "1467", "line2": "Harrison Street", "line3": "Harrison Street", "zip": "94122", "state": "California", "first_name": "PiX", "last_name": null }, "phone": { "number": "123456789", "country_code": "12" }, "email": null }, "billing": { "address": { "city": "San Fransico", "country": "US", "line1": "1467", "line2": "Harrison Street", "line3": "Harrison Street", "zip": "94122", "state": "California", "first_name": "PiX", "last_name": null }, "phone": { "number": "123456789", "country_code": "12" }, "email": null }, "order_details": null, "email": "guest@example.com", "name": "John Doe", "phone": "999999999", "return_url": "https://duck.com/", "authentication_type": "three_ds", "statement_descriptor_name": "joseph", "statement_descriptor_suffix": "JS", "next_action": null, "cancellation_reason": null, "error_code": null, "error_message": null, "unified_code": null, "unified_message": null, "payment_experience": null, "payment_method_type": null, "connector_label": null, "business_country": null, "business_label": "default", "business_sub_label": null, "allowed_payment_method_types": null, "ephemeral_key": { "customer_id": "StripeCustomer", "created_at": 1742761036, "expires": 1742764636, "secret": "epk_c714e3ec07cf4c27844cd37561dfe854" }, "manual_retry_allowed": null, "connector_transaction_id": null, "frm_message": null, "metadata": { "udf1": "value1", "login_date": "2019-09-10T10:11:12Z", "new_customer": "true" }, "connector_metadata": null, "feature_metadata": null, "reference_id": null, "payment_link": null, "profile_id": "pro_sc0RRAwEw4IuLCnHqvZ9", "surcharge_details": null, "attempt_count": 1, "merchant_decision": null, "merchant_connector_id": null, "incremental_authorization_allowed": null, "authorization_count": null, "incremental_authorizations": null, "external_authentication_details": null, "external_3ds_authentication_attempted": false, "expires_on": "2025-03-23T20:32:16.893Z", "fingerprint": null, "browser_info": null, "payment_method_id": null, "payment_method_status": null, "updated": "2025-03-23T20:17:16.952Z", "split_payments": null, "frm_metadata": null, "extended_authorization_applied": null, "capture_before": null, "merchant_order_reference_id": null, "order_tax_amount": null, "connector_mandate_id": null, "card_discovery": null, "force_3ds_challenge": false, "force_3ds_challenge_trigger": false, "issuer_error_code": null, "issuer_error_message": null }Checklist
cargo +nightly fmt --allcargo clippy