Skip to content

feat(router): add support for apple pay pre-decrypted token in the payments confirm call #8815

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

Merged
merged 14 commits into from
Aug 5, 2025

Conversation

ShankarSinghC
Copy link
Contributor

@ShankarSinghC ShankarSinghC commented Aug 1, 2025

Type of Change

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

Description

This pull request adds support pass the decryted apple pay token directly in the confirm call.

This pull also request introduces significant changes to the handling of Apple Pay payment data across multiple modules, improving the structure, validation, and usage of encrypted and decrypted Apple Pay data. It also refactors related code to enhance type safety and modularity. Below is a summary of the most important changes grouped by themes.

Additional Changes

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

Motivation and Context

How did you test it?

Test apple pay pre decrypt flow

-> Enable apple pay for a connector a connector that supports decryption and do not configure any apple pay certificates.
-> Make a payment by passing pre decrypted apple pay token in the confirm call

{
    "amount": 7445,
    "currency": "USD",
    "confirm": true,
    "business_country": "US",
    "business_label": "default",
    "amount_to_capture": 7445,
    "customer_id": "cu_{{$timestamp}}",
    "capture_method": "automatic",
    "capture_on": "2022-09-10T10:11:12Z",
    "setup_future_usage": "on_session",
    "authentication_type": "no_three_ds",
    "return_url": "https://google.com",
    "email": "[email protected]",
    "name": "Joseph Doe",
    "phone": "999999999",
    "phone_country_code": "+65",
    "description": "Its my first payment request",
    "statement_descriptor_name": "Juspay",
    "statement_descriptor_suffix": "Router",
    "payment_method": "wallet",
    "payment_method_type": "apple_pay",
    "billing": {
        "address": {
            "line1": "1467",
            "city": "San Fransico",
            "state": "California",
            "zip": "94122",
            "country": "US",
            "first_name": "joseph",
            "last_name": "Doe"
        },
        "phone": {
            "number": "8056594427",
            "country_code": "+91"
        }
    },
    "customer_acceptance": {
        "acceptance_type": "offline",
        "accepted_at": "1963-05-03T04:07:52.723Z",
        "online": {
            "ip_address": "in sit",
            "user_agent": "amet irure esse"
        }
    },
    "payment_method_data": {
        "wallet": {
            "apple_pay": {
                "payment_data": {
                    "application_primary_account_number": "4242424242424242",
                    "application_expiration_month": "09",
                    "application_expiration_year": "30",
                    "payment_data": {
                        "online_payment_cryptogram": "AQAA*******yB5A=",
                        "eci_indicator": "5"
                    }
                },
                "payment_method": {
                    "display_name": "Discover 9319",
                    "network": "Discover",
                    "type": "debit"
                },
                "transaction_identifier": "c635c5b3af900d7bd81fecd7028f1262f9d030754ee65ec7afd988a678194751"
            }
        }
    }
}
{
    "payment_id": "pay_rsndpQQg3q5d6MZcC90t",
    "merchant_id": "merchant_1754031338",
    "status": "succeeded",
    "amount": 7445,
    "net_amount": 7445,
    "shipping_cost": null,
    "amount_capturable": 0,
    "amount_received": 7445,
    "connector": "cybersource",
    "client_secret": "pay_rsndpQQg3q5d6MZcC90t_secret_3WokDjcCK7LkjIHKoERT",
    "created": "2025-08-01T07:55:32.248Z",
    "currency": "USD",
    "customer_id": "cu_1754034932",
    "customer": {
        "id": "cu_1754034932",
        "name": "Joseph Doe",
        "email": "[email protected]",
        "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": "on_session",
    "off_session": null,
    "capture_on": null,
    "capture_method": "automatic",
    "payment_method": "wallet",
    "payment_method_data": {
        "wallet": {
            "apple_pay": {
                "last4": "9319",
                "card_network": "Discover",
                "type": "debit"
            }
        },
        "billing": null
    },
    "payment_token": null,
    "shipping": null,
    "billing": {
        "address": {
            "city": "San Fransico",
            "country": "US",
            "line1": "1467",
            "line2": null,
            "line3": null,
            "zip": "94122",
            "state": "California",
            "first_name": "joseph",
            "last_name": "Doe"
        },
        "phone": {
            "number": "8056594427",
            "country_code": "+91"
        },
        "email": null
    },
    "order_details": null,
    "email": "[email protected]",
    "name": "Joseph Doe",
    "phone": "999999999",
    "return_url": "https://google.com/",
    "authentication_type": "no_three_ds",
    "statement_descriptor_name": "Juspay",
    "statement_descriptor_suffix": "Router",
    "next_action": null,
    "cancellation_reason": null,
    "error_code": null,
    "error_message": null,
    "unified_code": null,
    "unified_message": null,
    "payment_experience": null,
    "payment_method_type": "apple_pay",
    "connector_label": "cybersource_US_default_default",
    "business_country": "US",
    "business_label": "default",
    "business_sub_label": null,
    "allowed_payment_method_types": null,
    "ephemeral_key": {
        "customer_id": "cu_1754034932",
        "created_at": 1754034932,
        "expires": 1754038532,
        "secret": "epk_6a7deed7c99d4abc955276e5528f0edf"
    },
    "manual_retry_allowed": false,
    "connector_transaction_id": "7540349324566718504805",
    "frm_message": null,
    "metadata": null,
    "connector_metadata": null,
    "feature_metadata": null,
    "reference_id": "pay_rsndpQQg3q5d6MZcC90t_1",
    "payment_link": null,
    "profile_id": "pro_BdMNcMGamneoVpCbUGjD",
    "surcharge_details": null,
    "attempt_count": 1,
    "merchant_decision": null,
    "merchant_connector_id": "mca_N7zyBtWcYsXLn1xxwiZL",
    "incremental_authorization_allowed": false,
    "authorization_count": null,
    "incremental_authorizations": null,
    "external_authentication_details": null,
    "external_3ds_authentication_attempted": false,
    "expires_on": "2025-08-01T08:10:32.248Z",
    "fingerprint": null,
    "browser_info": null,
    "payment_method_id": null,
    "payment_method_status": null,
    "updated": "2025-08-01T07:55:32.744Z",
    "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,
    "is_iframe_redirection_enabled": null,
    "whole_connector_response": null
}

logs indicating apple pay pre decrypt flow
image

logs showing decrypted apple pay token being sent to the connector
image

Test apple pay hyperswitch decryption flow

-> Enable apple pay for a connector by selecting payment_processing_details_at Hyperswitch
-> Make a apple pay payment

{
    "amount": 1,
    "currency": "EUR",
    "confirm": true,
    "business_country": "US",
    "business_label": "default",
    "amount_to_capture": 1,
    "customer_id": "cu_{{$timestamp}}",
    "capture_method": "automatic",
    "capture_on": "2022-09-10T10:11:12Z",
    "setup_future_usage": "on_session",
    "authentication_type": "no_three_ds",
    "return_url": "https://google.com",
    "email": "[email protected]",
    "name": "Joseph Doe",
    "phone": "999999999",
    "phone_country_code": "+65",
    "description": "Its my first payment request",
    "statement_descriptor_name": "Juspay",
    "statement_descriptor_suffix": "Router",
    "payment_method": "wallet",
    "payment_method_type": "apple_pay",
    "billing": {
        "address": {
            "line1": "1467",
            "city": "San Fransico",
            "state": "California",
            "zip": "94122",
            "country": "US",
            "first_name": "joseph",
            "last_name": "Doe"
        },
        "phone": {
            "number": "8056594427",
            "country_code": "+91"
        }
    },
    "customer_acceptance": {
        "acceptance_type": "offline",
        "accepted_at": "1963-05-03T04:07:52.723Z",
        "online": {
            "ip_address": "in sit",
            "user_agent": "amet irure esse"
        }
    },
    "payment_method_data": {
        "wallet": {
            "apple_pay": {
                "payment_data": "eyJkYXRhIjoiK3N4aGdBODIvSC9hZ1E5ZnJ2WklMNXJmaDl0REtheFd2aFhlZ0ZFeVhuM2ZPVnpDVWRNOXhaOWhXRnNSZ0toUlFRY0JNQndHQ1NxR1NJYjNEUUVKQlRFUEZ3MHlOVEEyTURReE1URTBNekJhTUNnR0NTcUdTSWIzRFFFSk5ERWJNQmt3Q3dZSllJWklBV1VEQkFJQm9Rb0dDQ3FHU000OUJBTUNNQzhHQ1NxR1NJYjNEUUVKQkRFaUJDRGlkOTVsU2gyKy9MZW9wdDlYZ0txOFJTTlJZbWxmSjcvYmtEWGZEeWQrM0RBS0JnZ3Foa2pPUFFRREFnUkhNRVVDSVFEWGxXN3JZREZEODFqb2tTWHBBVjE0aFZtTjBXOFBGUkIrY0IvVXFDUVp5Z0lnWlVGb2FXb21aZVMranJvblVqdTNwNE5FWDFmeGYrc2xhOVRLL1pCb0VSTUFBQUFBQUFBPSIsImhlYWRlciI6eyJwdWJsaWNLZXlIYXNoIjoiMVlTbEwwWUo3cE84ZThHWVVhZFN0dXRWRUdRNU5LS2N2aHJOd2IvRE9nOD0iLCJlcGhlbWVyYWxQdWJsaWNLZXkiOiJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUxZXFPemRFWTJmTnlwaWovT3NhaEFFZjk2a3h3RjNKbUZrNG5ITXdsVnJ5ZWwyeTdMbHgrdDhTekY0ZVQxRE1FZWlnYkY2Sk9zMlV3Z3QxUnFpK09zQT09IiwidHJhbnNhY3Rpb25JZCI6ImZmODBlNzk4ODhiMTU5MjRhYjY2N2EyMmI3YWNjZTlkYjYzNjQxODI3ZDVkOTQ2MWYwZDBkODU0ZWM1ZTFkNTEifSwidmVyc2lvbiI6IkVDX3YxIn0=",
                "payment_method": {
                    "display_name": "Discover 9319",
                    "network": "Discover",
                    "type": "debit"
                },
                "transaction_identifier": "c635c5b3af900d7bd81fecd7028f1262f9d030754ee65ec7afd988a678194751"
            }
        }
    }
}
{
    "payment_id": "pay_Q8ydSHV3zjSZOutKTRCN",
    "merchant_id": "merchant_1754035609",
    "status": "succeeded",
    "amount": 1,
    "net_amount": 1,
    "shipping_cost": null,
    "amount_capturable": 0,
    "amount_received": 1,
    "connector": "cybersource",
    "client_secret": "pay_Q8ydSHV3zjSZOutKTRCN_secret_aj6St1LLygIZ78PHEaDH",
    "created": "2025-08-01T08:17:55.511Z",
    "currency": "EUR",
    "customer_id": "cu_1754036275",
    "customer": {
        "id": "cu_1754036275",
        "name": "Joseph Doe",
        "email": "[email protected]",
        "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": "on_session",
    "off_session": null,
    "capture_on": null,
    "capture_method": "automatic",
    "payment_method": "wallet",
    "payment_method_data": {
        "wallet": {
            "apple_pay": {
                "last4": "9319",
                "card_network": "Discover",
                "type": "debit"
            }
        },
        "billing": null
    },
    "payment_token": null,
    "shipping": null,
    "billing": {
        "address": {
            "city": "San Fransico",
            "country": "US",
            "line1": "1467",
            "line2": null,
            "line3": null,
            "zip": "94122",
            "state": "California",
            "first_name": "joseph",
            "last_name": "Doe"
        },
        "phone": {
            "number": "8056594427",
            "country_code": "+91"
        },
        "email": null
    },
    "order_details": null,
    "email": "[email protected]",
    "name": "Joseph Doe",
    "phone": "999999999",
    "return_url": "https://google.com/",
    "authentication_type": "no_three_ds",
    "statement_descriptor_name": "Juspay",
    "statement_descriptor_suffix": "Router",
    "next_action": null,
    "cancellation_reason": null,
    "error_code": null,
    "error_message": null,
    "unified_code": null,
    "unified_message": null,
    "payment_experience": null,
    "payment_method_type": "apple_pay",
    "connector_label": "cybersource_US_default_default",
    "business_country": "US",
    "business_label": "default",
    "business_sub_label": null,
    "allowed_payment_method_types": null,
    "ephemeral_key": {
        "customer_id": "cu_1754036275",
        "created_at": 1754036275,
        "expires": 1754039875,
        "secret": "epk_3f50b029f83d4d72876d0a9efe3547ea"
    },
    "manual_retry_allowed": false,
    "connector_transaction_id": "7540362767046209204805",
    "frm_message": null,
    "metadata": null,
    "connector_metadata": null,
    "feature_metadata": null,
    "reference_id": "pay_Q8ydSHV3zjSZOutKTRCN_1",
    "payment_link": null,
    "profile_id": "pro_oPnag2LsACnLlbDFDkgf",
    "surcharge_details": null,
    "attempt_count": 1,
    "merchant_decision": null,
    "merchant_connector_id": "mca_3IV2FB3yWpFmLr0b9Z3N",
    "incremental_authorization_allowed": false,
    "authorization_count": null,
    "incremental_authorizations": null,
    "external_authentication_details": null,
    "external_3ds_authentication_attempted": false,
    "expires_on": "2025-08-01T08:32:55.511Z",
    "fingerprint": null,
    "browser_info": null,
    "payment_method_id": null,
    "payment_method_status": null,
    "updated": "2025-08-01T08:17:57.043Z",
    "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,
    "is_iframe_redirection_enabled": null,
    "whole_connector_response": null
}

Logs indicating decrypt apple pay token
image

Logs showing decrypted token in the connector request
image

Test connector decryption flow

-> Enabled apple pay with payment processing details at "Connector"

{
    "amount": 6500,
    "currency": "USD",
    "confirm": true,
    "business_country": "US",
    "business_label": "default",
    "amount_to_capture": 6500,
    "customer_id": "cu_{{$timestamp}}",
    "capture_method": "automatic",
    "capture_on": "2022-09-10T10:11:12Z",
    "setup_future_usage": "off_session",
    "authentication_type": "no_three_ds",
    "return_url": "https://google.com",
    "email": "[email protected]",
    "name": "Joseph Doe",
    "phone": "999999999",
    "phone_country_code": "+65",
    "description": "Its my first payment request",
    "statement_descriptor_name": "Juspay",
    "statement_descriptor_suffix": "Router",
    "payment_method": "wallet",
    "payment_method_type": "apple_pay",
    "customer_acceptance": {
        "acceptance_type": "offline",
        "accepted_at": "1963-05-03T04:07:52.723Z",
        "online": {
            "ip_address": "in sit",
            "user_agent": "amet irure esse"
        }
    },
    "payment_method_data": {
        "wallet": {
         "apple_pay": {
            "payment_data": "=",
            "payment_method": {
               "display_name": "Visa 0121",
               "network": "Visa",
               "type": "credit"
            },
            "transaction_identifier": "c91059b67493677daf9e18ad07d26bc767d931d87b377d7b0062878696509342"
         }
      }
    }
}
{
    "payment_id": "pay_KzSYCSHQEDEusanXEBfM",
    "merchant_id": "merchant_1754045350",
    "status": "succeeded",
    "amount": 6500,
    "net_amount": 6500,
    "shipping_cost": null,
    "amount_capturable": 0,
    "amount_received": 6500,
    "connector": "adyen",
    "client_secret": "pay_KzSYCSHQEDEusanXEBfM_secret_y7T1LarPEoR2E9CRnlCP",
    "created": "2025-08-01T11:00:57.986Z",
    "currency": "USD",
    "customer_id": "cu_1754046058",
    "customer": {
        "id": "cu_1754046058",
        "name": "Joseph Doe",
        "email": "[email protected]",
        "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": "off_session",
    "off_session": null,
    "capture_on": null,
    "capture_method": "automatic",
    "payment_method": "wallet",
    "payment_method_data": {
        "wallet": {
            "apple_pay": {
                "last4": "0121",
                "card_network": "Visa",
                "type": "credit"
            }
        },
        "billing": null
    },
    "payment_token": null,
    "shipping": null,
    "billing": null,
    "order_details": null,
    "email": "[email protected]",
    "name": "Joseph Doe",
    "phone": "999999999",
    "return_url": "https://google.com/",
    "authentication_type": "no_three_ds",
    "statement_descriptor_name": "Juspay",
    "statement_descriptor_suffix": "Router",
    "next_action": null,
    "cancellation_reason": null,
    "error_code": null,
    "error_message": null,
    "unified_code": null,
    "unified_message": null,
    "payment_experience": null,
    "payment_method_type": "apple_pay",
    "connector_label": "adyen_US_default",
    "business_country": "US",
    "business_label": "default",
    "business_sub_label": null,
    "allowed_payment_method_types": null,
    "ephemeral_key": {
        "customer_id": "cu_1754046058",
        "created_at": 1754046057,
        "expires": 1754049657,
        "secret": "epk_c04d44072b9f45ccb4b62f50131096f6"
    },
    "manual_retry_allowed": false,
    "connector_transaction_id": "TSKD2XD2GPXBGZV5",
    "frm_message": null,
    "metadata": null,
    "connector_metadata": null,
    "feature_metadata": null,
    "reference_id": "pay_KzSYCSHQEDEusanXEBfM_1",
    "payment_link": null,
    "profile_id": "pro_deLVMQyHA9B0On0hO1OP",
    "surcharge_details": null,
    "attempt_count": 1,
    "merchant_decision": null,
    "merchant_connector_id": "mca_NwmhWrK6Lwwkfbn0zjna",
    "incremental_authorization_allowed": null,
    "authorization_count": null,
    "incremental_authorizations": null,
    "external_authentication_details": null,
    "external_3ds_authentication_attempted": false,
    "expires_on": "2025-08-01T11:15:57.986Z",
    "fingerprint": null,
    "browser_info": null,
    "payment_method_id": "pm_r51tT1dt6mwNbGAfvgz9",
    "payment_method_status": "active",
    "updated": "2025-08-01T11:00:59.822Z",
    "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": "VWM6LZJ2RM6XPST5",
    "card_discovery": null,
    "force_3ds_challenge": false,
    "force_3ds_challenge_trigger": false,
    "issuer_error_code": null,
    "issuer_error_message": null,
    "is_iframe_redirection_enabled": null,
    "whole_connector_response": null
}

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

@ShankarSinghC ShankarSinghC self-assigned this Aug 1, 2025
@ShankarSinghC ShankarSinghC added the A-core Area: Core flows label Aug 1, 2025
@ShankarSinghC ShankarSinghC requested review from a team as code owners August 1, 2025 07:34
@ShankarSinghC ShankarSinghC added A-payment-methods Area: Payment Methods M-api-contract-changes Metadata: This PR involves API contract changes A-payments Area: payments labels Aug 1, 2025
Copy link

semanticdiff-com bot commented Aug 1, 2025

Review changes with  SemanticDiff

Changed Files
File Status
  crates/router/tests/connectors/worldpay.rs  84% smaller
  crates/hyperswitch_connectors/src/connectors/fiuu/transformers.rs  79% smaller
  crates/router/src/types.rs  76% smaller
  crates/hyperswitch_connectors/src/connectors/payu/transformers.rs  70% smaller
  crates/hyperswitch_connectors/src/connectors/archipel/transformers.rs  68% smaller
  crates/hyperswitch_connectors/src/connectors/cybersource/transformers.rs  63% smaller
  crates/hyperswitch_connectors/src/connectors/bankofamerica/transformers.rs  61% smaller
  crates/hyperswitch_connectors/src/connectors/mollie/transformers.rs  56% smaller
  crates/hyperswitch_connectors/src/connectors/wellsfargo/transformers.rs  55% smaller
  crates/hyperswitch_connectors/src/connectors/rapyd/transformers.rs  54% smaller
  crates/hyperswitch_connectors/src/connectors/adyen/transformers.rs  47% smaller
  crates/hyperswitch_connectors/src/connectors/authorizedotnet/transformers.rs  45% smaller
  crates/hyperswitch_connectors/src/connectors/stripe/transformers.rs  42% smaller
  crates/hyperswitch_connectors/src/connectors/nuvei/transformers.rs  42% smaller
  crates/api_models/src/payments.rs  39% smaller
  crates/hyperswitch_connectors/src/connectors/nmi/transformers.rs  32% smaller
  crates/hyperswitch_connectors/src/connectors/worldpayvantiv/transformers.rs  29% smaller
  crates/hyperswitch_connectors/src/utils.rs  24% smaller
  crates/openapi/src/openapi.rs  7% smaller
  crates/openapi/src/openapi_v2.rs  6% smaller
  crates/common_types/src/payments.rs  5% smaller
  crates/hyperswitch_connectors/src/connectors/checkout/transformers.rs  1% smaller
  Cargo.lock Unsupported file format
  api-reference/v1/openapi_spec_v1.json  0% smaller
  api-reference/v2/openapi_spec_v2.json  0% smaller
  config/deployments/integration_test.toml Unsupported file format
  config/deployments/production.toml Unsupported file format
  config/deployments/sandbox.toml Unsupported file format
  config/development.toml Unsupported file format
  crates/common_types/Cargo.toml Unsupported file format
  crates/hyperswitch_connectors/src/connectors/worldpayvantiv.rs  0% smaller
  crates/hyperswitch_domain_models/src/payment_method_data.rs  0% smaller
  crates/hyperswitch_domain_models/src/router_data.rs  0% smaller
  crates/router/src/connector/utils.rs  0% smaller
  crates/router/src/core/payments.rs  0% smaller

@hyperswitch-bot hyperswitch-bot bot removed the M-api-contract-changes Metadata: This PR involves API contract changes label Aug 1, 2025
@hyperswitch-bot hyperswitch-bot bot added the M-api-contract-changes Metadata: This PR involves API contract changes label Aug 1, 2025
deepanshu-iiitu
deepanshu-iiitu previously approved these changes Aug 1, 2025
deepanshu-iiitu
deepanshu-iiitu previously approved these changes Aug 4, 2025
jagan-jaya
jagan-jaya previously approved these changes Aug 4, 2025
@ShankarSinghC ShankarSinghC dismissed stale reviews from jagan-jaya and hrithikesh026 via 1a20ce6 August 4, 2025 16:31
AkshayaFoiger
AkshayaFoiger previously approved these changes Aug 4, 2025
jagan-jaya
jagan-jaya previously approved these changes Aug 4, 2025
deepanshu-iiitu
deepanshu-iiitu previously approved these changes Aug 4, 2025
awasthi21
awasthi21 previously approved these changes Aug 4, 2025
@likhinbopanna likhinbopanna added this pull request to the merge queue Aug 5, 2025
Merged via the queue into main with commit b91e6d9 Aug 5, 2025
18 of 22 checks passed
@likhinbopanna likhinbopanna deleted the wallets/add-support-for-applepay-predecrypt branch August 5, 2025 08:19
pixincreate added a commit that referenced this pull request Aug 6, 2025
…ordea-sepa

* 'main' of github.com:juspay/hyperswitch: (89 commits)
  feat(router): [worldpayvantiv] add dispute list sync and implement dispute (#8830)
  feat(core): Add support for Void after Capture (#8839)
  fix(wasm): [FISERV] Added GooglePay Payment Method Type (#8832)
  feat(connector): [Barclaycard] Add Google Pay Payment Method (#8786)
  chore(version): 2025.08.06.0
  feat(core): Added additional authentication fields for 3ds external authentication (#8758)
  refactor(core): propagate network_transaction_id in response of payment (#8829)
  fix(core): add fix for stopping multiple event locking idempotent logs (#8034)
  feat(connector): [AUTHORIZEDOTNET] create connector customer flow added (#8774)
  feat(core): Add L2_L3 Data Support  (#8828)
  feat(connector): [NMI] Add mandates flow (#8652)
  fix(connector): [Wise] send uuid as connector_transaction_id (#8836)
  feat(core): populate UCS status_code in response headers (#8788)
  feat(external_services): Fixed Url for Unified Connector Service gRPC Client (#8587)
  chore: reorder v2 migrations folders (#8671)
  fix(router): Take merchant ID from headers in API Key - Revoke (v2) (#8808)
  fix(connector): (payload) currency auth key wasm changes (#8825)
  feat(payment-methods): add filtering logic for payment method list v2 (#8606)
  feat(router): add support for apple pay pre-decrypted token in the payments confirm call (#8815)
  chore(version): 2025.08.05.0
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-core Area: Core flows A-payment-methods Area: Payment Methods A-payments Area: payments M-api-contract-changes Metadata: This PR involves API contract changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

add support for apple pay pre-decrypted token in the payments confirm call
7 participants