Skip to content

feat(Wallets): APPLEPAY AND GOOGLE PAY DECRYPTED FLOW support#10329

Merged
likhinbopanna merged 35 commits intomainfrom
applepaypredecrypt
Jan 14, 2026
Merged

feat(Wallets): APPLEPAY AND GOOGLE PAY DECRYPTED FLOW support#10329
likhinbopanna merged 35 commits intomainfrom
applepaypredecrypt

Conversation

@Nithin1506200
Copy link
Contributor

@Nithin1506200 Nithin1506200 commented Nov 18, 2025

Type of Change

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

Description

  • Enable preDecrypt flow of applepay and googlepay through a flag , metadata.google_pay.support_predecrypted_token & metadata.applepay_combined.support_predecrypted_token

CONTEXT

We have the following flows for applepay

  • User sends decrypted token in payment_method_data and HS pass same to connector
  • IOS CERTIFICATE[CONNECTOR DECRYPTS] User sends encrypted token and HS pass the same to psp and psp decrypts the token , in this flow the user should upload certificates in the connector itself .
  • IOS CERTIFICATE[HYPERSWITCH DECRYPTS] User sends encrypted token and HS decrypts the token and pass the decrypted token to psp : user has to provide applepay processing certificaters here
  • Simplified flow : user generates applepay token using Hyperswitch certificates. Since the complete creds are present we can use decryption also in this flow

-----------------NOTE-------------

  • BACKEND PR should go first. If front-end pr goes first there will be de serialization error
connector supports IOS CERTIFICATE[CONNECTOR DECRYPTS] Send pre-decrypted token IOS CERTIFICATE[HYPERSWITCH DECRYPTS] Simplified flow Example
Encrypted only (connectors requires APPLEPAY PROCESSING CERTIFICATE) 🆗 🆗 (NOT NECESSARY)
Decrypted only 🆗 🆗 🆗 tesouro
both encrypted & decrypted 🆗 🆗 🆗 🆗 Nuvei

how the new flow should look

a. If a connector has ebility to accept decrypted token , a flag should be enabled in MCA to send decrypted token directly

  1. metadata.applepay_combined.support_predecrypted_token = true
  2. metadata.google_pay.support_predecrypted_token = true
  • Then only the user can send decrypted token directly. If the above field is sent as false then we throw error.

b. If only this field is enabled and donot give full metadata. we donot get wallet tokens in /session , hence sdk doenst show apple pay or google pay buttons.

c. atlease one flow should be enabled

  • googlepay: either or both of support_predecrypted_token=true , (merchant_info & allowed_payment_methods) should be send. if we send only support_predecrypted_token=false we should throw error.
  • Applepay: either or both of support_predecrypted_token=true , (manual or simplified) should be send. if we send only support_predecrypted_token=false we should throw error.

TEST CASES

When metadata.applepay_combined.support_predecrypted_token=false & metadata.google_pay.support_predecrypted_token=false throw error

MCA

{
    "connector_type": "payment_processor",
    "connector_name": "nuvei",
    "connector_account_details": {
        "auth_type": "SignatureKey",
        "api_key": "80686********7739",
        "key1": "100***7",
        "api_secret": "*************************"
    },
    "connector_webhook_details": null,
    "connector_label": "nuvei_default",
    "payment_methods_enabled": [
        {
            "payment_method": "wallet",
            "payment_method_types": [
                {
                    "payment_method_type": "google_pay",
                    "payment_experience": "invoke_sdk_client",
                    "card_networks": null,
                    "accepted_currencies": null,
                    "accepted_countries": null,
                    "minimum_amount": 1,
                    "maximum_amount": 68607706,
                    "recurring_enabled": true,
                    "installment_payment_enabled": true
                },
                {
                    "payment_method_type": "apple_pay",
                    "payment_experience": "invoke_sdk_client",
                    "card_networks": null,
                    "accepted_currencies": null,
                    "accepted_countries": null,
                    "minimum_amount": 1,
                    "maximum_amount": 68607706,
                    "recurring_enabled": true,
                    "installment_payment_enabled": true
                }
            ]
        }
    ],
    "metadata": {
        "google_pay": {
            "support_predecrypted_token": false
        },
       
    },
"additional_merchant_data": null,
"status": "active",
"pm_auth_config": null,
"test_mode": true,
"disabled": false,
"business_country": "US"
}

Disabling predecrypted flow

   "google_pay": {
            "support_predecrypted_token": false,
            "merchant_info": {
                "merchant_id": "nuveidigital",
                "merchant_name": "nuveidigital"
            },
            "allowed_payment_methods": [
                {
                    "type": "CARD",
                    "parameters": {
                        "allowed_auth_methods": [
                            "PAN_ONLY",
                            "CRYPTOGRAM_3DS"
                        ],
                        "allowed_card_networks": [
                            "AMEX",
                            "DISCOVER",
                            "INTERAC",
                            "JCB",
                            "MASTERCARD",
                            "VISA"
                        ]
                    },
                    "tokenization_specification": {
                        "type": "PAYMENT_GATEWAY",
                        "parameters": {
                            "gateway": "nuveidigital",
                            "gateway_merchant_id": "googletest"
                        }
                    }
                }
            ]
        },
        "apple_pay_combined": {
            "support_predecrypted_token": false,
            "manual": {
                "session_token_data": {
                    "initiative": "web",
                    "certificate": "*******",
                    "display_name": "apple pay",
                    "certificate_keys": "*******K",
                    "initiative_context": "hyperswitch-demo-store.netlify.app",
                    "merchant_identifier": "merchant.com.stripe.sang",
                    "merchant_business_country": "US",
                    "payment_processing_details_at": "Hyperswitch",
                    "payment_processing_certificate": "******"
                },
                "payment_request_data": {
                    "label": "apple pay",
                    "supported_networks": [
                        "visa",
                        "masterCard",
                        "amex",
                        "discover"
                    ],
                    "merchant_capabilities": [
                        "supports3DS"
                    ]
                }
            }
        }

googlepay payment req

curl --location 'localhost:8080/payments' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: dev_XFFEBn47rerIPZLGgByTCeimjetRQquysSnDzj9H941Aw99srgOB7usjaNqGASuL' \
--data-raw '{
    "amount": 20,
    "currency": "EUR",
    "confirm": true,
    "customer_id": "nithxxinn",
    "return_url": "https://www.google.com",
    "capture_method": "automatic",
    "payment_method": "wallet",
    "payment_method_type": "google_pay",
    "authentication_type": "no_three_ds",
    "description": "hellow world",
        "customer_acceptance": {
        "acceptance_type": "online",
        "accepted_at": "1963-05-03T04:07:52.723Z",
        "online": {
            "ip_address": "in sit",
            "user_agent": "amet irure esse"
        }
    },
    
    "setup_future_usage": "off_session",
    "billing": {
        "address": {
            "zip": "560095",
            "country": "UA",
            "first_name": "Sakil",
            "last_name": "Mostak",
            "line1": "Fasdf",
            "line2": "Fasdf",
            "city": "Fasdf"
        },
        "email":"test@gmail.com"
    },
    "browser_info": {
        "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "ip_address": "192.168.1.1",
        "java_enabled": false,
        "java_script_enabled": true,
        "language": "en-US",
        "color_depth": 24,
        "screen_height": 1080,
        "screen_width": 1920,
        "time_zone": 330,
        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
    },
    "email": "hello@gmail.com",
    "payment_method_data": {
        "wallet": {
            "google_pay": {
                "type": "CARD",
                "tokenization_data": {
                    "application_primary_account_number": "4761344136141390",
                    "card_exp_month": "12",
                    "card_exp_year": "25",
                    "cryptogram": "((())************)))=",
                    "eci_indicator": "5"
                },
                "info": {
                    "card_details": "Discover 9319",
                    "card_network": "VISA"
                },
                "description": "something"
            }
        }
    }
}
'

res which gives err

{
    "error": {
        "type": "invalid_request",
        "message": "Predecrypted token config is not enabled for GooglePay",
        "code": "IR_16"
    }
}

applepay

curl --location 'localhost:8080/payments' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: dev_XFFEBn47rerIPZLGgByTCeimjetRQquysSnDzj9H941Aw99srgOB7usjaNqGASuL' \
--data-raw '{
    "amount": 3,
    "currency": "EUR",
    "confirm": true,

    "customer_acceptance": {
        "acceptance_type": "online",
        "accepted_at": "1963-05-03T04:07:52.723Z",
        "online": {
            "ip_address": "in sit",
            "user_agent": "amet irure esse"
        }
    },

    "setup_future_usage": "off_session",
    "customer_id": "abcd",
    "return_url": "https://www.google.com",
    "capture_method": "automatic",
    "payment_method": "wallet",
    "payment_method_type": "apple_pay",
    "authentication_type": "no_three_ds",
    "description": "hellow world",
    "billing": {
        "address": {
            "zip": "560095",
            "country": "US",
            "first_name": "Sakil",
            "last_name": "Mostak",
            "line1": "Fasdf",
            "line2": "Fasdf",
            "city": "Fasdf"
        },
        "email": "nithingowdan77@gmail.com"
    },
    "browser_info": {
        "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "ip_address": "192.168.1.1",
        "java_enabled": false,
        "java_script_enabled": true,
        "language": "en-US",
        "color_depth": 24,
        "screen_height": 1080,
        "screen_width": 1920,
        "time_zone": 330,
        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
    },
    "email": "hello@gmail.com",
    "payment_method_data": {
        "wallet": {
            "apple_pay": {
                "payment_data": {
                    "application_primary_account_number": "4242424242424242",
                    "application_expiration_month": "09",
                    "application_expiration_year": "30",
                    "application_brand": "VISA",
                    "payment_data": {
                        "online_payment_cryptogram": "*(*******",
                        "eci_indicator": "7"
                    }
                },
                "payment_method": {
                    "display_name": "Discover 9319",
                    "network": "VISA",
                    "type": "debit"
                },
                "transaction_identifier": "((((**************)))"
            }
        }
    }
}
'

response

{
    "error": {
        "type": "invalid_request",
        "message": "Predecrypted token is not enabled for ApplePay",
        "code": "IR_16"
    }
}
When metadata.applepay_combined.support_predecrypted_token=true & metadata.google_pay.support_predecrypted_token=true shouldn;t donot throw error

Gpay response

{
    "payment_id": "pay_UGldGh1QW8CTJJJ22CMJ",
    "merchant_id": "merchant_1755589543",
    "status": "succeeded",
    "amount": 1,
    "net_amount": 1,
    "shipping_cost": null,
    "amount_capturable": 0,
    "amount_received": 1,
    "connector": "nuvei",
    "client_secret": "pay_UGldGh1QW8CTJJJ22CMJ_secret_nKqyqNJ02RgcaMsBBz51",
    "created": "2025-08-19T09:08:25.037Z",
    "currency": "EUR",
    "customer_id": "nithxxinn",
    "customer": {
        "id": "nithxxinn",
        "name": null,
        "email": "hello@gmail.com",
        "phone": null,
        "phone_country_code": null
    },
    "description": "hellow world",
    "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": "wallet",
    "payment_method_data": {
        "wallet": {
            "google_pay": {
                "last4": "1390",
                "card_network": "VISA",
                "type": "CARD"
            }
        },
        "billing": null
    },
    "payment_token": null,
    "shipping": null,
    "billing": {
        "address": {
            "city": "Fasdf",
            "country": "UA",
            "line1": "Fasdf",
            "line2": "Fasdf",
            "line3": null,
            "zip": "560095",
            "state": null,
            "first_name": "Sakil",
            "last_name": "Mostak",
            "origin_zip": null
        },
        "phone": null,
        "email": "nithin@test.com"
    },
    "order_details": null,
    "email": "hello@gmail.com",
    "name": null,
    "phone": null,
    "return_url": "https://www.google.com/",
    "authentication_type": "no_three_ds",
    "statement_descriptor_name": null,
    "statement_descriptor_suffix": null,
    "next_action": null,
    "cancellation_reason": null,
    "error_code": null,
    "error_message": null,
    "unified_code": null,
    "unified_message": null,
    "payment_experience": null,
    "payment_method_type": "google_pay",
    "connector_label": null,
    "business_country": null,
    "business_label": "default",
    "business_sub_label": null,
    "allowed_payment_method_types": null,
    "ephemeral_key": {
        "customer_id": "nithxxinn",
        "created_at": 1755594505,
        "expires": 1755598105,
        "secret": "epk_d3dbd5a8b4c04958b6fb4c959cbc67a1"
    },
    "manual_retry_allowed": false,
    "connector_transaction_id": "8110000000012655452",
    "frm_message": null,
    "metadata": null,
    "connector_metadata": null,
    "feature_metadata": {
        "redirect_response": null,
        "search_tags": null,
        "apple_pay_recurring_details": null,
        "gateway_system": "direct"
    },
    "reference_id": "8029357111",
    "payment_link": null,
    "profile_id": "pro_o6xLMNfkFwAWH1U1zimF",
    "surcharge_details": null,
    "attempt_count": 1,
    "merchant_decision": null,
    "merchant_connector_id": "mca_8DFDwR4GryN3qQQOh8bq",
    "incremental_authorization_allowed": false,
    "authorization_count": null,
    "incremental_authorizations": null,
    "external_authentication_details": null,
    "external_3ds_authentication_attempted": false,
    "expires_on": "2025-08-19T09:23:25.037Z",
    "fingerprint": null,
    "browser_info": {
        "language": "en-US",
        "time_zone": 330,
        "ip_address": "192.168.1.1",
        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",
        "color_depth": 24,
        "java_enabled": false,
        "screen_width": 1920,
        "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "screen_height": 1080,
        "java_script_enabled": true
    },
    "payment_channel": null,
    "payment_method_id": null,
    "network_transaction_id": null,
    "payment_method_status": null,
    "updated": "2025-11-18T09:08:29.510Z",
    "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,
    "enable_partial_authorization": null
}

applepay

{
    "payment_id": "pay_MgXkheRylOHLMUllc1Mw",
    "merchant_id": "merchant_1755589543",
    "status": "succeeded",
    "amount": 1,
    "net_amount": 1,
    "shipping_cost": null,
    "amount_capturable": 0,
    "amount_received": 1,
    "connector": "nuvei",
    "client_secret": "pay_MgXkheRylOHLMUllc1Mw_secret_swUebKaDNEsP4Qo5BMxe",
    "created": "2025-08-19T08:05:14.847Z",
    "currency": "EUR",
    "customer_id": "nithxxinn",
    "customer": {
        "id": "nithxxinn",
        "name": null,
        "email": "hello@gmail.com",
        "phone": null,
        "phone_country_code": null
    },
    "description": "hellow world",
    "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": "VISA",
                "type": "debit"
            }
        },
        "billing": null
    },
    "payment_token": null,
    "shipping": null,
    "billing": {
        "address": {
            "city": "Fasdf",
            "country": "US",
            "line1": "Fasdf",
            "line2": "Fasdf",
            "line3": null,
            "zip": "560095",
            "state": null,
            "first_name": "Sakil",
            "last_name": "Mostak",
            "origin_zip": null
        },
        "phone": null,
        "email": "nithin*****@gmail.com"
    },
    "order_details": null,
    "email": "hello@gmail.com",
    "name": null,
    "phone": null,
    "return_url": "https://www.google.com/",
    "authentication_type": "no_three_ds",
    "statement_descriptor_name": null,
    "statement_descriptor_suffix": null,
    "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": null,
    "business_country": null,
    "business_label": "default",
    "business_sub_label": null,
    "allowed_payment_method_types": null,
    "ephemeral_key": {
        "customer_id": "nithxxinn",
        "created_at": 1755590714,
        "expires": 1755594314,
        "secret": "epk_ad5c941cff3a4404ab38dee084e575d0"
    },
    "manual_retry_allowed": false,
    "connector_transaction_id": "8110000000012650848",
    "frm_message": null,
    "metadata": null,
    "connector_metadata": null,
    "feature_metadata": {
        "redirect_response": null,
        "search_tags": null,
        "apple_pay_recurring_details": null,
        "gateway_system": "direct"
    },
    "reference_id": "8027431111",
    "payment_link": null,
    "profile_id": "pro_o6xLMNfkFwAWH1U1zimF",
    "surcharge_details": null,
    "attempt_count": 1,
    "merchant_decision": null,
    "merchant_connector_id": "mca_8DFDwR4GryN3qQQOh8bq",
    "incremental_authorization_allowed": false,
    "authorization_count": null,
    "incremental_authorizations": null,
    "external_authentication_details": null,
    "external_3ds_authentication_attempted": false,
    "expires_on": "2025-08-19T08:20:14.847Z",
    "fingerprint": null,
    "browser_info": {
        "language": "en-US",
        "time_zone": 330,
        "ip_address": "192.168.1.1",
        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",
        "color_depth": 24,
        "java_enabled": false,
        "screen_width": 1920,
        "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "screen_height": 1080,
        "java_script_enabled": true
    },
    "payment_channel": null,
    "payment_method_id": null,
    "network_transaction_id": null,
    "payment_method_status": null,
    "updated": "2025-11-18T08:05:17.249Z",
    "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,
    "enable_partial_authorization": null
}
Test session token are working fine as previous

payment intent

{
    "amount": 10400,
    "currency": "USD",
    "capture_method": "automatic",
    "capture_on": "2022-09-10T10:11:12Z",
    "confirm": false,
    "description": "Its my first payment request",
    "authentication_type": "three_ds",
    "billing": {
        "address": {
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "city": "San Fransico",
            "state": "California",
            "zip": "94122",
            "country": "US",
            "first_name": "BUI",
            "last_name": "THANH CONG"
        }
    },

    "browser_info": {
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",
        "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
        "language": "vi",
        "color_depth": 24,
        "screen_height": 1440,
        "screen_width": 2560,
        "time_zone": -420,
        "java_enabled": true,
        "java_script_enabled": true,
        "device_model": "Macintosh",
        "os_type": "macOS",
        "os_version": "10.15.7"
    },
    "connector": ["nuvei"]
}

res

{
    "payment_id": "pay_idZ8rIfxVouP6lbNvFPm",
    "merchant_id": "merchant_1763528695",
    "status": "requires_payment_method",
    "amount": 10400,
    "net_amount": 10400,
    "shipping_cost": null,
    "amount_capturable": 0,
    "amount_received": null,
    "connector": null,
    "client_secret": "pay_idZ8rIfxVouP6lbNvFPm_secret_3o6PYCbnEl8PebplGgUo",
    "created": "2025-11-19T05:06:08.261Z",
    "currency": "USD",
    "customer_id": null,
    "customer": null,
    "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": null,
    "billing": {
        "address": {
            "city": "San Fransico",
            "country": "US",
            "line1": "1467",
            "line2": "Harrison Street",
            "line3": "Harrison Street",
            "zip": "94122",
            "state": "California",
            "first_name": "BUI",
            "last_name": "THANH CONG",
            "origin_zip": null
        },
        "phone": null,
        "email": null
    },
    "order_details": null,
    "email": null,
    "name": null,
    "phone": null,
    "return_url": null,
    "authentication_type": "three_ds",
    "statement_descriptor_name": null,
    "statement_descriptor_suffix": null,
    "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": null,
    "manual_retry_allowed": null,
    "connector_transaction_id": null,
    "frm_message": null,
    "metadata": null,
    "connector_metadata": null,
    "feature_metadata": null,
    "reference_id": null,
    "payment_link": null,
    "profile_id": "pro_cY23GsLOgJcgjtEAZwaP",
    "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-11-19T05:21:08.261Z",
    "fingerprint": null,
    "browser_info": {
        "os_type": "macOS",
        "language": "vi",
        "time_zone": -420,
        "os_version": "10.15.7",
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",
        "color_depth": 24,
        "device_model": "Macintosh",
        "java_enabled": true,
        "screen_width": 2560,
        "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
        "screen_height": 1440,
        "java_script_enabled": true
    },
    "payment_channel": null,
    "payment_method_id": null,
    "network_transaction_id": null,
    "payment_method_status": null,
    "updated": "2025-11-19T05:06:08.280Z",
    "split_payments": null,
    "frm_metadata": null,
    "extended_authorization_applied": null,
    "extended_authorization_last_applied_at": null,
    "request_extended_authorization": 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,
    "enable_partial_authorization": null,
    "enable_overcapture": null,
    "is_overcapture_enabled": null,
    "network_details": null,
    "is_stored_credential": null,
    "mit_category": null,
    "billing_descriptor": null
}

/session response

curl --location 'localhost:8080/payments/session_tokens' \
--header 'Content-Type: application/json' \
--header 'api-key: pk_dev_f19b75e9955f452a8945d2d199fb7d27' \
--data '{
    "payment_id": "pay_idZ8rIfxVouP6lbNvFPm",
    "wallets": [],
    "client_secret": "pay_idZ8rIfxVouP6lbNvFPm_secret_3o6PYCbnEl8PebplGgUo"
}'
{
    "payment_id": "pay_idZ8rIfxVouP6lbNvFPm",
    "client_secret": "pay_idZ8rIfxVouP6lbNvFPm_secret_3o6PYCbnEl8PebplGgUo",
    "session_token": [
        {
            "wallet_name": "google_pay",
            "merchant_info": {
                "merchant_id": "nuveidigital",
                "merchant_name": "nuveidigital"
            },
            "shipping_address_required": false,
            "email_required": false,
            "shipping_address_parameters": {
                "phone_number_required": false
            },
            "allowed_payment_methods": [
                {
                    "type": "CARD",
                    "parameters": {
                        "allowed_auth_methods": [
                            "PAN_ONLY",
                            "CRYPTOGRAM_3DS"
                        ],
                        "allowed_card_networks": [
                            "AMEX",
                            "DISCOVER",
                            "INTERAC",
                            "JCB",
                            "MASTERCARD",
                            "VISA"
                        ],
                        "billing_address_required": false
                    },
                    "tokenization_specification": {
                        "type": "PAYMENT_GATEWAY",
                        "parameters": {
                            "gateway": "nuveidigital",
                            "gateway_merchant_id": "googletest"
                        }
                    }
                }
            ],
            "transaction_info": {
                "country_code": "US",
                "currency_code": "USD",
                "total_price_status": "Final",
                "total_price": "104.00"
            },
            "delayed_session_token": false,
            "connector": "nuvei",
            "sdk_next_action": {
                "next_action": "confirm"
            },
            "secrets": null
        },
        {
            "wallet_name": "apple_pay",
            "session_token_data": {
                "epoch_timestamp": 1763528780459,
                "expires_at": 1763532380459,
                "merchant_session_identifier": "*30A24A31583",
                "nonce": "65b1748d",
                "merchant_identifier": "*",
                "domain_name": "hyperswitch-demo-store.netlify.app",
                "display_name": "apple pay",
                "signature": "*7010000a080308203e330820388a00302*204483046022100ab6f8c2e3cbb7cf3b6023ceb50d607e3dbf467627810133866244ed671d9efbb022100d8538fec64ba320732032e8fa20513e9795aa83ad7114a1a43a7e2dbd1a82393000000000000",
                "operational_analytics_identifier": "apple pay:****",
                "retries": 0,
                "psp_id": "******"
            },
            "payment_request_data": {
                "country_code": "US",
                "currency_code": "USD",
                "total": {
                    "label": "apple pay",
                    "type": "final",
                    "amount": "104.00"
                },
                "merchant_capabilities": [
                    "supports3DS"
                ],
                "supported_networks": [
                    "visa",
                    "masterCard",
                    "amex",
                    "discover"
                ],
                "merchant_identifier": "merchant.com.stripe.****"
            },
            "connector": "nuvei",
            "delayed_session_token": false,
            "sdk_next_action": {
                "next_action": "confirm"
            },
            "connector_reference_id": null,
            "connector_sdk_public_key": null,
            "connector_merchant_id": null
        }
    ]
}

when only decrypted flow is enabled the session response internally we are not logging error but instead sending NoSessionTokenReceived , but the api response will remain same and unnecessary error logs wont be there

{
    "payment_id": "pay_fMKbb3QSoxaDABb5wQ0t",
    "client_secret": "pay_fMKbb3QSoxaDABb5wQ0t_secret_2pzyZtzpw2EvdyziV3xu",
    "session_token": []
}
Stripe Hyperswitch decrypt flow

A bug is present in Stripe hyperswitch predecrypt flow

MCA

{
    "connector_type": "payment_processor",
    "connector_name": "stripe",
    "business_country": "US",
    "business_label": "default",
    "connector_account_details": {
        "auth_type": "HeaderKey",
        "api_key": "SECRETS"
    },
    "test_mode": false,
    "disabled": false,
    "payment_methods_enabled": [
        {
            "payment_method": "wallet",
            "payment_method_types": [
                {
                    "payment_method_type": "apple_pay",
                    "payment_experience": "invoke_sdk_client",
                    "minimum_amount": 1,
                    "maximum_amount": 68607706,
                    "recurring_enabled": true,
                    "installment_payment_enabled": true
                }
            ]
        },
        {
            "payment_method": "wallet",
            "payment_method_types": [
                {
                    "payment_method_type": "google_pay",
                    "payment_experience": "invoke_sdk_client",
                    "minimum_amount": 1,
                    "maximum_amount": 68607706,
                    "recurring_enabled": true,
                    "installment_payment_enabled": true
                }
            ]
        }
    ],
    "metadata": {
        "google_pay": {
            "support_predecrypted_token": false,
            "allowed_payment_methods": [
                {
                    "type": "CARD",
                    "parameters": {
                        "allowed_auth_methods": [
                            "PAN_ONLY",
                            "CRYPTOGRAM_3DS"
                        ],
                        "allowed_card_networks": [
                            "AMEX",
                            "DISCOVER",
                            "INTERAC",
                            "JCB",
                            "MASTERCARD",
                            "VISA"
                        ]
                    },
                    "tokenization_specification": {
                        "type": "PAYMENT_GATEWAY",
                        "parameters": {
                            "gateway": "example",
                            "gateway_merchant_id": "{{gateway_merchant_id}}"
                        }
                    }
                }
            ],
            "merchant_info": {
                "merchant_name": "Narayan Bhat"
            }
        },
        "apple_pay_combined": {
            "support_predecrypted_token": false,
            "manual": { ....... SECRETS .............}
        }
    }
}
  1. when support_predecrypt_token=false
{
  "amount": 123,
  "currency": "USD",
  "confirm": true,
  "customer_id": "nithxxinn",
  "return_url": "https://www.google.com",
  "capture_method": "automatic",
  "payment_method": "wallet",
  "payment_method_type": "google_pay",
  "authentication_type": "no_three_ds",
  "description": "hellow world",
  "customer_acceptance": {
    "acceptance_type": "online",
    "accepted_at": "1963-05-03T04:07:52.723Z",
    "online": {
      "ip_address": "in sit",
      "user_agent": "amet irure esse"
    }
  },
  // "order_tax_amount": 100,
  "setup_future_usage": "off_session",
  "billing": {
    "address": {
      "zip": "560095",
      "country": "US",
      "first_name": "Sakil",
      "last_name": "Mostak",
      "line1": "Fasdf",
      "line2": "Fasdf",
      "city": "Fasdf"
    },
    "email": "test@gmail.com"
  },
  "browser_info": {
    "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "ip_address": "192.168.1.1",
    "java_enabled": false,
    "java_script_enabled": true,
    "language": "en-US",
    "color_depth": 24,
    "screen_height": 1080,
    "screen_width": 1920,
    "time_zone": 330,
    "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
  },
  "email": "hello@gmail.com",
  "payment_method_data": {
    "wallet": {
      "google_pay": {
        "type": "CARD",
        "tokenization_data": {
          "application_primary_account_number": "4761xxx390",
          "card_exp_month": "12",
          "card_exp_year": "25",
          "cryptogram": "ejJRWG9SWWRpU7xxxxozSXU=",
          "eci_indicator": "5"
        },
        "info": {
          "card_details": "Discover 9319",
          "card_network": "VISA"
        },
        "description": "something"
      }
    }
  }
}

{
"error": {
"type": "invalid_request",
"message": "Predecrypted token flow is not enabled for GooglePay.",
"code": "IR_16"
}
}

hyperswitch decrypt flow

{
  "amount": 123,
  "confirm": true,
  "customer_id": "nithxxinn",
  "currency": "USD",
  "payment_method": "wallet",
  "payment_method_type": "apple_pay",
  "payment_method_data": {
    "wallet": {
      "apple_pay": {
        "payment_data": "eyJkYXRhIjoiN**88*********z09IiwidHJhbnNhY3Rpb25JZCI6IjYwZjgxZjAxNTJmZDlkZjM4ODM3ZmY3Mzg3ZjQzYWQ2MGQ4OTM2NDAyYzUyZjQ1OTQwYmJhZmU1NTdmNzhjNmQifSwidmVyc2lvbiI6IkVDX3YxIn0=",
        "payment_method": {
          "display_name": "Visa 0465",
          "network": "Visa",
          "type": "credit"
        },
        "transaction_identifier": "60f81f0152fd9df38837ff7387f43ad60d8936402c52f45940bbafe557f78c6d"
      }
    }
  },
  "connector": ["stripe"],
  "browser_info": {
    "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15",
    "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
    "language": "en-US",
    "color_depth": 24,
    "screen_height": 1117,
    "screen_width": 1728,
    "time_zone": -330,
    "java_enabled": true,
    "java_script_enabled": true,
    "device_model": "Macintosh",
    "os_type": "macOS",
    "os_version": "10.15.7"
  }
}

Response

{
    "payment_id": "pay_g7qRxJghLVkHBluCQjvI",
    "merchant_id": "merchant_1767941900",
    "status": "succeeded",
    "amount": 123,
    "net_amount": 123,
    "shipping_cost": null,
    "amount_capturable": 0,
    "amount_received": 123,
    "connector": "stripe",
    "client_secret": "pay_g7qRxJghLVkHBluCQjvI_secret_oDS0bOuyA60kFeoPbax9",
    "created": "2026-01-09T09:30:04.561Z",
    "modified_at": "2026-01-09T09:30:06.935Z",
    "currency": "USD",
    "customer_id": "nithxxinn",
    "customer": {
        "id": "nithxxinn",
        "name": null,
        "email": "hello@gmail.com",
        "phone": null,
        "phone_country_code": null
    },
    "description": null,
    "refunds": null,
    "disputes": null,
    "mandate_id": null,
    "mandate_data": null,
    "setup_future_usage": null,
    "off_session": null,
    "capture_on": null,
    "capture_method": null,
    "payment_method": "wallet",
    "payment_method_data": {
        "wallet": {
            "apple_pay": {
                "last4": "0465",
                "card_network": "Visa",
                "type": "credit",
                "card_exp_month": "01",
                "card_exp_year": "2030"
            }
        },
        "billing": null
    },
    "payment_token": null,
    "shipping": null,
    "billing": null,
    "order_details": null,
    "email": "hello@gmail.com",
    "name": null,
    "phone": null,
    "return_url": null,
    "authentication_type": "no_three_ds",
    "statement_descriptor_name": null,
    "statement_descriptor_suffix": null,
    "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": null,
    "business_country": null,
    "business_label": "default",
    "business_sub_label": null,
    "allowed_payment_method_types": null,
    "manual_retry_allowed": null,
    "connector_transaction_id": "pi_3Snc1BD5R7gDAGff0NOBV2Qi",
    "frm_message": null,
    "metadata": null,
    "connector_metadata": null,
    "feature_metadata": {
        "redirect_response": null,
        "search_tags": null,
        "apple_pay_recurring_details": null,
        "gateway_system": "direct"
    },
    "reference_id": "pi_3Snc1BD5R7gDAGff0NOBV2Qi",
    "payment_link": null,
    "profile_id": "pro_iTOXZSwtMLduVo21ZYja",
    "surcharge_details": null,
    "attempt_count": 1,
    "merchant_decision": null,
    "merchant_connector_id": "mca_pIAMpMxhODbMAnEiWkT5",
    "incremental_authorization_allowed": false,
    "authorization_count": null,
    "incremental_authorizations": null,
    "external_authentication_details": null,
    "external_3ds_authentication_attempted": false,
    "expires_on": "2026-01-09T09:45:04.561Z",
    "fingerprint": null,
    "browser_info": {
        "os_type": "macOS",
        "language": "en-US",
        "time_zone": -330,
        "os_version": "10.15.7",
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15",
        "color_depth": 24,
        "device_model": "Macintosh",
        "java_enabled": true,
        "screen_width": 1728,
        "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
        "screen_height": 1117,
        "java_script_enabled": true
    },
    "payment_channel": null,
    "payment_method_id": null,
    "network_transaction_id": "113787256775779",
    "payment_method_status": null,
    "updated": "2026-01-09T09:30:06.935Z",
    "split_payments": null,
    "frm_metadata": null,
    "extended_authorization_applied": false,
    "extended_authorization_last_applied_at": null,
    "request_extended_authorization": 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,
    "enable_partial_authorization": null,
    "enable_overcapture": null,
    "is_overcapture_enabled": false,
    "network_details": null,
    "is_stored_credential": null,
    "mit_category": null,
    "billing_descriptor": null,
    "tokenization": null,
    "partner_merchant_identifier_details": null,
    "payment_method_tokenization_details": null
}
ADYEN TEST CASES

googlepay

{
  "amount": 123,
  "currency": "EUR",
  "confirm": true,
  "customer_id": "nithxxdinn",
  "return_url": "https://www.google.com",
  "capture_method": "automatic",
  "payment_method": "wallet",
  "payment_method_type": "google_pay",
  "authentication_type": "no_three_ds",
  "connector": ["adyen"],
  "description": "hellow world",
  "customer_acceptance": {
    "acceptance_type": "online",
    "accepted_at": "1963-05-03T04:07:52.723Z",
    "online": {
      "ip_address": "in sit",
      "user_agent": "amet irure esse"
    }
  },
  // "order_tax_amount": 100,
  "setup_future_usage": "off_session",
  "billing": {
    "address": {
      "zip": "560095",
      "country": "US",
      "first_name": "Sakil",
      "last_name": "Mostak",
      "line1": "Fasdf",
      "line2": "Fasdf",
      "city": "Fasdf"
    },
    "email": "test@gmail.com"
  },
  "browser_info": {
    "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "ip_address": "192.168.1.1",
    "java_enabled": false,
    "java_script_enabled": true,
    "language": "en-US",
    "color_depth": 24,
    "screen_height": 1080,
    "screen_width": 1920,
    "time_zone": 330,
    "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
  },
  "email": "hello@gmail.com",
  "payment_method_data": {
    "wallet": {
      "google_pay": {
        "type": "CARD",
        "tokenization_data": {
          "application_primary_account_number": "4830269******05",
          "card_exp_month": "01",
          "card_exp_year": "30",
          "cryptogram": "A+dJ4lIABTuuy82**88**AAA=",
          "eci_indicator": "7"
        },

        "info": {
          "card_details": "Discover 9319",
          "card_network": "VISA"
        },
        "description": "something"
      }
    }
  }
}
{
  "payment_id": "pay_eZONAWVS7z8S7kLszHlt",
  "merchant_id": "merchant_1768197036",
  "status": "succeeded",
  "amount": 123,
  "net_amount": 123,
  "shipping_cost": null,
  "amount_capturable": 0,
  "amount_received": 123,
  "processor_merchant_id": "merchant_1768197036",
  "initiator": null,
  "connector": "adyen",
  "client_secret": "pay_eZONAWVS7z8S7kLszHlt_secret_TKjCcJr3oTswXb9nwOm5",
  "created": "2026-01-12T05:51:48.484Z",
  "modified_at": "2026-01-12T05:51:50.620Z",
  "currency": "EUR",
  "customer_id": "nithxxdinn",
  "customer": {
    "id": "nithxxdinn",
    "name": null,
    "email": "hello@gmail.com",
    "phone": null,
    "phone_country_code": null
  },
  "description": "hellow world",
  "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": {
      "google_pay": {
        "last4": "Discover 9319",
        "card_network": "VISA",
        "type": "CARD",
        "card_exp_month": "01",
        "card_exp_year": "30"
      }
    },
    "billing": null
  },
  "payment_token": null,
  "shipping": null,
  "billing": {
    "address": {
      "city": "Fasdf",
      "country": "US",
      "line1": "Fasdf",
      "line2": "Fasdf",
      "line3": null,
      "zip": "560095",
      "state": null,
      "first_name": "Sakil",
      "last_name": "Mostak",
      "origin_zip": null
    },
    "phone": null,
    "email": "test@gmail.com"
  },
  "order_details": null,
  "email": "hello@gmail.com",
  "name": null,
  "phone": null,
  "return_url": "https://www.google.com/",
  "authentication_type": "no_three_ds",
  "statement_descriptor_name": null,
  "statement_descriptor_suffix": null,
  "next_action": null,
  "cancellation_reason": null,
  "error_code": null,
  "error_message": null,
  "unified_code": null,
  "unified_message": null,
  "payment_experience": null,
  "payment_method_type": "google_pay",
  "connector_label": null,
  "business_country": null,
  "business_label": "default",
  "business_sub_label": null,
  "allowed_payment_method_types": null,
  "manual_retry_allowed": null,
  "connector_transaction_id": "H64HC6VC3RJMQJV5",
  "frm_message": null,
  "metadata": null,
  "connector_metadata": null,
  "feature_metadata": {
    "redirect_response": null,
    "search_tags": null,
    "apple_pay_recurring_details": null,
    "gateway_system": "direct"
  },
  "reference_id": "pay_eZONAWVS7z8S7kLszHlt_1",
  "payment_link": null,
  "profile_id": "pro_YkLwFqcJPNwiD6L3N7j6",
  "surcharge_details": null,
  "attempt_count": 1,
  "merchant_decision": null,
  "merchant_connector_id": "mca_R9jVcwjzDCfEerYfYnGy",
  "incremental_authorization_allowed": false,
  "authorization_count": null,
  "incremental_authorizations": null,
  "external_authentication_details": null,
  "external_3ds_authentication_attempted": false,
  "expires_on": "2026-01-12T06:06:48.484Z",
  "fingerprint": null,
  "browser_info": {
    "language": "en-US",
    "time_zone": 330,
    "ip_address": "192.168.1.1",
    "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",
    "color_depth": 24,
    "java_enabled": false,
    "screen_width": 1920,
    "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "screen_height": 1080,
    "java_script_enabled": true
  },
  "payment_channel": null,
  "payment_method_id": "pm_eviVPdfc8D4N3WpfJVko",
  "network_transaction_id": "794563376605231",
  "payment_method_status": "active",
  "updated": "2026-01-12T05:51:50.620Z",
  "split_payments": null,
  "frm_metadata": null,
  "extended_authorization_applied": null,
  "extended_authorization_last_applied_at": null,
  "request_extended_authorization": null,
  "capture_before": null,
  "merchant_order_reference_id": null,
  "order_tax_amount": null,
  "connector_mandate_id": "DN64SNSBTCWNRQT5",
  "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,
  "enable_partial_authorization": null,
  "enable_overcapture": null,
  "is_overcapture_enabled": null,
  "network_details": null,
  "is_stored_credential": null,
  "mit_category": null,
  "billing_descriptor": null,
  "tokenization": null,
  "partner_merchant_identifier_details": null,
  "payment_method_tokenization_details": {
    "payment_method_id": "pm_eviVPdfc8D4N3WpfJVko",
    "payment_method_status": "active",
    "psp_tokenization": false,
    "network_tokenization": false,
    "network_transaction_id": "794563376605231",
    "is_eligible_for_mit_payment": true
  }
}

applepay Hyperswitch decrypt

{
  "amount": 3,
  "currency": "EUR",
  "confirm": true,
  "customer_acceptance": {
    "acceptance_type": "online",
    "accepted_at": "1963-05-03T04:07:52.723Z",
    "online": {
      "ip_address": "in sit",
      "user_agent": "amet irure esse"
    }
  },
  "payment_method": "wallet",
  "payment_method_type": "apple_pay",
  "payment_method_data": {
    "wallet": {
      "apple_pay": {
        "payment_data": "eyJkYXRhIjoieSt**********mIxN2NkMWM3MGQyMmI3MjUzN2FhYjBkYzZjYTlhMjZiM2ZjYmU0MmU1MThiOTAwOGQyNzBmYzFhMjYyN2QwODcifSwidmVyc2lvbiI6IkVDX3YxIn0=",
        "payment_method": {
          "display_name": "Visa 0465",
          "network": "Visa",
          "type": "credit"
        },
        "transaction_identifier": "b17cd1c70d22b72537aab0dc6ca9a26b3fcbe42e518b9008d270fc1a2627d087"
      }
    }
  },
  "connector": ["adyen"],
  "setup_future_usage": "off_session",
  "customer_id": "abcd",
  "return_url": "https://www.google.com",
  "capture_method": "automatic",
  "authentication_type": "no_three_ds",
  "description": "hellow world",
  "billing": {
    "address": {
      "zip": "560095",
      "country": "US",
      "first_name": "Sakil",
      "last_name": "Mostak",
      "line1": "Fasdf",
      "line2": "Fasdf",
      "city": "Fasdf"
    },
    "email": "nithingowdan77@gmail.com"
  },
  "browser_info": {
    "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "ip_address": "192.168.1.1",
    "java_enabled": false,
    "java_script_enabled": true,
    "language": "en-US",
    "color_depth": 24,
    "screen_height": 1080,
    "screen_width": 1920,
    "time_zone": 330,
    "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
  },
  "email": "hello@gmail.com"
}
{
  "payment_id": "pay_MbuyiH9NF0QKALL4Roxn",
  "merchant_id": "merchant_1768197036",
  "status": "succeeded",
  "amount": 3,
  "net_amount": 3,
  "shipping_cost": null,
  "amount_capturable": 0,
  "amount_received": 3,
  "processor_merchant_id": "merchant_1768197036",
  "initiator": null,
  "connector": "adyen",
  "client_secret": "pay_MbuyiH9NF0QKALL4Roxn_secret_i7ZJpUrpD5w4SsgT0wNW",
  "created": "2026-01-12T05:53:14.447Z",
  "modified_at": "2026-01-12T05:53:16.293Z",
  "currency": "EUR",
  "customer_id": "abcd",
  "customer": {
    "id": "abcd",
    "name": null,
    "email": "hello@gmail.com",
    "phone": null,
    "phone_country_code": null
  },
  "description": "hellow world",
  "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": "0465",
        "card_network": "Visa",
        "type": "credit",
        "card_exp_month": "01",
        "card_exp_year": "2030"
      }
    },
    "billing": null
  },
  "payment_token": null,
  "shipping": null,
  "billing": {
    "address": {
      "city": "Fasdf",
      "country": "US",
      "line1": "Fasdf",
      "line2": "Fasdf",
      "line3": null,
      "zip": "560095",
      "state": null,
      "first_name": "Sakil",
      "last_name": "Mostak",
      "origin_zip": null
    },
    "phone": null,
    "email": "nithingowdan77@gmail.com"
  },
  "order_details": null,
  "email": "hello@gmail.com",
  "name": null,
  "phone": null,
  "return_url": "https://www.google.com/",
  "authentication_type": "no_three_ds",
  "statement_descriptor_name": null,
  "statement_descriptor_suffix": null,
  "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": null,
  "business_country": null,
  "business_label": "default",
  "business_sub_label": null,
  "allowed_payment_method_types": null,
  "manual_retry_allowed": null,
  "connector_transaction_id": "VK5V6HZF9WFWVLV5",
  "frm_message": null,
  "metadata": null,
  "connector_metadata": null,
  "feature_metadata": {
    "redirect_response": null,
    "search_tags": null,
    "apple_pay_recurring_details": null,
    "gateway_system": "direct"
  },
  "reference_id": "pay_MbuyiH9NF0QKALL4Roxn_1",
  "payment_link": null,
  "profile_id": "pro_YkLwFqcJPNwiD6L3N7j6",
  "surcharge_details": null,
  "attempt_count": 1,
  "merchant_decision": null,
  "merchant_connector_id": "mca_R9jVcwjzDCfEerYfYnGy",
  "incremental_authorization_allowed": false,
  "authorization_count": null,
  "incremental_authorizations": null,
  "external_authentication_details": null,
  "external_3ds_authentication_attempted": false,
  "expires_on": "2026-01-12T06:08:14.447Z",
  "fingerprint": null,
  "browser_info": {
    "language": "en-US",
    "time_zone": 330,
    "ip_address": "192.168.1.1",
    "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",
    "color_depth": 24,
    "java_enabled": false,
    "screen_width": 1920,
    "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "screen_height": 1080,
    "java_script_enabled": true
  },
  "payment_channel": null,
  "payment_method_id": "pm_Yyc4zBvHuGJw2qLmJcgo",
  "network_transaction_id": "728694122218378",
  "payment_method_status": "active",
  "updated": "2026-01-12T05:53:16.293Z",
  "split_payments": null,
  "frm_metadata": null,
  "extended_authorization_applied": null,
  "extended_authorization_last_applied_at": null,
  "request_extended_authorization": null,
  "capture_before": null,
  "merchant_order_reference_id": null,
  "order_tax_amount": null,
  "connector_mandate_id": "LZXHLB9N6PKRX2V5",
  "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,
  "enable_partial_authorization": null,
  "enable_overcapture": null,
  "is_overcapture_enabled": null,
  "network_details": null,
  "is_stored_credential": null,
  "mit_category": null,
  "billing_descriptor": null,
  "tokenization": null,
  "partner_merchant_identifier_details": null,
  "payment_method_tokenization_details": {
    "payment_method_id": "pm_Yyc4zBvHuGJw2qLmJcgo",
    "payment_method_status": "active",
    "psp_tokenization": false,
    "network_tokenization": false,
    "network_transaction_id": "728694122218378",
    "is_eligible_for_mit_payment": true
  }
}

apple pay predecrypt

{
  "amount": 3,
  "currency": "EUR",
  "confirm": true,

  "customer_acceptance": {
    "acceptance_type": "online",
    "accepted_at": "1963-05-03T04:07:52.723Z",
    "online": {
      "ip_address": "in sit",
      "user_agent": "amet irure esse"
    }
  },

  "setup_future_usage": "off_session",
  "customer_id": "abcd",
  "return_url": "https://www.google.com",
  "capture_method": "automatic",
  "payment_method": "wallet",
  "payment_method_type": "apple_pay",
  "authentication_type": "no_three_ds",
  "description": "hellow world",
  "billing": {
    "address": {
      "zip": "560095",
      "country": "US",
      "first_name": "Sakil",
      "last_name": "Mostak",
      "line1": "Fasdf",
      "line2": "Fasdf",
      "city": "Fasdf"
    },
    "email": "nithingowdan77@gmail.com"
  },
  "browser_info": {
    "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "ip_address": "192.168.1.1",
    "java_enabled": false,
    "java_script_enabled": true,
    "language": "en-US",
    "color_depth": 24,
    "screen_height": 1080,
    "screen_width": 1920,
    "time_zone": 330,
    "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
  },
  "email": "hello@gmail.com",
  "payment_method_data": {
    "wallet": {
      "apple_pay": {
        "payment_data": {
          "application_primary_account_number": "4830269*****605",
          "application_expiration_month": "01",
          "application_expiration_year": "30",
          "application_brand": "VISA",
          "payment_data": {
            "online_payment_cryptogram": "A+dJ4******AAA=",
            "eci_indicator": "7"
          }
        },
        "payment_method": {
          "display_name": "Discover 9319",
          "network": "VISA",
          "type": "debit"
        },
        "transaction_identifier": "c635c5b3af900d7bd81fecd7028f1262f9d030754ee65ec7afd988a678194751"
      }
    }
  }
}
{
  "payment_id": "pay_YgcopymfjOjyPBowTQS9",
  "merchant_id": "merchant_1768197036",
  "status": "succeeded",
  "amount": 3,
  "net_amount": 3,
  "shipping_cost": null,
  "amount_capturable": 0,
  "amount_received": 3,
  "processor_merchant_id": "merchant_1768197036",
  "initiator": null,
  "connector": "adyen",
  "client_secret": "pay_YgcopymfjOjyPBowTQS9_secret_9SPuXnPLeT4Hht6unoBM",
  "created": "2026-01-12T05:55:04.237Z",
  "modified_at": "2026-01-12T05:55:06.090Z",
  "currency": "EUR",
  "customer_id": "abcd",
  "customer": {
    "id": "abcd",
    "name": null,
    "email": "hello@gmail.com",
    "phone": null,
    "phone_country_code": null
  },
  "description": "hellow world",
  "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": "9319",
        "card_network": "VISA",
        "type": "debit",
        "card_exp_month": "01",
        "card_exp_year": "30"
      }
    },
    "billing": null
  },
  "payment_token": null,
  "shipping": null,
  "billing": {
    "address": {
      "city": "Fasdf",
      "country": "US",
      "line1": "Fasdf",
      "line2": "Fasdf",
      "line3": null,
      "zip": "560095",
      "state": null,
      "first_name": "Sakil",
      "last_name": "Mostak",
      "origin_zip": null
    },
    "phone": null,
    "email": "nithingowdan77@gmail.com"
  },
  "order_details": null,
  "email": "hello@gmail.com",
  "name": null,
  "phone": null,
  "return_url": "https://www.google.com/",
  "authentication_type": "no_three_ds",
  "statement_descriptor_name": null,
  "statement_descriptor_suffix": null,
  "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": null,
  "business_country": null,
  "business_label": "default",
  "business_sub_label": null,
  "allowed_payment_method_types": null,
  "manual_retry_allowed": null,
  "connector_transaction_id": "P8XW3JZF9WFWVLV5",
  "frm_message": null,
  "metadata": null,
  "connector_metadata": null,
  "feature_metadata": {
    "redirect_response": null,
    "search_tags": null,
    "apple_pay_recurring_details": null,
    "gateway_system": "direct"
  },
  "reference_id": "pay_YgcopymfjOjyPBowTQS9_1",
  "payment_link": null,
  "profile_id": "pro_YkLwFqcJPNwiD6L3N7j6",
  "surcharge_details": null,
  "attempt_count": 1,
  "merchant_decision": null,
  "merchant_connector_id": "mca_R9jVcwjzDCfEerYfYnGy",
  "incremental_authorization_allowed": false,
  "authorization_count": null,
  "incremental_authorizations": null,
  "external_authentication_details": null,
  "external_3ds_authentication_attempted": false,
  "expires_on": "2026-01-12T06:10:04.237Z",
  "fingerprint": null,
  "browser_info": {
    "language": "en-US",
    "time_zone": 330,
    "ip_address": "192.168.1.1",
    "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",
    "color_depth": 24,
    "java_enabled": false,
    "screen_width": 1920,
    "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "screen_height": 1080,
    "java_script_enabled": true
  },
  "payment_channel": null,
  "payment_method_id": "pm_Yyc4zBvHuGJw2qLmJcgo",
  "network_transaction_id": "148856613746567",
  "payment_method_status": "active",
  "updated": "2026-01-12T05:55:06.090Z",
  "split_payments": null,
  "frm_metadata": null,
  "extended_authorization_applied": null,
  "extended_authorization_last_applied_at": null,
  "request_extended_authorization": null,
  "capture_before": null,
  "merchant_order_reference_id": null,
  "order_tax_amount": null,
  "connector_mandate_id": "LZXHLB9N6PKRX2V5",
  "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,
  "enable_partial_authorization": null,
  "enable_overcapture": null,
  "is_overcapture_enabled": null,
  "network_details": null,
  "is_stored_credential": null,
  "mit_category": null,
  "billing_descriptor": null,
  "tokenization": null,
  "partner_merchant_identifier_details": null,
  "payment_method_tokenization_details": {
    "payment_method_id": "pm_Yyc4zBvHuGJw2qLmJcgo",
    "payment_method_status": "active",
    "psp_tokenization": true,
    "network_tokenization": false,
    "network_transaction_id": "728694122218378",
    "is_eligible_for_mit_payment": true
  }
}
Cyber source

googlepay

{
    "payment_id": "pay_2h8t3qSTqZMGubOUI3TE",
    "merchant_id": "merchant_1768286785",
    "status": "succeeded",
    "amount": 123,
    "net_amount": 123,
    "shipping_cost": null,
    "amount_capturable": 0,
    "amount_received": 123,
    "processor_merchant_id": "merchant_1768286785",
    "initiator": null,
    "connector": "cybersource",
    "client_secret": "pay_2h8t3qSTqZMGubOUI3TE_secret_8h4OkIgbktcUPRlG0hB8",
    "created": "2026-01-13T06:46:56.344Z",
    "modified_at": "2026-01-13T06:46:58.195Z",
    "currency": "EUR",
    "customer_id": "nithxxdinn",
    "customer": {
        "id": "nithxxdinn",
        "name": null,
        "email": "hello@gmail.com",
        "phone": null,
        "phone_country_code": null
    },
    "description": "hellow world",
    "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": {
            "google_pay": {
                "last4": "Discover 9319",
                "card_network": "VISA",
                "type": "CARD",
                "card_exp_month": "01",
                "card_exp_year": "30"
            }
        },
        "billing": null
    },
    "payment_token": null,
    "shipping": null,
    "billing": {
        "address": {
            "city": "ABCD",
            "country": "FR",
            "line1": "1467",
            "line2": "CA",
            "line3": null,
            "zip": "94122",
            "state": "Bourgogne-Franche-Comte",
            "first_name": "john",
            "last_name": "doe",
            "origin_zip": null
        },
        "phone": null,
        "email": "test@gmail.com"
    },
    "order_details": null,
    "email": "hello@gmail.com",
    "name": null,
    "phone": null,
    "return_url": "https://www.google.com/",
    "authentication_type": "no_three_ds",
    "statement_descriptor_name": null,
    "statement_descriptor_suffix": null,
    "next_action": null,
    "cancellation_reason": null,
    "error_code": null,
    "error_message": null,
    "unified_code": null,
    "unified_message": null,
    "payment_experience": null,
    "payment_method_type": "google_pay",
    "connector_label": null,
    "business_country": null,
    "business_label": "default",
    "business_sub_label": null,
    "allowed_payment_method_types": null,
    "manual_retry_allowed": null,
    "connector_transaction_id": "7682868175206017904806",
    "frm_message": null,
    "metadata": null,
    "connector_metadata": null,
    "feature_metadata": {
        "redirect_response": null,
        "search_tags": null,
        "apple_pay_recurring_details": null,
        "gateway_system": "direct"
    },
    "reference_id": "pay_2h8t3qSTqZMGubOUI3TE_1",
    "payment_link": null,
    "profile_id": "pro_5kC2NAtGgtg170gsvUlk",
    "surcharge_details": null,
    "attempt_count": 1,
    "merchant_decision": null,
    "merchant_connector_id": "mca_7aodUXiczdNY934AksAs",
    "incremental_authorization_allowed": false,
    "authorization_count": null,
    "incremental_authorizations": null,
    "external_authentication_details": null,
    "external_3ds_authentication_attempted": false,
    "expires_on": "2026-01-13T07:01:56.343Z",
    "fingerprint": null,
    "browser_info": {
        "language": "en-US",
        "time_zone": 330,
        "ip_address": "192.168.1.1",
        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",
        "color_depth": 24,
        "java_enabled": false,
        "screen_width": 1920,
        "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "screen_height": 1080,
        "java_script_enabled": true
    },
    "payment_channel": null,
    "payment_method_id": "pm_s2RGSxJBZagEHtDaaIw0",
    "network_transaction_id": "123456789619999",
    "payment_method_status": "active",
    "updated": "2026-01-13T06:46:58.195Z",
    "split_payments": null,
    "frm_metadata": null,
    "extended_authorization_applied": null,
    "extended_authorization_last_applied_at": null,
    "request_extended_authorization": null,
    "capture_before": null,
    "merchant_order_reference_id": null,
    "order_tax_amount": null,
    "connector_mandate_id": "4840470CB6A2F137E063AF598E0A0A6A",
    "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,
    "enable_partial_authorization": null,
    "enable_overcapture": null,
    "is_overcapture_enabled": null,
    "network_details": null,
    "is_stored_credential": null,
    "mit_category": null,
    "billing_descriptor": null,
    "tokenization": null,
    "partner_merchant_identifier_details": null,
    "payment_method_tokenization_details": {
        "payment_method_id": "pm_s2RGSxJBZagEHtDaaIw0",
        "payment_method_status": "active",
        "psp_tokenization": false,
        "network_tokenization": false,
        "network_transaction_id": "123456789619999",
        "is_eligible_for_mit_payment": true
    }
}
{
    "amount": 123,
    "currency": "EUR",
    "confirm": true,
    "customer_id": "nithxxdinn",
    "return_url": "https://www.google.com",
    "capture_method": "automatic",
    "payment_method": "wallet",
    "payment_method_type": "google_pay",
    "authentication_type": "no_three_ds",
    "connector": ["cybersource"],
    "description": "hellow world",
        "customer_acceptance": {
        "acceptance_type": "online",
        "accepted_at": "1963-05-03T04:07:52.723Z",
        "online": {
            "ip_address": "in sit",
            "user_agent": "amet irure esse"
        }
    },
    // "order_tax_amount": 100,
    "setup_future_usage": "off_session",
    "billing": {
  "address": {
                "line1": "1467",
                "line2": "CA",
                "city": "ABCD",
                "state": "Bourgogne-Franche-Comte",
                "zip": "94122",
                "country": "FR",
                "first_name": "john",
                "last_name": "doe"
            },
        "email":"test@gmail.com"
    },
    "browser_info": {
        "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "ip_address": "192.168.1.1",
        "java_enabled": false,
        "java_script_enabled": true,
        "language": "en-US",
        "color_depth": 24,
        "screen_height": 1080,
        "screen_width": 1920,
        "time_zone": 330,
        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
    },
    "email": "hello@gmail.com",
    "payment_method_data": {
        "wallet": {
            "google_pay": {
                "type": "CARD",
                "tokenization_data": {
                    "application_primary_account_number": "4830269090274605",
                    "card_exp_month": "01",
                    "card_exp_year": "30",
                    "cryptogram": "A+dJ4lIABTuuy82tKyShMAABAAA=",
                    "eci_indicator": "7"
                },
         
                "info": {
                    "card_details": "Discover 9319",
                    "card_network": "VISA"
                },
                "description": "something"
            }
        }
    }
}

applepay

{
    "amount": 3,
    "currency": "USD",
    "confirm": true,

    "customer_acceptance": {
        "acceptance_type": "online",
        "accepted_at": "1963-05-03T04:07:52.723Z",
        "online": {
            "ip_address": "in sit",
            "user_agent": "amet irure esse"
        }
    },
    "connector":["cybersource"],

    "setup_future_usage": "off_session",
    "customer_id": "abcd",
    "return_url": "https://www.google.com",
    "capture_method": "automatic",
    "payment_method": "wallet",
    "payment_method_type": "apple_pay",
    "authentication_type": "no_three_ds",
    "description": "hellow world",
    "billing": {
        "address": {
                "line1": "1467",
                "line2": "US",
                "city": "ABCD",
                "state": "Bourgogne-Franche-Comte",
                "zip": "94122",
                "country": "FR",
                "first_name": "john",
                "last_name": "doe"
            },
        "email": "nithingowdan77@gmail.com"
    },
    "browser_info": {
        "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "ip_address": "192.168.1.1",
        "java_enabled": false,
        "java_script_enabled": true,
        "language": "en-US",
        "color_depth": 24,
        "screen_height": 1080,
        "screen_width": 1920,
        "time_zone": 330,
        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
    },
    "email": "hello@gmail.com",
    "payment_method_data": {
        "wallet": {

            "apple_pay": {
                "payment_data": {
                    "application_primary_account_number": "4830269090274605",
                    "application_expiration_month": "01",
                    "application_expiration_year": "30",
                    "application_brand": "VISA",
                    "payment_data": {
                        "online_payment_cryptogram": "A+dJ4lIABTuuy82tKyShMAABAAA=",
                        "eci_indicator": "7"
                    }
                },
                "payment_method": {
                    "display_name": "Discover 9319",
                    "network": "VISA",
                    "type": "debit"
                },
                "transaction_identifier": "c635c5b3af900d7bd81fecd7028f1262f9d030754ee65ec7afd988a678194751"
            }
        }
    }
}
{
    "payment_id": "pay_Vg3cjzH1uWvrFXv1qpAG",
    "merchant_id": "merchant_1768286785",
    "status": "succeeded",
    "amount": 3,
    "net_amount": 3,
    "shipping_cost": null,
    "amount_capturable": 0,
    "amount_received": 3,
    "processor_merchant_id": "merchant_1768286785",
    "initiator": null,
    "connector": "cybersource",
    "client_secret": "pay_Vg3cjzH1uWvrFXv1qpAG_secret_8zPKcKAsHcWCFueod0gj",
    "created": "2026-01-13T06:53:48.122Z",
    "modified_at": "2026-01-13T06:53:49.512Z",
    "currency": "USD",
    "customer_id": "abcd",
    "customer": {
        "id": "abcd",
        "name": null,
        "email": "hello@gmail.com",
        "phone": null,
        "phone_country_code": null
    },
    "description": "hellow world",
    "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": "9319",
                "card_network": "VISA",
                "type": "debit",
                "card_exp_month": "01",
                "card_exp_year": "30"
            }
        },
        "billing": null
    },
    "payment_token": null,
    "shipping": null,
    "billing": {
        "address": {
            "city": "ABCD",
            "country": "FR",
            "line1": "1467",
            "line2": "US",
            "line3": null,
            "zip": "94122",
            "state": "Bourgogne-Franche-Comte",
            "first_name": "john",
            "last_name": "doe",
            "origin_zip": null
        },
        "phone": null,
        "email": "nithingowdan77@gmail.com"
    },
    "order_details": null,
    "email": "hello@gmail.com",
    "name": null,
    "phone": null,
    "return_url": "https://www.google.com/",
    "authentication_type": "no_three_ds",
    "statement_descriptor_name": null,
    "statement_descriptor_suffix": null,
    "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": null,
    "business_country": null,
    "business_label": "default",
    "business_sub_label": null,
    "allowed_payment_method_types": null,
    "manual_retry_allowed": null,
    "connector_transaction_id": "7682872290276102304806",
    "frm_message": null,
    "metadata": null,
    "connector_metadata": null,
    "feature_metadata": {
        "redirect_response": null,
        "search_tags": null,
        "apple_pay_recurring_details": null,
        "gateway_system": "direct"
    },
    "reference_id": "pay_Vg3cjzH1uWvrFXv1qpAG_1",
    "payment_link": null,
    "profile_id": "pro_5kC2NAtGgtg170gsvUlk",
    "surcharge_details": null,
    "attempt_count": 1,
    "merchant_decision": null,
    "merchant_connector_id": "mca_V0Xk1UhvA8QHfbs62Fmt",
    "incremental_authorization_allowed": false,
    "authorization_count": null,
    "incremental_authorizations": null,
    "external_authentication_details": null,
    "external_3ds_authentication_attempted": false,
    "expires_on": "2026-01-13T07:08:48.122Z",
    "fingerprint": null,
    "browser_info": {
        "language": "en-US",
        "time_zone": 330,
        "ip_address": "192.168.1.1",
        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",
        "color_depth": 24,
        "java_enabled": false,
        "screen_width": 1920,
        "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "screen_height": 1080,
        "java_script_enabled": true
    },
    "payment_channel": null,
    "payment_method_id": "pm_fKWK9JIZRmeEmdFx5rtu",
    "network_transaction_id": "123456789619999",
    "payment_method_status": "active",
    "updated": "2026-01-13T06:53:49.512Z",
    "split_payments": null,
    "frm_metadata": null,
    "extended_authorization_applied": null,
    "extended_authorization_last_applied_at": null,
    "request_extended_authorization": null,
    "capture_before": null,
    "merchant_order_reference_id": null,
    "order_tax_amount": null,
    "connector_mandate_id": "4840709CCE8254B7E063AF598E0AEB7B",
    "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,
    "enable_partial_authorization": null,
    "enable_overcapture": null,
    "is_overcapture_enabled": null,
    "network_details": null,
    "is_stored_credential": null,
    "mit_category": null,
    "billing_descriptor": null,
    "tokenization": null,
    "partner_merchant_identifier_details": null,
    "payment_method_tokenization_details": {
        "payment_method_id": "pm_fKWK9JIZRmeEmdFx5rtu",
        "payment_method_status": "active",
        "psp_tokenization": false,
        "network_tokenization": false,
        "network_transaction_id": "123456789619999",
        "is_eligible_for_mit_payment": true
    }
}

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

@semanticdiff-com
Copy link

semanticdiff-com bot commented Nov 18, 2025

@Nithin1506200 Nithin1506200 self-assigned this Nov 18, 2025
@codecov
Copy link

codecov bot commented Nov 18, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@05e1437). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #10329   +/-   ##
=======================================
  Coverage        ?        0           
=======================================
  Files           ?        0           
  Lines           ?        0           
  Branches        ?        0           
=======================================
  Hits            ?        0           
  Misses          ?        0           
  Partials        ?        0           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Nithin1506200 Nithin1506200 changed the title update update BREAKING CHANGE FOR APPLEPAY AND GOOGLE PAY DECRYPTED FLOW Nov 18, 2025
@Nithin1506200 Nithin1506200 changed the title update BREAKING CHANGE FOR APPLEPAY AND GOOGLE PAY DECRYPTED FLOW feat(Wallets): BREAKING CHANGE FOR APPLEPAY AND GOOGLE PAY DECRYPTED FLOW Nov 19, 2025
pub struct ApplePayCombinedWrapper {
#[serde(flatten)]
pub data: Option<ApplePayCombinedMetadata>,
pub enable_predecrypted_token: Option<bool>,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tried with #[serde(rename="googlepay.enable_predecrypted_token"] but rust didnt allow for a tagged enum json to have multiple keys. This was the next best solution

@Nithin1506200 Nithin1506200 marked this pull request as ready for review November 19, 2025 05:42
@Nithin1506200 Nithin1506200 requested review from a team as code owners November 19, 2025 05:42
pub struct GpaySessionTokenData {
#[serde(rename = "google_pay")]
pub data: GpayMetaData,
pub google_pay: GooglePayDetailsWrapper,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the change was required , instead of serde rename="google_pay" we are directly using google_pay or else accessing the wrapper fields will look like metadata.data.data which seems aesthetically bad. In previous review i considered GooglePayWallet to be present in MCA.metadata but it was wrong. it should be GpaySessionTokenData

@Nithin1506200 Nithin1506200 changed the title feat(Wallets): BREAKING CHANGE FOR APPLEPAY AND GOOGLE PAY DECRYPTED FLOW feat(Wallets):APPLEPAY AND GOOGLE PAY DECRYPTED FLOW support Dec 4, 2025
pub struct GooglePayDetailsWrapper {
#[serde(flatten)]
pub data: Option<GpayMetaData>,
support_predecrypted_token: Option<bool>,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this not a pub ?

pub struct ApplePayCombinedWrapper {
#[serde(flatten)]
pub data: Option<ApplePayCombinedMetadata>,
support_predecrypted_token: Option<bool>,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this not a pub ?

Ok(connector_wallets_details_optional)
}

pub fn is_predecrypted_flow_supported_googlepay(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
pub fn is_predecrypted_flow_supported_googlepay(
pub fn is_googlepay_predecrypted_flow_supported(

.map(|metadata| metadata.google_pay.is_predecrypted_token_supported())
.unwrap_or(false)
}
pub fn is_predecrypted_flow_supported_applepay(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
pub fn is_predecrypted_flow_supported_applepay(
pub fn is_applepay_predecrypted_flow_supported(

}
pub fn get_applepay_metadata(
connector_metadata: Option<pii::SecretSerdeValue>,
) -> RouterResult<api_models::payments::ApplepaySessionTokenMetadata> {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This function can return the new wrapper object created

Ok(result)

let support_predecrypted_token =
is_predecrypted_flow_supported_googlepay(merchant_connector_account.get_metadata());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
is_predecrypted_flow_supported_googlepay(merchant_connector_account.get_metadata());
is_predecrypted_flow_supported_applepay(merchant_connector_account.get_metadata());

Comment on lines +6024 to +6025
let support_predecrypted_token =
is_predecrypted_flow_supported_googlepay(merchant_connector_account.get_metadata());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be moved inside common_payments_types::ApplePayPaymentData::Decrypted match arm

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sakilmostak
Sakilmostak previously approved these changes Jan 13, 2026
ShankarSinghC
ShankarSinghC previously approved these changes Jan 13, 2026
let connector_metadata = ConnectorMetadata {
connector_metadata: &req.metadata,
};
connector_metadata.validate_apple_pay_certificates_in_mca_metadata()?;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Won't this be a breaking change ?

Also, I think this validation is for the legacy apple pay flow. Can you once verify that ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This check is present in create mca and needs to be in update connector also. This was recommended by you only.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the validation

Copy link
Contributor

@ShankarSinghC ShankarSinghC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please verify this comment

@likhinbopanna likhinbopanna added this pull request to the merge queue Jan 13, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Jan 13, 2026
@Gnanasundari24 Gnanasundari24 added this pull request to the merge queue Jan 13, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Jan 13, 2026
@likhinbopanna likhinbopanna added this pull request to the merge queue Jan 14, 2026
Merged via the queue into main with commit d36b783 Jan 14, 2026
40 of 60 checks passed
@likhinbopanna likhinbopanna deleted the applepaypredecrypt branch January 14, 2026 07:24
siaass842 pushed a commit that referenced this pull request Jan 14, 2026
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: nithin <nithin.n@juspay.in>
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
@nithin-juspay
Copy link
Contributor

Connectors supporting Predecrypted flow Applepay

  1. Stripe (known error)
  2. Adyen
  3. cybersource
  4. checkout
  5. nmi
  6. Nuvei
  7. barcalaycard
  8. bankofamerica
  9. Paysafe
  10. fiuu
  11. worldpayvantiv
  12. wellsfargo
  13. tesouro
  14. finserv
  15. archipel

Connectors supporting Predecrypted flow Googlepay

  1. Stripe (known error)
  2. Adyen
  3. cybersource
  4. checkout
  5. Nuvei
  6. worldpayvantiv
  7. wellsfargo
  8. tesouro

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(Wallets): BREAKING CHANGE FOR APPLEPAY AND GOOGLE PAY DECRYPTED FLOW

7 participants