feat(connector): Stripe revolut pay wallet integration#8066
Merged
likhinbopanna merged 78 commits intojuspay:mainfrom May 27, 2025
Merged
feat(connector): Stripe revolut pay wallet integration#8066likhinbopanna merged 78 commits intojuspay:mainfrom
likhinbopanna merged 78 commits intojuspay:mainfrom
Conversation
…y/hyperswitch into stripe_revolut_pay
2 tasks
…ipe_revolut_pay
deepanshu-iiitu
previously approved these changes
May 19, 2025
ShankarSinghC
previously approved these changes
May 21, 2025
5476406
deepanshu-iiitu
approved these changes
May 26, 2025
ShankarSinghC
approved these changes
May 26, 2025
pixincreate
added a commit
that referenced
this pull request
May 30, 2025
…ordea-sepa * 'main' of github.com:juspay/hyperswitch: (30 commits) chore(version): 2025.05.30.0 chore(ci): update postman ci credentials (#8172) chore(docs): remove old add_connector.md file (#8143) refactor: Payment Attempt as mandatory field in PaymentStatusData (#8126) fix(payment_link): sanitize embedded payment link data (#7736) chore(version): 2025.05.29.0 feat(analytics): Add ckh columns for 3ds intelligence analytics (#8136) refactor(debit_routing): Handle missing merchant_business_country by defaulting to US (#8141) chore(version): 2025.05.28.0 refactor(success_based): add support for exploration (#8158) feat(dynamic_routing): add get api for dynamic routing volume split (#8114) fix: incorrect payout_method_id in payouts table (#8107) feat(router): Enable client_secret auth for payments_get_intent [v2] (#8119) chore: address Rust 1.87.0 clippy lints (#8130) feat: list for dynamic routing (#8111) ci(cypress): fix mandates unsupported connectors (#8086) feat(connector): [Barclaycard] Implement Cards - Non 3DS flow (#8068) fix(authentication): add Organization context validation in `Merchant Create` and `Merchant List` APIs (#8103) feat(connector): [Worldpayxml] add card payment (#8076) feat(connector): Stripe revolut pay wallet integration (#8066) ...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Type of Change
Description
Implement
revolut_payfor stripeAdditional Changes
Docs: https://docs.stripe.com/payments/revolut-pay
API: https://docs.stripe.com/api/payment_methods/create?api-version=2025-04-30.basil
How did you test it?
{ "id": "pi_3ROxvwB97BExDDPT0dHsgo6t", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, "amount_details": { "tip": {} }, "amount_received": 0, "application": null, "application_fee_amount": null, "automatic_payment_methods": null, "canceled_at": null, "cancellation_reason": null, "capture_method": "automatic_async", "client_secret": "***", "confirmation_method": "automatic", "created": 1747300712, "currency": "gbp", "customer": null, "description": null, "last_payment_error": null, "latest_charge": null, "livemode": false, "metadata": {}, "next_action": { "redirect_to_url": { "return_url": "https://www.google.com", "url": "https://pm-redirects.stripe.com/authorize/acct_1ROdpBB97BExDDPT/pa_nonce_SJb8ufPcGprPwuS2U43cjPBc7Suv5EM" }, "type": "redirect_to_url" }, "on_behalf_of": null, "payment_method": "pm_1ROxvwB97BExDDPTQZMvJtAv", "payment_method_configuration_details": null, "payment_method_options": { "revolut_pay": {} }, "payment_method_types": [ "revolut_pay" ], "processing": null, "receipt_email": null, "review": null, "setup_future_usage": null, "shipping": null, "source": null, "statement_descriptor": null, "statement_descriptor_suffix": null, "status": "requires_action", "transfer_data": null, "transfer_group": null }{ "id": "pi_3ROxvwB97BExDDPT0dHsgo6t", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, "amount_details": { "tip": {} }, "amount_received": 1000, "application": null, "application_fee_amount": null, "automatic_payment_methods": null, "canceled_at": null, "cancellation_reason": null, "capture_method": "automatic_async", "client_secret": "pi_3ROxvwB97BExDDPT0dHsgo6t_secret_CkX00D5AVYktG9OOiS2QaSFH9", "confirmation_method": "automatic", "created": 1747300712, "currency": "gbp", "customer": null, "description": null, "last_payment_error": null, "latest_charge": "py_3ROxvwB97BExDDPT0ZAud2QG", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, "payment_method": "pm_1ROxvwB97BExDDPTQZMvJtAv", "payment_method_configuration_details": null, "payment_method_options": { "revolut_pay": {} }, "payment_method_types": [ "revolut_pay" ], "processing": null, "receipt_email": null, "review": null, "setup_future_usage": null, "shipping": null, "source": null, "statement_descriptor": null, "statement_descriptor_suffix": null, "status": "succeeded", "transfer_data": null, "transfer_group": null }Similarly in hyperswitch
response
{ "payment_id": "pay_bmOvXjRBZfqUvyQP8fus", "merchant_id": "merchant_1747377561", "status": "requires_customer_action", "amount": 111, "net_amount": 111, "shipping_cost": null, "amount_capturable": 111, "amount_received": 0, "connector": "stripe", "client_secret": "pay_bmOvXjRBZfqUvyQP8fus_secret_nKIT1jegspBnMg1eufRO", "created": "2025-05-16T07:26:35.752Z", "currency": "GBP", "customer_id": null, "customer": 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": "manual", "payment_method": "wallet", "payment_method_data": { "wallet": {}, "billing": null }, "payment_token": null, "shipping": null, "billing": null, "order_details": null, "email": null, "name": null, "phone": null, "return_url": null, "authentication_type": "no_three_ds", "statement_descriptor_name": null, "statement_descriptor_suffix": null, "next_action": { "type": "redirect_to_url", "redirect_to_url": "http://localhost:8080/payments/redirect/pay_bmOvXjRBZfqUvyQP8fus/merchant_1747377561/pay_bmOvXjRBZfqUvyQP8fus_1" }, "cancellation_reason": null, "error_code": null, "error_message": null, "unified_code": null, "unified_message": null, "payment_experience": null, "payment_method_type": "revolut_pay", "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": "pi_3RPIfAB97BExDDPT1XSgQ3ql", "frm_message": null, "metadata": null, "connector_metadata": null, "feature_metadata": null, "reference_id": "pi_3RPIfAB97BExDDPT1XSgQ3ql", "payment_link": null, "profile_id": "pro_Et1v5W5jHI8bM4MZJqZc", "surcharge_details": null, "attempt_count": 1, "merchant_decision": null, "merchant_connector_id": "mca_lKADRn7MC7urVbXp5MM5", "incremental_authorization_allowed": null, "authorization_count": null, "incremental_authorizations": null, "external_authentication_details": null, "external_3ds_authentication_attempted": false, "expires_on": "2025-05-16T07:41:35.752Z", "fingerprint": null, "browser_info": null, "payment_method_id": null, "payment_method_status": null, "updated": "2025-05-16T07:26:37.003Z", "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 }response
{ "payment_id": "pay_bmOvXjRBZfqUvyQP8fus", "merchant_id": "merchant_1747377561", "status": "succeeded", "amount": 111, "net_amount": 111, "shipping_cost": null, "amount_capturable": 0, "amount_received": 111, "connector": "stripe", "client_secret": "pay_OkUFkYRuaAj1NOlCLjBp_secret_UHeMixoT9PNRpNVtMrci", "created": "2025-05-16T07:34:43.017Z", "currency": "GBP", "customer_id": null, "customer": 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": "manual", "payment_method": "wallet", "payment_method_data": { "wallet": {}, "billing": null }, "payment_token": null, "shipping": null, "billing": null, "order_details": null, "email": null, "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": "revolut_pay", "connector_label": null, "business_country": null, "business_label": "default", "business_sub_label": null, "allowed_payment_method_types": null, "ephemeral_key": null, "manual_retry_allowed": false, "connector_transaction_id": "pi_3RPIn2B97BExDDPT1XFiD5Sp", "frm_message": null, "metadata": null, "connector_metadata": null, "feature_metadata": null, "reference_id": "pi_3RPIn2B97BExDDPT1XFiD5Sp", "payment_link": null, "profile_id": "pro_Et1v5W5jHI8bM4MZJqZc", "surcharge_details": null, "attempt_count": 1, "merchant_decision": null, "merchant_connector_id": "mca_lKADRn7MC7urVbXp5MM5", "incremental_authorization_allowed": null, "authorization_count": null, "incremental_authorizations": null, "external_authentication_details": null, "external_3ds_authentication_attempted": false, "expires_on": "2025-05-16T07:49:43.017Z", "fingerprint": null, "browser_info": null, "payment_method_id": null, "payment_method_status": null, "updated": "2025-05-16T07:34:58.228Z", "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 }EUR,GBPChecklist
cargo +nightly fmt --allcargo clippy