feat(Wallets): APPLEPAY AND GOOGLE PAY DECRYPTED FLOW support#10329
feat(Wallets): APPLEPAY AND GOOGLE PAY DECRYPTED FLOW support#10329likhinbopanna merged 35 commits intomainfrom
Conversation
Changed Files
|
Codecov Report✅ All modified and coverable lines are covered by tests. 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. 🚀 New features to boost your workflow:
|
crates/api_models/src/payments.rs
Outdated
| pub struct ApplePayCombinedWrapper { | ||
| #[serde(flatten)] | ||
| pub data: Option<ApplePayCombinedMetadata>, | ||
| pub enable_predecrypted_token: Option<bool>, |
There was a problem hiding this comment.
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
| pub struct GpaySessionTokenData { | ||
| #[serde(rename = "google_pay")] | ||
| pub data: GpayMetaData, | ||
| pub google_pay: GooglePayDetailsWrapper, |
There was a problem hiding this comment.
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
| pub struct GooglePayDetailsWrapper { | ||
| #[serde(flatten)] | ||
| pub data: Option<GpayMetaData>, | ||
| support_predecrypted_token: Option<bool>, |
There was a problem hiding this comment.
Why is this not a pub ?
| pub struct ApplePayCombinedWrapper { | ||
| #[serde(flatten)] | ||
| pub data: Option<ApplePayCombinedMetadata>, | ||
| support_predecrypted_token: Option<bool>, |
There was a problem hiding this comment.
Why is this not a pub ?
| Ok(connector_wallets_details_optional) | ||
| } | ||
|
|
||
| pub fn is_predecrypted_flow_supported_googlepay( |
There was a problem hiding this comment.
| 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( |
There was a problem hiding this comment.
| 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> { |
There was a problem hiding this comment.
This function can return the new wrapper object created
crates/router/src/core/payments.rs
Outdated
| Ok(result) | ||
|
|
||
| let support_predecrypted_token = | ||
| is_predecrypted_flow_supported_googlepay(merchant_connector_account.get_metadata()); |
There was a problem hiding this comment.
| is_predecrypted_flow_supported_googlepay(merchant_connector_account.get_metadata()); | |
| is_predecrypted_flow_supported_applepay(merchant_connector_account.get_metadata()); |
crates/router/src/core/payments.rs
Outdated
| let support_predecrypted_token = | ||
| is_predecrypted_flow_supported_googlepay(merchant_connector_account.get_metadata()); |
There was a problem hiding this comment.
This can be moved inside common_payments_types::ApplePayPaymentData::Decrypted match arm
There was a problem hiding this comment.
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.
crates/hyperswitch_connectors/src/connectors/braintree/transformers.rs
Outdated
Show resolved
Hide resolved
…rmers.rs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…lepaypredecrypt
crates/router/src/core/admin.rs
Outdated
| let connector_metadata = ConnectorMetadata { | ||
| connector_metadata: &req.metadata, | ||
| }; | ||
| connector_metadata.validate_apple_pay_certificates_in_mca_metadata()?; |
There was a problem hiding this comment.
Won't this be a breaking change ?
Also, I think this validation is for the legacy apple pay flow. Can you once verify that ?
There was a problem hiding this comment.
This check is present in create mca and needs to be in update connector also. This was recommended by you only.
There was a problem hiding this comment.
Removed the validation
ShankarSinghC
left a comment
There was a problem hiding this comment.
Please verify this comment
928096a
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>
|
Connectors supporting Predecrypted flow Applepay
Connectors supporting Predecrypted flow Googlepay
|
Type of Change
Description
CONTEXT
We have the following flows for applepay
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 hereSimplified flow: user generates applepay token using Hyperswitch certificates. Since the complete creds are present we can use decryption also in this flow-----------------NOTE-------------
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
metadata.applepay_combined.support_predecrypted_token= truemetadata.google_pay.support_predecrypted_token= trueb. 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
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
googlepay payment req
res which gives err
{ "error": { "type": "invalid_request", "message": "Predecrypted token config is not enabled for GooglePay", "code": "IR_16" } }applepay
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
{ "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 .............} } } }{ "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
cargo +nightly fmt --allcargo clippy